I was getting a little tired of the standard Sublime Text 3 Jekyll Plugin because it automatically populated the YAML header with stuff I never use. So I wrote a quick and dirty plugin:
When using the Zettelkasten Method to organize my notes, I have found it important that each note file contains only a single idea.1 I try to take this single thought and articulate it in as clearly as possible. This may take anywhere from 50 to 500 words. After I have spelled out the single idea I now have a mental hook that I can attach other ideas and pieces of information to—and this becomes more useful the more specific the hook. For instance, suppose I kept all my thoughts about Plato in a single file. Whenever I want to connect a thought to this information I would add a link:
[[Plato]]. But this link could refer to anything within my Plato research. As it stands, however, I have split my research into bits as fine as possible while still maintaining the intergrity and coherence of the ideas. The specific thought that Plato’s account of tripartition in the Republic arises out of a need to explain internal motivational conflict goes into a single file. In other notes I can refer to this specific thought with a link:
[[Plato - Tripartition - Internal Conflict]].
This also gives me a way to manage my references to secondary literature. As I’m reading Lloyd Gerson’s article “A Note on Tripartition and Immortality in Plato,” I find that he talks about this subject on pages 85 and 86.2 So I add a brief quote and a few comments to the bottom of a section labeled “References” in the note. If I had not split up my notes on Plato into fine- grained topics, I would have trouble knowing where to put this information and I would have more trouble finding it again when I need to know what Gerson says about this specific topic. The “References” section in the note is already populated by several other references to secondary literature. This way, when I go to write the paragraph in Chapter 4 of my dissertation that deals with the link between tripartition and motivational conflict I have already prepared both my own position and a list of references to my sources.
I have just created a syntax definition for Sublime Text 3 that slightly extends the wonderful Academic Markdown, which is itself an extension of Markdown Editing. All that I have added is a definition for my own wiki-style links. As an example, the link syntax looks like this:
[[Philebus - Four Kinds]]. With the color scheme that comes with Academic Markdown this gives the links a nice blue:
The whole thing is rather long, so I’ll just provide a link to the gist. Save this as a file in your Sublime Text
User folder and you should be able to set this as the default syntax for all files with the
.md extension (or whatever you use).
After a few tweaks, I’m glad to see that Shawn Graham has my Zettelkasten set-up running in Sublime for OSX. Check out his post here.
Shawn Graham just put up a nice post over at Electric Archaeology, in which he impliments some of my Skim–Markdown scripts. If you have had any trouble with those scripts I suggest looking at his post since he explains in more detail a few things I didn’t.
(By the way: PDFtk does run on OSX as a command-line tool called PDFtk Server; the GUI is Windows only. I use this in the apple script just to pull out PDF bookmarks, which I use for chapters in books, and make these headers in the resulting markdown —very useful organization for 300 pages of notes. As Shawn mentions, the script runs fine without this, however.)
While writing my dissertation I was getting tired of coming up with reference names for my markdown footnotes. Further, since the project is getting big and spans multiple files I wanted to have a good way to ensure that I never used the same reference twice. So I created a quick and dirty plugin this morning that stores the last footnote number in a global settings file. In order to keep all the footnote references to just two characters, it keeps this number in a custom base-62 format that uses digits, uppercase letters, and lowercase letters.1 When I press
ctrl+alt+f it will: (i) iterate this number and update the settings file, (ii) insert a new footnote reference at the current cursor position (looks like
[^aY]), and creates the footnote just after the current paragraph with the cursor in position to start typing the footnote.
Here it is in a Gist:
In the last post I talked about the general idea of the Zettelkasten method for taking notes. In this post I will outline how I implement that method in Sublime Text. First, I should say that I write everything in markdown, so I won’t be going into all the general markdown tools for Sublime Text. I’ll do this in a later post.
All of my notes are in a single folder with one zettel per file. I have saved a Sublime Text project with only this folder in it as
Notes. This means that I can press
ctrl+alt+p and type
N, O, Enter and be in my notes project from anywhere. This will bring up any open tabs and the window arrangement from the last time I was in my notes project. From here, I can press
ctrl+p and begin typing the title of any note and I will get a fuzzy-filtered list of notes. This means that I can go from working on my dissertation to a very specific note in less than ten key strokes.
Each file name describes the topic in the note. For example:
Principle of Alternate Possibilities.md. When I want to split up a note that is getting too big, I create new notes that branch off the parent note by adding a hyphen to the original name. For instance
Plato - Psyche.md is a child of
Plato.md. This could, in principle, go as many layers deep as I like, but I prefer to keep the hierarchy as flat as possible. It is often better to add a new top-level note with a more specific title like
Frankfurt-Style Counterexamples.md. Here is a sample of what the contents of a note look like:
You will notice that I have surrounded some text in double brackets like this:
[[Free Will Thesis]]. These are standard wiki-style links to other notes in the folder. This is not standard markdown, so I wrote a quick and dirty plugin to make these links work in Sublime Text. You can get the plugin on GitHub Here. It does two things: (i) whenever I type
[[, it brings up a filterable list of all my notes and auto-completes the links so that I never misspell them (pressing escape drops you back to the original
[[); and (ii) when the cursor is inside of a link, pressing
ctrl+enter will follow the link to the desired note or create a new file with the appropriate name if the note does not exist yet. To get this last part to work I needed to install the Bracketeer plugin.
Since classes have let out, I finally have a little more time to continue posts on my method of taking notes. Several friends have asked me about my methods in the last few weeks and I was able to point them to my posts on paper note taking (Two Goals and Notebook Annotation), but not the specifics of my computer system.
In this post I will simply summarize the concept of the zettelkasten method as I understand it. In the next post, I will detail my implementation of the method in Sublime Text.
A few years back I took a Saturday and read every single post in the archives of the excellent Taking Note blog. The author of this blog is partial to the system created by sociologist Niklas Luhmann which you can read about in detail in this post.
Luhmann’s system uses index cards (German=zettel) in a slip box (German=kasten). Each new card receives a unique number that other cards can reference. The specifics of Luhmann’s system don’t matter much in the world of computer notes, but a few architectural points do matter whatever medium you use:
- The notes are organized topically rather than chronologically or by association with a document (as in marginal notes).
- The size of the cards encourages one idea per note. Thus cross referencing is rather fine grained. Further, when working with the notes for a writing project, one can deal with small, manageable chunks rather than, say, all my notes on Plato.
- His numbering system allows for branching. Thus parent notes can have children, allowing for some degree of hierarchical organization.
- A new idea can simply receive a new number in sequence, allowing notes to easily break free from a strict, preconceived hierarchical organization.
- The act of linking between notes is explicit through manually written cross-reference. This makes note association intentional in contrast to word usage associations in (e.g.) DevonThink or the use of tags.
All of these features combine into one big feature that I care most about: with the zettelkasten method I can actually use my notes. Right now I have 484 files (zettels) in my notes folder. Some of these are long, some short, and some more than three years old. Yet I can actually find all the notes I need, associate one note with another rapidly, and use these notes in the process of writing my dissertation.
This happens because the zettelkasten method strikes a balance between order and freedom. On the one hand, we can imagine a note system with no organization. Just write whatever comes into your head in a single stream. These notes will rapidly become useless because the stuff you want is mixed in with all the cruft. On the other hand, we can imagine a note system that rigidly orders notes, tags their contents, forces a certain title style, sorts each note into one of sixteen categories, requires a template that must be filled out before a note can be created, and will not let you write down any thoughts until you have done your push-ups for the day. This system is useless already simply because it will never be used. The zettelkasten method gets it just right. I can create a note rapidly yet just as rapidly find that note again when I need it in usable form for writing.
The essence of a thing is what the thing is said to be in its own right. For being you is not the same as being a musician, since you are not a musician in your own right; hence your essence is what you are in your own right. (Metaphysics Ζ.4)1
This is a strange departure from Aristotle’s normal litany of examples: Socrates, horse, cloak, pale, white etc. I don’t think much rides on it, but why choose to switch to the second person here?
Trans. Terence Irwin and Gail Fine in Readings in Ancient Greek Philosophy (Hackett, 2005).↩
[The true Christian] must firmly refuse to let himself be dragged into a whirlpool of activities in which he is driven incessantly from one task to another, purpose succeeding purpose, without a pause. The present period of perpetual unrest, in which the machine has come to be the model, the causa expemplaris, of well-nigh all things, in which everything is caught in a process of instrumentalization, in which Leistung (“achievement”) with the emphasis on quantity and mere technical perfection, has assumed priority over being in a substantial and meaningful sense—this period of shallow hyperactivity is only too apt to drag us into that whirlpool of outward preoccupations.1
Dietrich von Hildebrand, Transformation in Christ (Sophia Institute Press, 1990), 138. ↩