Skip to content

Inline Syntax

David edited this page May 31, 2026 · 1 revision

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).

The four shapes

1. Plain tagged span

{{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.

2. Tagged span with attached note

{{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 }.

3. Tagged wikilink

{{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 ].

4. Tagged wikilink with note

{{Def|[[Concepts/cognition]]|note=key idea of chapter 2}}

Standard combination — useful when you want both the hub link AND an inline annotation.

Tagbar shortcut

You almost never type {{…}} by hand. Select prose in the editor, the floating tagbar appears, press a letter:

  • dDef, qQ, rR, mM, aA
  • cC, bB, lL, tT, xX
  • nN, pP, wD, sAssump
  • eEv, gEx, iMn, yAn, oOpp

The selection is wrapped in the appropriate {{Tag|text}} syntax. To remove a tag, click the colored span and press the same letter again.

Block IDs

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-sr

Block 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.

Frontmatter mirror

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.

Reading modes

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.

See also

  • 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

Clone this wiki locally