-
Notifications
You must be signed in to change notification settings - Fork 0
Inline Syntax
The grammar Semantic Reading parses is one form:
{{Tag|content}}
with optional extensions. The {{…}} delimiters were chosen so they don't collide with Obsidian's existing markup (==highlight==, [[wikilink]], Dataview's key:: value).
{{Def|cognition}}
{{Q|why does this happen?}}
{{A|ship the PR by Friday}}
Renders as a colored span with a superscript label in both Live Preview and Reading mode. The text between the pipe and }} is what the reader sees.
{{Def|cognition|note=mental processes that acquire knowledge}}
{{Q|why does X happen|note=Hayek says Y, Friedman says Z}}
The note travels with the tag — it shows in the Cards view, in the AI synthesis prompts, and in the Gaps tab under "Reader notes." Note content cannot contain }.
{{Def|[[Concepts/cognition]]}}
{{R|[[Concepts/inflation]] causes [[Concepts/unemployment]]}}
The wikilink target stays linkable — clicking it opens the hub page. The display text is taken from the wikilink basename automatically. Use explicit display text when the basename and the rendered text should differ:
{{Def|[[Concepts/cognition|cognition]]}}
The display can't contain ]. Wikilink target/display cannot contain ].
{{Def|[[Concepts/cognition]]|note=key idea of chapter 2}}
Standard combination — useful when you want both the hub link AND an inline annotation.
You almost never type {{…}} by hand. Select prose in the editor, the floating tagbar appears, press a letter:
-
d→Def,q→Q,r→R,m→M,a→A -
c→C,b→B,l→L,t→T,x→X -
n→N,p→P,w→D,s→Assump -
e→Ev,g→Ex,i→Mn,y→An,o→Opp
The selection is wrapped in the appropriate {{Tag|text}} syntax. To remove a tag, click the colored span and press the same letter again.
The plugin assigns each paragraph a stable ^p<N>-sr block ID on first save, so tagged spans can be referenced from concept hubs, the public API, MCP queries, integrations (Anki, ICS, Tasks push, Tasks MOC), and Obsidian's own [[note#^id]] syntax.
Cognition is a {{Def|key idea}} in this chapter. ^p1-srBlock IDs are kept compact and human-readable. The srid: prefix shows up in external integrations as a dedup key — e.g. Anki tags carry srid_p1-sr, Todoist labels carry srid_p1-sr_<note-path>, ICS UIDs carry srid:p1-sr-<note-path>@semantic-reading.
When Keep frontmatter index in sync is on (default), the plugin rebuilds a semantic_tags: array in the note's frontmatter on save. Inline {{…}} syntax is always the source of truth — frontmatter is a cache for Dataview, search, and other plugins to query.
---
semantic_mode: 3
semantic_tags:
- tag: Def
text: cognition
para: 1
- tag: Q
text: why does this happen?
para: 1
note: ask Hayek
---Notes that use custom or domain tags also embed a semantic_tags_def: block so the taxonomy travels with the note — another vault can import the defs via the Import custom tags from current note command.
The semantic_mode: frontmatter field (1-5) controls which sigils appear in the tagbar palette:
| Mode | Name | Palette |
|---|---|---|
| 1 | Easy |
Def, Q, R, A — obvious anchors |
| 2 | Structural | + Mn, Ev, C, M
|
| 3 | Operational | + B, L, T, X, N, D, P (default) |
| 4 | Critical | + Ex, An, Opp, Assump
|
| 5 | Regenerative | the full 19-tag palette |
Per-note override: semantic_mode: 5. Without it, the plugin uses the default in Settings → Reading.
- Tag Taxonomy — what each sigil means and which framework it routes to
- Domain Profiles — replace or extend the 19 builtins per note
- Public API — programmatic access to parsed segments