For many years now I was looking for a good note-taking application to augment my day to day work as a software developer.
Most of my notes are commands, code snippets, analysis text and links. Not many media I use in notes. I am a guy would like all things to be in order, so naturally, I would expect my notes also to be in order.
Over a period of time, I have experimented with a bunch of applications and only three stood out as a viable alternative, plain text files, EverNote and office notes.
I liked the simplicity of plain text, easy to edit copy paste and lightweightto manage. I also liked the option to enable syntax highlighting options from text file applications like notepad++ or vim. Code and section folding can be achieved with some hacks like using predefined marker feature of vim. On the downside, I miss the formatting, tables, searches and navigation (jump between sections).
In Evernote, I liked its simplicity and non-intrusive UX design. I liked the search option and formatting features. Best thing I liked is that I could keep things organized or unorganized and I could always find it when I want. On the downside, since I copy paste lots of code, formatting and syntax highlighting was an issue. And code or section folding options were missing.
With Office Note, I found the feature set is much better than the above, it has good formatting and organization capabilities. Code or section foldingis possible although it takes a bit of effort to get used to the shortcuts. On the downside, the UX feels bit heavy duty. This app makes sense for those to takes notes most part of the day but not for simple scribblesover the day here and there.
Anyways, more or less I settled with Office Note and text files for my note taking needed until recently. Past few months I switched to Sublime Text as my primary text application and I was exploring various features and plugins Sublime Text provides.
Recently I stumbled upon “markdown”.
Markdown isa lightweight markup language with plain text formatting syntax. It is designed so that it can be converted to HTML and many other formats using a tool by the same name. Markdown is often used to format readme files, for writing messages in online discussion forums, and to create rich text using a plain text editor. (source)
What made things more interesting is that Sublime had few nifty plugins that make markdown editing quick, organized and navigatable. Following are theplugins I use for my notebook.
MarkdownEditing — Powerful Markdown package for Sublime Text with better syntax understanding and good colour schemes. It formats the notes inline based on markdown syntax. Good for organizing notes and navigating notes. The symbol lookup (Ctl+r and Ctrl+Shift+r) lists titles as symbols and easy to navigate across the same note or other notes in the project.
Markdown Extended — Adds syntax highlighting for many programming languages not included in the previous plugin.
Monokai Extended-A much better sublime colour scheme for markdown syntax.
SublimeTableEditor — Enables maintaining formatted table much easier. Even though the plug is no longer supported by the developer it still serves its purpose well.
If one is a bit more obsesses with markdown than editor per say, can checkout Typora. It is very good in rendering markdown inline with decent basic features. It can also show call flows images inline with a note. It lacks the editing shortcuts, tab views and symbol lookup from the Sublime text.