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 | |
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.
- awesome-obsidian: css-snippets
- obsidian-css-snippets @GitHub
- Common Selectors for Custom CSS @Obsidian Forum
- Meta Post - Common CSS Hacks @Obsidian Forum
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 | |
More CSS snippets
- dashboard++ ^e626d8
- Pretty Tables
- Canvas
Search and Queriesπ
- regex search, e.g.
/\d{4}-\d{2}-\d{2}/ - search operators
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
- title
- alias(es)
- tags
- 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π
- Editing
-
Functionality/UX
- Obsidian Advanced URI
- Query Control: add controls to embedded queries (exp./deprec.?)
- Embed Code File: embed code files from Obsidian vault or remote file (eg., GitHub)
- breadcrumbs: GitHub “Visualise a custom hierarchy in your Obsidian vault”
- Markdown Attributes: use widely used3 syntax with curly braces
{}to add (HTML) attributes to Markdown elements (development currently down to maintenance mode).
> [!idea] this should make it possible to give elements a certain HTML id and link to them. Hasn’t worked in my test though.
- Supercharged links: add attributes to internal links using the target file’s properties, e.g. a certain icon if the linked note if of a specific type
- Appearance/UI
- obsidian-emoji-toolbar
- Obsidian-Code-Styler: styling codeblocks and inline code
- obsidian-banners: adds banners to your notes
- obsidian_supercharged_links: “obsidian plugin to add attributes and context menu options to internal links”
- Productivity
- Kanban
- Writing
- Article LaTeX-like figures and section referencing:
similar to [[Pandoc#pandoc-crossref|pandoc-crossref]] like{#fig:your_fig_name}
1 2 3 4 5 | |
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π
- Obsidian GitHub Publisher
- GitLab Pages: https://about.gitlab.com/blog/2022/03/15/publishing-obsidian-notes-with-gitlab-pages/
- https://flowershow.app/ | GitHub
- obsidian-webpage-export
- obsidian-publish-mkdocs: A Template to Publish Obsidian/Foam Notes on Github Pages (uses MkDocs)
- quartz | Docs: Video @YT
a fast, batteries-included static-site generator that transforms Markdown content into fully functional websites
Debugπ
- development tools: ctrl + shit + i
Referencesπ
- Awesome Obsidian: resources, plugins, tools, templates, CSS snippets, …
- Markdown Guide: Obsidian ^b8bff2
- Blogs and unofficial guides
- Slides: simple presentations
- Getting comfortable with Obsidian CSS
- Icons: Lucide
- Obsidian Tutorial for Academic Writing
- Obsidian + Zotero
- pandoc-crossref-like references (citations, figures, equations, …)
- templates
- Javascript
-
https://rossgriffin.com/tutorials/obsidian-basics-guide/ “Griffin - Obsidian Basics” ↩
-
https://demo-obsidian.owenyoung.com/Advanced%20topics/YAML%20front%20matter/ “Young - YAML front matter” ↩
-
e.g. in Python-Markdown extension
attr_list↩