Personal Knowledge Management


Obsidian is "A second brain1, for you, forever. Obsidian is a powerful knowledge base on top of a local folder of plain text Markdown files."

I started using Obsidian in early 2021—my first daily note is 2021-02-16-Tue.


  • ⌘+Enter - check off list
  • ⌘+⇧+Enter = Command+Shift+Enter = Tasks: Create or Edit Task
  • ⌥+⌘+Enter = Option+Command+Enter = Open Link in new pane
  • ⌥+Enter = Option+Enter = Open Link in existing pane pane
  • ⌘⇧F - search all notes (search docs)
  • ⇧⌃H - toggle left sidebar
  • ⇧⌃L - toggle right sidebar
  • ⌘ + +/- - zoom in/out
  • ⌥⌘+I = Option+Command+I = Open inspector (for CSS, etc.)
  • F2 - select file title
  • Santi Younger's hotkeys
  • ⌃ + ⇥ = ctrl + tab - cycle tabs forward
  • ⌃ + ⇧ + ⇥ = ctrl + shift + tab - cycle tabs reverse


  • <a href="Link.html">Link</a> to link to a note
  • !<a href="Link.html">Link</a> to fully transclude that note!
  • <a href="Link.html">Link</a> + # to reference a section
  • <a href="Link.html">Link</a> + ^ to reference a block
  • ##... to reference headers across the vault (regardless of note)
  • ^^... to reference blocks across the vault (regardless of note)

Embed Queries

"example query"


These are some of the plugins I use, ordered approximately by frequency or importance of use.


  • I use this paired with Espanso shortcuts for ;tod and ;tom to generate the completion time 📅 YYYY-MM-DD
  • priority
    • ⏫ for high priority
    • 🔼 for medium priority
    • 🔽 for low priority



  • Paired with the Todoist browser plugin, this forms part of my capture from email to Obsidian: emails are batch processed and tasks and consume later are moved to Obsidian with the plugin


  • Starting 2022-07-15-Fri this is how I populate metadata for my →About My Reading Notes|Reading Notes
  • Template File: Book Search Template



  • ⌘ + H - search by heading




  • ⌘ + ⇧ + C - evaluate expression (ending in "="


  • Dataview query on each person's page for next meeting (from here)


dv.taskList(dv.pages().file.tasks.where(t => !t.completed && t.text.includes("Dana")))

Last updated:

table file.mday
where = "Sacred Artwork"


allows you to run python in Obsidian

  • Set path in settings to: /opt/anaconda3/bin/python
x = 1+2
print('x = {}'.format(x))
import numpy as np
from matplotlib import pyplot as plt
x = np.linspace(0,1)
y = np.exp(x) * np.sin(40 * np.pi * x)
plt.plot(x, y)
import pandas as pd

obsidian-various-complements-plugin (auto-complete)

Plugins to try out?

Obsidian Publish

Obsidian Publish is a paid service to publish part of your vault online. I use my own pair of scripts for notes and reading notes to publish from my vault with limited functionality, and I am tracking Obsidian Publish Alternatives with an eye toward adding more functionality in the future.


Here's a callout block.

additional callout examples

Here's a callout block.

Here's a callout block.

Here's a callout block.

Here's a callout block.

Here's a callout block.

Custom CSS

  • ⌥⌘+I = Option+Command+I = Open inspector (for CSS, etc.)
  • How to find elements to adjust (link)

Graph View

  • filter path: path:"Reading Notes" or -path:"Daily Notes" -path:"NABRE"

Some Resources