Obsidian is the tool I use to maintain this knowledge base. I also use it extensively for my notes at work since joining Microsoft since:
- It does not try to upload all my notes (and the secrets therein) to some third-party cloud service. I keep my Obsidian vaults in my corporate OneDrive or Sharepoints, allowing me to comply with corporate data management policy.
- It supports linking between documents and finding information that I’ve forgotten very easy. This seems to work best for the way I take and re-read notes.
I’ve left Obsidian a few times, but I keep coming back. I now pay for a commercial license since I use it primarily for work. Obsidian keeps getting better too, and its direction of development lines up with what I need out of it.
I use Obsidian in combination with a lightly modified version of Quartz 4 to publish this digital garden online.
Organization
I periodically try new ways of organizing, but I’ve found that just throwing everything into one unorganized pile (as is on display with this site) seems to work best. It lets me focus on just capturing details without the cognitive burden of fitting those details into some rigid folder structure at the same time.
Reference
I never remember how some of the markdown extensions in Obsidian work.
Callouts
See Callouts - Obsidian Help for the full assortment of callouts supported. Quartz supports these too.
Note
This is a note.
Abstract
This is an abstract. Aliases are
summary
andtldr
.
Info
This is an infobox.
Warning
Stuff for which the reader should be mindful, like gotchas.
Danger
Worse than a warning I guess.
Question
Maybe for internal monologue?
Tip
This is a tip. Possibly a protip.
Example
Good for tutorials?
Success
Not sure how this is meant to be used.
Failure
Also not sure how this is meant to be used.
Todo
This is a todo.
Bug
Lorem ipsum dolor sit amet
Quote
This is neat. Better than the standard markdown
>
?
Mermaid graphs
See Examples | Mermaid.
Mermaid seems to be OK at making basic network diagrams, but they get messy fast. I don’t know if it is as expressive as graphviz.
---
title: Network topology
---
graph TD
subgraph spines
t00
t01
end
subgraph leaves
t10
t11
t12
t13
end
t00 --- t10
t00 --- t11
t00 --- t12
t00 --- t13
t01 --- t10
t01 --- t11
t01 --- t12
t01 --- t13
---
title: Left-to-right
---
graph LR
A[Square label] -- Edge label --> B((Circle label))
A --> C(Rounded label)
B --> D{Diamond}
C --> D
Exporting
Pandoc
Sometimes I have to convert from Obsidian Markdown to docx before disseminating (since I work at Microsoft). The following flow seems to do a good job:
Readwise Reader
After Omnivore was shut down, I tried using a few read it later apps including Readwise Reader. Here is the export template I used:
---
title: {{ title }}
author: {{ author }}
category: {{ category }}
{% if document_note -%}
description: {{document_note}}
{% endif -%}
{% if tags -%}
tags: {% for tag in tags %}{{tag}} {% endfor %}
{% endif -%}
{% if url -%}
source: {{url}}
{% endif -%}
---
From [{{ title }}]({{url}}):
{% for highlight in highlights -%}
> [!quote]
>
> {{ highlight.content | replace('\n', '\n> ') }}
{% if highlight.note -%}
{{ highlight.note }}
{% endif %}
{% endfor %}
Omnivore
Danger
As of October 29, 2024, the Omnivore app has been acquired, and everyone’s data on the public service instance will be deleted. So I guess this was a short-lived experiment, and I’m back to struggling with other read-it-later apps.
I tried using Omnivore (a read it later app) to save and annotate interesting articles, then import them into Obsidian so I could easily copy+paste them into pages here. I used the following note template based on Sync all your reading to Obsidian
From [{{{title}}}]({{{originalUrl}}}):
{{#highlights.length}}{{#highlights}}> [!quote]
> {{{text}}}[^{{{id}}}]
{{#note}}{{{note}}}
{{/note}}{{/highlights}}{{/highlights.length}}
[^{{{id}}}]: [{{{title}}}]({{{originalUrl}}})
And my front matter template (under Advanced Options) is:
id: {{{id}}}
title: >
{{{title}}}
{{#author}}
author: >
{{{author}}}
{{/author}}
source: {{{originalUrl}}}
date_saved: {{{dateSaved}}}
{{#datePublished}}
date_published: {{{datePublished}}}
{{/datePublished}}