Features
Contents
Editor compatibility
Obsidian-native syntax
Everything rendered server-side — no client-side plugins required.
- Callouts —
> [!tip] Title→ styled callout boxes; collapsible with> [!type]-or pinned open with> [!type]+— docs -
Wiki-links —
[[Note]],[[Note|alias]],[[Note | alias]],[[Note#Heading]],[[Note^block-id]]— all resolve correctly even when filename, title, and slug differ — docs -
Audio embeds —
![[file.mp3]]→<audio>element; supports.mp3,.ogg,.wav,.flac,.m4a— docs - Checkboxes —
- [ ]/- [x]→ HTML checkbox lists with nested indentation — docs - Highlights —
==text==→<mark>— docs - Footnotes —
[^1]syntax — docs - Block references —
^block-idon a paragraph creates an anchor target — docs
Math and diagrams
- Mermaid — fenced
```mermaid ```blocks rendered client-side; adapts to dark/light theme — docs - LaTeX / KaTeX —
$inline$and$$block$$; expressions protected from the markdown parser before rendering — docs
Dataview
Server-side execution of Dataview queries in fenced ```dataview ``` blocks — docs:
TABLEandLISTquery typesFROM(tags or folders),WHERE,SORT,LIMIT,GROUP BYwith per-group headings- Inline queries —
`= this.field`evaluated against the current note's frontmatter
Obsidian Bases
- Database views — publish
.basefiles as filtered, sorted HTML tables using the__websitefilename marker (Title__website.base) or legacy YAMLwebsite: true; feature on listings with__featuredin the filename orfeatured: truein YAML — docs - Filters —
file.hasTag(),file.tags.contains("..."),file.inFolder(), property comparisons, andand/or/notlogic - Column control — column order, sort direction, and row limit are respected from the
.baseYAML
Canvas
- Visual boards — publish
.canvasfiles by naming themTitle__website.canvas(Obsidian strips unrecognised JSON keys on re-save, so the filename marker is the durable approach); legacy"website": truein the JSON also works — docs - Node types — text (inline markdown), file (scrollable post preview or inline media), link, and group nodes
- Directed edges — SVG bezier curves with direction arrows toward the target node; edge labels as HTML badges; Obsidian's 6 preset colours supported
Publishing and content
- Private notes — notes without
website: trueare invisible as web pages but fully queryable by Dataview — docs - Aliases —
aliases:frontmatter registers alternate wiki-link names — docs - Author field —
author:shown in post meta and JSON-LD — docs - Date last modified —
updated:frontmatter shows "Updated …" in post meta — docs - Banner images —
banner: "url"in frontmatter for a hero image;banner_x/banner_ycontrol focal point — docs
Navigation and discovery
- Auto-generated nav — top-level vault folders automatically appear as nav links — docs
- Nav pinning —
menu_order: Nin frontmatter pins any page to the top nav — docs - Breadcrumb navigation —
Home › Section › Posttrail on every post — docs - Related posts — automatic "See also" scored by shared tags and section — docs
- Next / previous navigation — "← Older" / "Newer →" links at the bottom of each post — docs
- Tags —
tags:frontmatter + inline#hashtagbody mentions; clickable badges;/tag/<name>archive pages;/tagsindex (opt-in:show_tags: true) — docs - Search — full-text search at
/searchwith tag filter (opt-in:show_search: true) — docs - Pagination — listing pages paginate at 20 posts per page — docs
Feeds, SEO, and metadata
- RSS feeds — site-wide at
/feed.xml; per-section at/<section>/feed.xml— docs - Sitemap — auto-generated at
/sitemap.xml— docs - OpenGraph / Twitter Card — per-page meta tags; uses banner image if set — docs
- JSON-LD — Article, Book, and WebSite schemas for rich Google results — docs
Developer experience
- Hot-reload — server watches file modification times and reloads on any change; no restart needed — docs
- Syntax highlighting — fenced code blocks with language labels, copy button, and Tokyo Night Dark theme — docs
- Dark / light / system mode — three-state toggle (⊙ / ☀ / ☾) in header; System follows
prefers-color-schemelive; preference persisted inlocalStorage— docs - Mobile nav — collapsible hamburger menu on narrow viewports (≤ 600 px)
- Print stylesheet —
@media printhides nav, resets colours, appends link URLs inline - Custom 404 — styled 404 page consistent with the rest of the site
- Reading time — estimated reading time on post pages and listing cards
- Vault-wide attachments — media resolution falls back to vault root
_attachments/thenATTACHMENTS_PATHfrom.env— docs
Multilingual
- Language routing — add a two-letter suffix to any filename (
Post_RU.md→/post/ru), or setlang:in frontmatter; language toggle in header;hreflangmeta tags for search engines — docs - Missing translation handling — navigating to
/post/ruwhen no RU version exists redirects to the default language; notes that exist only in a non-default language show a "not yet translated" placeholder — docs - UI string translations — create a
type: translationsnote (nowebsite: trueneeded) withlang:and key/value pairs in a fencedyamlblock; translates all fixed UI text: section headings (Featured, All Posts, Contents, See also), meta labels (Updated, by, min read, built with), breadcrumb Home, nav items, and dates viadate_format+ month name keys — docs
InkStone