- SPB stands for Single Page Book. It aims at unifying books,
mind-maps, cheat-sheet contents creation in a single web page
that can be created and updated "a la Zettelkasten"
in order to keep notes organized and improving throughout years/decades.
As an indirect (not initially planned) consequence, it also provides for
a light-weight alternative to Content Management Systems (WordPress, Confluence, Plone,
Sharepoint, ...) and Project tracking systems ("Jira", "Bugzilla", ...).
- SPB offers a pragmatical replacement for "heavy-weight"
Content Management Systems running on complex server setups,
by using just pure HTML/CSS consumed by web-browsers running
on a laptop or mobile.
- Content data is moved from "always online" databases
to plain safe HTML files easy to manage and backup without
complex IT administration skills.
- Extra information about How SPB compares with some other content
publication and management tools can be read here.
SPB promotes a "best-patterns" approach to Documentation by:
- ✓ Putting related info close to each other.
- ✓ Don't repeat twice.
- ✓ Use your hard disk to save classified information, not documents:
Don't keep information spread ("hidden" or "lost") amongst hundred of emails,
posts, chats, words, custom databases, excels and binary files of
random nature. Internet standard Hypertext Markup Language (HTML) and a
text editor (notepad, ultraedit, vim,...) is all you need.
- ✓ Avoid using (expensive and complex to setup and maintain) search engines
to find for lost information:
With SPS information is never lost!!!.
(Remember: Take control of the information before
the information takes control of you!)
- ✓ Don't use proprietary formats for important documentation:
HTML will be well supported in any electronic platform and by many
different working groups for always, proprietary formats will not.
- Advanced notebooks
- Cheat-sheets with steroids.
- "Ever growing" mind-maps (make them evolve the way your brain like it).
- Brain-to-brain synchronization: make multiple brains work like a team.
- Project management, canvas and issue-track management.
- "Light" weight database.
- (add your own here)
- Install a light-weight web (HTML) server on your PC.
An simple way is to download
and install python 3. Then from the terminal (Linux/Mac) or the command
prompt (Windows) execute next 3 commands and press Enter key( ⏎ ) to confirm.
Command to execute: Explanation
C:\users\myUser > mkdir project01⏎ ←···· [m]a[k]e (or create) new [dir]ectory
where the page will be stored
C:\users\myUser > cd project01⏎ ←···· [c]hange [d]irectory
C:\users\myUser > python3 -m http.server⏎ ← Execute safe web server pointing
(only our computer will be able to
access the content server)
- Copy next files to the directory where pages will be placed:
Rename map_template.html to provide a sensible name. All others files just need to be
downloaded once. They will be reused again and again.
to user actions.
"map_v1.css" contains the Cascading Style Sheets to "beautify" the content.
"custom.js" allows advanced customization. Just leave it next to the other files
- Point your browser to http://localhost:8000 and
click in you renamed template html file.
Note that localhost is an special safe and private address pointing to your local computer.
Nobody outside your computer can access it.
More info [here].
- Congratulations! You are done. Now it's time to add notes by just adding some html blocks
Reload your web page to see the results. Play around until you feel comfortable
and get ready to take control of your information Forever!!!.
- ✓ No coding skills needed, just familiarity with HTML.
- ✓ Navigate notes "a la Google maps" by zooming in/out, or
"a la Zettlekasten way" by showing related notes by topic and/or direct-link.
(rollbacks, pull requests, versioning, branching, ...)
- ✓ Print to paper support:
print-paper CSS support, useful for first-lectures (start-to-end) of content
Ex: Two views of the same content:
- Map: https://singlepagebookproject.github.io/IT_notes/Blockchain/ethereum_map.html
- book: http://www.oficina24x7.com/Blockchain/ethereum_map.pdf
- ✓ All information available one click away, and related pages can be
displayed close to each other.
- ✓ save searches/sub-books classified by by-topic/text as URL bookmarks.
- ✓ Quick classification/search/heat-map using topics.
- ✓ Designed to avoid the dangerous "UNKNOWN UNKNOWNS":
SPB is designed to show all related information as close as possible to
each other as to avoid missing unknown-unknowns.
As an example, this is how Google presents QA (Quality Assurance) when
JAVA QA related results and this is how SPB presents the same
JAVA QA related results.
Even if Google has access to millions of different pages, it tends to
be biased toward just an very small subset of content. In particular,
that related to automated acceptance tests.
This probably explain why Java newbies guided by Google results tend to
do buggy JAVA applications and, since Google page-rank favors most linked
pages the biased search mechanism feeds ad infinitum.
SPB JAVA notes, manually collected& classified throughout the time,
will always present all QA related information with no bias.
There are no reasons to suppose that automated testing is less or
more important than other QA topics related to async.programming, internal
data collection management or persistence tools. By presenting them all
in parallel we decrease the danger of unknown-unknowns.
- ✓ Easy backup: Copy your files somewhere else, attach to an e-mail, That's all!!!
- ✓ Offline navigation.
Gallery of SPB Books
- Predefined documentation topics (TODO, draft, important, review,
1min/10min/... lecture time,...)
- minimal WYSIWYG support for newcomers.
- Enhanced support for topics providing best pattern to taxonomy
- Allow to reuse third party ontologies already developed
by experts to classify content.
- Better support for diagrams using Mermaid.
- Advanced "nearby" algorithms to search for related content.
Planned (far) Features
- IA help system to automatically tag notes by topics.
- This is a hobby project with zero commercial support.
- If you are interested on its development don't forget to star it on Github
or contribute with pull-requests or bug-reports.