I mention in the homepage that the contents are being manage via Obsidian. I just want to share here my very simple setup that works for me, that might also interest you.

Back then, I was in this quest of finding the best workflow setup, especially in note-taking and software development. I discovered several methods for PKMs like PARA and Zettelkasten. The one that I incorporate in my current setup is the latter because of its two main principles:

  • Atomicity. Each note focuses only to a single idea or a concept that makes it atomic.
  • Connectivity. Basically cross-referencing notes.

There’s more to do when setting up Zettelkasten if you really want to be faithful with its process, but I only adapted those two principles to my setup. I don’t have the “inbox, archive, reference” structure that the system proposes.

Requirements

Addition to the mention Zettelkasten principles, here’s the only thing I want my setup to be:

  • Fast. I can create, write, and find notes quickly. One keystroke. Vim motions FTW.
  • Notes are locally-stored. I don’t want my notes stored in somebody else’s computer.

For me, Obsidian is the best tool to achieve that because:

  • My notes are just markdown files that are locally stored in my machine that any text editor can read.
  • The workflow when using Obsidian literally revolves around the idea of interconnected notes, where you link related notes like Wikipedia using wikilinks. It even provides you a visualized graph of your interconnected notes like a neural network. The network grows overtime when you continously learn by taking notes, like a brain when learning something new. A node in the graph also grows bigger when there’s a lot of notes connected to it.
  • It supports Vim motions, which in my opinion should be at least an option in every known text editor software, even Microsoft Office Suite.
  • I can search files based on tags; I can find files with Ctrl+O. Simple.
  • Ctrl+N + automated templater is enough to make new notes. I’ll explain this later.

Setup

I only have the following categories:

  • Articles. A long-form content that sums up my understanding of a certain topic that I’m exploring.
  • Concepts. Most of the time the notes here are just definitions (in my own words) of keywords or terms.
  • Guides. There are numerous times that I find myself constantly searching the solution to problems that I usually encounter in my machine or just about anything. Now I make sure to put all of those in this folder.
  • Notes. Where all notes belong. Each note focuses on single idea or piece of information. If I think that a note might be related to another note, I will link them together.

Every note contains the following metadata or properties:

  • Title
  • Creation date
  • Tags
  • Draft (either true or false)

I have a base file (it’s private, not published in this site) that tracks all of notes that have their draft property set to true.

When creating notes, I use Templater plugin plus a note template that contains the following script:

<%*
tp.hooks.on_all_templates_executed(async () => {
	const file = tp.file.find_tfile(tp.file.path(true));
 
	const title = await tp.system.prompt("Title");
	const category = await tp.system.suggester(["note", "article", "guide", "concept"], ["note", "article", "guide", "concept"], true, "Category");
	const tags = await tp.system.prompt("Tags (separate with comma)");
	
	await tp.app.fileManager.processFrontMatter(file, async (frontmatter) => {
		frontmatter["tags"] = [category, ...tags.split(",")];
		frontmatter["title"] = title;
		frontmatter["date"] = tp.file.creation_date("YYYY-MM-DD");
		frontmatter["draft"] = true;
	})
	
	await tp.file.move(`/${category}s/${title}`)
})
%>

My Ctrl+N is binded to Create new note from template action provided by Templater. The flow goes like this:

  • I select that note template
  • The script prompts you for the note title, category, and tags
  • Then it automatically moves your note based on your selected category to their respective folder.

For Obsidian plugins, I only have four installed together with Templater plugin:

  • Paste image rename - The plugin basically just prompts you for a filename before pasting the image. By default, Obsidian puts the image you pasted in either your vault’s root folder or in a certain folder that you set as your attachments folder in settings. I just don’t prefer that the image filename is something like Pasted image {random number}.png.
  • Style Settings - Additional styling settings for your installed themes (I use Things)
  • Vimrc Support - I use Vim motions when editing, but by default, the copied text is not being stored in the system clipboard. This plugin allows me to fix that.

To sum it up

I only have three steps to do when taking notes:

  • Open Obsidian
  • Write stuff
  • Sync vault to my git repository

All I have to do take notes for a while and the interconnected web of notes will grow overtime. Four plugins is enough. Less keystrokes is enough. Everything just works.