HTML notes
January 14th, 2010 at 11:12 pm by Dr. Drang
Every once in a while, I spend a little time Googling to see if someone has made a personal wiki system—or any wiki system, really—that will work better for my project notes than the home-grown system I developed a couple of years ago. When I took one of those trips around the internet last week, I returned, as always, empty handed and with a growing sense that I was never going to find what I was looking for. So I’ve decided to put a little effort into my existing system and make it easier to use.

I wrote about this note-taking system, a serverless wiki, in a series of three posts back in 2008. The first of those posts described what I wanted out of the system, and the latter two posts went into how I use it and some details of the programming. At the risk of being repetitive, this is what I want in a personal wiki:
- A self-contained file or folder of files that includes everything needed to write and view the notes. I want it to be easy to copy from one computer to another and to archive to DVD.
- The notes themselves to be written in Markdown. I write everything in Markdown and don’t want to change.
- To write my notes in my text editor of choice. Currently, that editor is TextMate, but TextMate itself isn’t the point. The point is to take advantage of the comfort I feel working in my normal editor.
- To be able to change the visual style of the notes as my needs or tastes change.
- To create new notes quickly and easily.
Were it not for Items 2 and 3, I’d be using VoodooPad. Were it not for Items 3 and 4 (and a small incompatibility with Safari), I’d be using TiddlyWiki or one of its offshoots. But I’m not interested in compromising on these things, so it looks like I’ll be sticking with my self-made system. Which works, but could use some polish and a new feature or two.
To that end, I did a little code cleanup, put it under revision control, and set up a repository for it on GitHub in anticipation of making some improvements over the next few weeks. I want to:
- Add a hierarchical structure to the notes so they can be categorized within a project. A flat structure is fine for many projects, but I’ve found that the notes for bigger projects start getting cluttered and hard to manage without the ability to gather notes into subfolders.
- Create a TextMate bundle to automate common actions, like making a new note from an internal link. This may need to be in a separate repository.
In addition, I may change the build system that drives the conversion of notes from Markdown (for writing) to HTML. Currently, I’m using make, which has the advantage of ubiquity, but which also has a clumsy syntax that I’ve never felt confident in using. I know there are several alternatives, but I don’t know enough about them yet to choose among them.
I probably won’t write any more about it until I think these improvements are complete, but you can follow the repository if you want to track my progress.





April 30th, 2010 at 8:29 am
Well, drawn in by your mechanics stuff I stumbled on this. I build exactly the same thing around 18 month ago, using python, pymarkdown and mercurial. Folder structure of markdown files converted into html using MD. Instead of using Make, I just wrote a Makefile equivalent in plain python.
I also have a trivial bash script that is aliased to “n”, which adds notes typed in the command line (cat’ed) to a misc. notes folder, or if an argument is given, to a file of that name.
It takes all of three key presses to open up a terminal and start taking notes from anywhere, and a cron job runs every five minutes to convert into html.
You’re not alone! There’s a definite need for something clean and simple like this. I’m willing to bet that with some metadata a la MMD, you’d even be able to wrangle a blog engine out of it.
April 30th, 2010 at 11:07 am
brice, is your stuff posted anywhere? I’d love to take a look at it.