Skip to main content

Build Personal Knowledge Base with Obsidian

·978 words·5 mins· loading · loading ·
Obsidian PKM

Intro
#

As a developer and part-time researcher, you’re constantly immersed in a sea of technical posts and academic papers. To stay afloat and thrive, taking notes is essential for organizing your thoughts and maintaining a knowledge base that spans software development (e.g., code snippets, cheat sheets, technical implementation, and academic papers) and your personal life (e.g., recipes and language learning).

Obsidian is your trusty ally, offering a powerful knowledge base built on local Markdown files. Familiar to developers,  Markdown is a versatile markup language designed for creating elegantly formatted text in documents and README files. Its simplicity makes it a valuable tool for crafting posts and blogs. To maximize Obsidian’s potential, many users adopt the Zettelkasten method to construct their knowledge base, leveraging its internal linking capabilities. If you’re curious about this approach, check out  David’s insightful post.

In this guide, we’ll provide a snapshot of how Obsidian can transform your personal and professional note-taking experience. Let’s dive in!

Basic Usage
#

Vault Structure
#

I used to use folder to organize my notes before I started Obsidian. Currently, I use tags and links to make connections between notes.  Here is a forum post about the guide on using tags and links. No longer just a pool of notes, folders take on new life as functional categories in Obsidian. For example, 000 Inbox includes all posts I’m going to read and check and 200 Technical/02 Sources includes all posts or notes I already read.

- images
- Templates
- 000 Inbox
- 100 Life
- 200 Techincal
	- 00 MOCs
	- 01 DailyNotes
	- 02 Sources

The path of drag-and-drop images can be set in Files & Links in the settings.

Tags
#

I use tags to mark the type of note, e.g., #📥/📰 stands for online post that doesn’t read yet and once I finish the reading of the post I will change the type to #📰 . I also use Evergreen Note status to track each note.

#### Common
#daily 
#Important 

#### Type
#📥: Inbox
#📄: paper
#📕: book
#📰: blog or post
#🖥️: codebase
#🔧: tool
#📹: video
#⚙️: code snippet

#### Evergreen Note
#🌱: Seeding note
#☀️: Incubation note
#🌲: Evergreen note

Links #

Links are important idea in software like Obsidian. With links various ideas can easily aggregate in the graph. The links can be use to build Map of Contents (MOCs), which is a meta note or similar to ‘folder’ of notes with specific topic. With the help of  dataview, you can easily gather each topics.

Here is an example of how I use link, if I get a post titled ‘unity-clean-code’, I will links the note with [[Unity]], [[Architecture]], [[Csharp]]. These links will be aggregate when I create Unity MOC and Csharp MOC.

title: unity-clean-code
topics: [[Unity]], [[Architecture]], [[Csharp]]

Template
#

Templates are useful for quickly set up note, such as daily note and specific type of note. Here is my template for technical post. To max the power of template, you can also install  community plugin. You can use the common palette or Ctrl+P and type template to quick insert tempate into your new note.

---
tags : []
date : {{date}}/{{time}}
aliases : []
rating :
---
# Metadata
**Status** :: #🌱
**Type** :: #📥/📰
**Source URL** :: 
**Authors** ::
**Topics** :: 

---
# {{title}}
# Highlight
# Reference
# Notes

Metadata for the note
#

  • Status: evergreen note status, change with my reading status

  • Type: mark for the data source of the note

  • Source URL: source of the post or book

  • Author: author of the post or book

  • Topic: topic links of the note as I mentioned in the Links.

  • Set up of templates folder path

  • Use command palette to quickly insert template

Daily Note
#

People may have their own daily note template to meet their needs. Instead of taking note by time (e.g., 9:00 a.m. I read a post about Unity architecture), I organize my daily note by topics. I also add a ‘Update Check List’ section to keep track of website I want to check for update.

---
tags: [daily]
---
**Topics** :: 
**Tags** :: #daily 

---
# Specific Topic
---
# Survey
---
# Update Check List
## Unity
- [Yucchiy's Note](https://blog.yucchiy.com/)
---
#TODO

Community Plugins
#

Thanks to the community, there are a lot of useful plugins created by excellent developers.

Obsidian git
#

Because Obsidian only works on local system, you will need to use git plugin or cloud storage to backup or sync your vault.

Connect with iOS device
#

Sometime I will take note on my iPad. Some additional settings are needed to make this knowledge base be more portable.  Here is a tutorial on how to sync Obsidian with github and workspace on iOS device.

Dataview
#

Dataview is the most useful plugin in Obsidian to query and aggregate notes. Here is my example usage of dataview for Unity MOC.

```dataview
TABLE status, file.mtime, Type, rating
from [[Unity]] AND -#daily
SORT rating desc, Type, file.mtime
```
  • This script aggregate my notes includes [[Unity]] and not includes #daily with some sorting conditions.

Other useful community plugins
#

Outro
#

Although I’ve been using Obsidian as my personal knowledge base for just three months, I’m continually exploring its vast array of features to construct my very own second brain. In this post, I’ve only described a selection of my personal experiences and use cases. I firmly believe that by giving Obsidian a try, you too can unlock its potential and tailor it to your needs, reaping the benefits this powerful tool has to offer. So, dive in and start crafting your unique Obsidian journey today!