Skip to content

Obsidian

ObsidianπŸ”—

Obsidian is not open-source, but there seems to be a pretty large community of users who would boycott it if they decided to charge money. See Alternatives if you want to consider a different software, I have yet to explore them. For now I’d try not to rely too much on Markdown extensions and fancy features to be future-proof in case of a migration.

Resource References
Websites = ("[Website](" + this.url + ")"), = ("[Documentation](" + this.docs + ")")
Collections Awesome Obsidian
Linting & Style markdownlint, Obsidian Linter
My 🌐 stuff Notes (using public/tech/documentation/MkDocs), Obsidian Features, Template vault
My notes =(join(this.related, ", "))

add map of content

MoC

Config & CustomisationπŸ”—

Obsidian URI set up for Linux / obsidian.desktop (see also Desktop Files)

Create desktopfile $HOME/.local/share/applications/obsidian.desktop

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
[Desktop Entry]
Name=Obsidian
Exec=obsidian %u
Terminal=false
Type=Application
Icon=/home/me/.local/bin/obsidian.png
StartupWMClass=obsidian
Comment=Obsidian
Categories=Office;
MimeType=text/html;x-scheme-handler/obsidian;

ThemesπŸ”—

Browse Appearance > Themes, there’s a lot of community-made choices.

I use Catppuccin because of aesthetics and different colours for italic/bold text, internal/external links, etc.

Styling (CSS)πŸ”—

Further customisation and extension can be done using CSS.

Obsidian supports a snippets folder for custom CSS files that can be activated separately.

The two main selectors to distinguish between editing and reading mode are .markdown-preview-view and .markdown-rendered.

CustomπŸ”—

CSS snippet callouts.css:

myidea

Epiphany!

Immediately write this down!

mywarning

Warning!

Don’t ever do this! Don’t ever do this!

event

Save the date

Don’t miss out!

Custom call-out: add CSS to .obsidian/snippets/callouts.css.

1
2
3
4
.callout[data-callout="idea"] {
    --callout-color: 255, 255, 0;
    --callout-icon: lightbulb;
}

More CSS snippets

Search and QueriesπŸ”—

Obsidian Help

Queries allow to embed a search in your notes, rendering the results as a part of them

Example:

```query
Tags: #idea
```

Properties: Front Matter and Meta DataπŸ”—

Obsidian started using the term properties for what many other applications call the front matter. This is a special file header, usually in the language [[YAML]], where meta data for a note can be stored.

By default Obsidian supports the following YAML in this order1

  1. title
  2. alias(es)
  3. tags
  4. cssclass

You are can add more YAML metadata but it’s not natively processed by Obsidian. However, this can still be useful if you’re using plugins like [[DataView]] or other programs like [[Pandoc]].2

[[HTML]]πŸ”—

Since Markdown supports usage of most HTML, this can be used to extend the features of plain Markdown. Mixing is not a good idea though and renders in weird ways.

IntegrationπŸ”—

Optical Character Recognition ([[OCR]])πŸ”—

This would allow integration of hand-written notes.

See this [[Templater#^d366ca|gist]] and plugin/feature request.

Plugins & ExtensionsπŸ”—

CommunityπŸ”—

1
2
3
4
5
TABLE WITHOUT ID
file.link AS "Plugin",
desc-short AS "Description"
WHERE contains(file.path,"obsidian/plugins")
SORT file.name

WorkflowπŸ”—

References

  • obsidian-workflow-template

    Obsidian vault template from workflow with tasks and project management, journaling, media tracking, offline read-it-later and bookmark management, note-taking and note-sharing on own website

ToolsπŸ”—

  • obsidiantools: Python package for analysing an Obsidian.md vault
    • connections with meta data
    • network, graph, (back) links

AlternativesπŸ”—

  • Zettelkasten
  • Telekasten: Neovim plugin for Zettelkasten/Wiki/journal
  • Roam Research
  • foam
  • zk (more of a helper, not an editor)
  • Emanote

PublishπŸ”—

DebugπŸ”—

  • development tools: ctrl + shit + i

ReferencesπŸ”—


  1. https://rossgriffin.com/tutorials/obsidian-basics-guide/ “Griffin - Obsidian Basics” 

  2. https://demo-obsidian.owenyoung.com/Advanced%20topics/YAML%20front%20matter/ “Young - YAML front matter” 

  3. e.g. in Python-Markdown extension attr_list