LifeLab · inline transclude syntax

![[ — the syntax is an entry point, not a mechanism

Typing ![[ on an empty block line doesn't insert text — it invokes the summon field inline, at point, scoped to pages. Accepting replaces the would-be block with a ref in the order list — a transform, not a block containing an embed. Blocks are reached through their page with #. One representation of transclusion, two doors into it.

One mechanism, two doors

Mod+K s at a seam, or ![[ mid-writing. Both emit the same operation: insert one typed ref at a position.

Transform on commit

↵ replaces the empty block with a page-ref (or block-ref). No "embed blocks" — drag, fold, dismiss all keep working on refs alone.

Pages only

Page names are addresses — typeable. Block titles are descriptions — searchable. ![[ takes addresses; the seam field does search.

Blocks via #

![[page#query scopes to that page's blocks — six candidates, not six thousand. ↵ summons the block; it stays homed.

Esc = honest text

Dismiss the popup and ![[ stays as literal characters. The buffer never refuses your keystrokes.

1MID-TYPING

Writing notes, ![[ora — pages only, at point

You're capturing on acl2026 between two blocks. Typing ![[ flips the line into summon-query mode — scoped to pages. Page names are addresses (typeable from memory); block titles are descriptions (searchable, thousands of them). Syntax-entry suits addresses — blocks come in via # drill-in or the seam field. # after a page scopes into its blocks.

conference
acl2026
:conference: :nlp:jul 5–10 · san diego
*Sunday July 5th
reception 18:00 · badge pickup closes 17:30
* ![[ora
transclude — pages2 pages
acl2026/ir-oral-session
:talks:6 blockssubpage of this page
↵ transclude · → headlines
emnlp-2026/orals-tue
:talks:7 blocksforeign — would summon
+
new page acl2026/ora — create & transclude
transclude / summon #drill into its blocks ⌥↵jump instead esckeep as text
*acl conference plan
goals: 3 collaborations, ask about MLP-pruning conflict, poster feedback
Ownership decides the ref kind, silently: the top hit is a child of this page → accepting writes a canonical subpage ref. The second is foreign → an overlay (summoned) ref. The row pre-announces which, so ↵ never asks. No block rows here — global block search stays in the seam field (Mod+K s), where searching is the point.
![[ · summon at pointesc leaves the characters as typed
2AFTER ↵ — THE TRANSFORM

The line is gone; a region stands in its place

No block was created. The order list got one canonical page-ref at that index, rendered open with the arrival flash. Undo (C-/) restores the typing line with ![[ora intact — the transform is one atomic operation.

conference
acl2026
:conference: :nlp:jul 5–10 · san diego
*Sunday July 5th
reception 18:00 · badge pickup closes 17:30
[-] acl2026/ir-oral-session 6 blocks · :talks: subpage
*Making LLMs Efficient Dense Retrievers:paper:
prune MLP layers, keep attention — no major loss; conflicts with other results
*Style-aware reranker — don't be misled by style:paper:
retrieval models overweight stylistic similarity; rerank with style ablated
⋯ 4 more blocks
+ Click to add text...
*acl conference plan
goals: 3 collaborations, ask about MLP-pruning conflict, poster feedback
the link grammar
[[queryinline link autocomplete — stays in the block's text, renders as a colored link
![[queryinline transclude — pages only; replaces the empty block with a page-ref region
![[page#querydrill into that page's blocks — ↵ summons the block here (~6 candidates, not 6,000)
Mod+K sseam field — global search over everything, blocks included; for finding, not addressing
Transcluded ir-oral-session at point.C-/ undoes the transform · Tab folds
3DRILL-IN — ![[page#

Blocks are addressed through their page — # scopes the query

You do want a single block sometimes. # after a resolved page flips the popup to that page's blocks only — a candidate set of six, not the whole database. ↵ summons the block here (block-ref in the order list, homed where it was). This is the typeable twin of the seam field's “→ scope into headlines”.

conference
acl2026
:conference: :nlp:jul 5–10 · san diego
*Sunday July 5th
reception 18:00 · badge pickup closes 17:30
* ![[ir-oral-session#rerank
blocks on ir-oral-session1 of 6
*
Style-aware reranker — don't be misled by style
:paper:stays homed on ir-oral-session
↵ summon block here
summon block back to pages ⌥↵jump to it esckeep as text
*acl conference plan
goals: 3 collaborations, ask about MLP-pruning conflict, poster feedback
Why blocks go through pages: page names are addresses — typeable from memory; block titles are descriptions — you search for them. # keeps the address grammar and hands you a searchable set small enough to scan. Global “find that block wherever it lives” stays in the seam field.
![[page# · blocks of that page↵ summons · block stays homed on its page
4EDGE: MID-SENTENCE ![[

Inside existing text, ![[ means link — a region can't live in a sentence

Refs live between blocks, not inside them. So ![[ typed mid-sentence downgrades gracefully: the popup opens in link mode (badge says so), and ↵ inserts a plain [[link]] in the text. The footer offers ⌥↵ split & transclude for the rare case you really meant it — the block splits and the region lands between the halves.

conference
acl2026
:conference: :nlp:jul 5–10 · san diego
*acl conference plan
goals: 3 collaborations · details in ![[plan
link — inside block text2 results
acl2026/planning
2 blockssubpage of this page
↵ insert link
*
acl conference plan — this page
block
insert [[link]] ⌥↵split block & transclude esckeep as text
*Sunday July 5th
reception 18:00 · badge pickup closes 17:30
Why the downgrade: a transclusion is a row in the order list — letting it live inside a sentence would recreate the two-representation problem. Mid-text, the ! simply doesn't bind; you get org's normal link flow. The one rule: empty line → ref; inside text → link.
![[ inside text — link mode⌥↵ to split & transclude instead