Skip to content

v0.2.0 — The rest of the vault ring

Latest

Choose a tag to compare

@heitorrapcinski heitorrapcinski released this 06 Sep 15:22
9125342

The rest of the vault ring, and the two things the profile had been silent about on purpose without saying so.

Everything added here is already written in real vaults and does nothing in any implementation, because the profile had not specified it.

Added

  • ==highlight== — marked text, carrying no meaning beyond emphasis.
  • %%comment%% — text the author does not want read on the page. It leaves the reading surface and stays in the bytes, so a tool that returns the note returns it and an agent sees what a person on the page does not. That asymmetry is the decision, and it is declared rather than left to be discovered: text somebody did not want on the page is still text they wrote, and this profile asks nobody to delete bytes to make a page tidier.
  • ^block-id and ![[note#^id]] — the identified block and the embed that resolves to it. The edge is exactly the edge [[note]] produces: the graph does not tell an embed from a reference apart, and does not tell a block embed from either.
  • $inline$ and $$block$$ — mathematics, with the rule that a $ which is not opening or closing a formula stays text. A price and a shell variable are not formulas, and the suite carries the negatives.
  • Date intervals in a query (§4.8) — created:>=2026-01-01, plus created:2026-01-01..2026-03-31 as sugar for two comparisons, both ends inclusive. One semantics: one thing to implement, one to test, one to explain. An interval over an attribute that is not a date, and one whose ends are inverted, are errors and not empty results.

Rejected, and declared as such

  • Superscript and subscript (§5.9). There is nothing to inherit: GitHub writes them with raw HTML, which §5.10 declares off, and the Pandoc ~x~ / ^x^ render in no vault editor — a note written with them would read correctly here and look broken in every other tool its author uses. The ^ form would also collide with a block identifier.
  • Raw HTML (§5.10). Not rendered, stored and returned as written, shown as text. Stated as a security boundary rather than as a rendering preference: a vault is written by several people and by agents, and a page that renders arbitrary HTML out of it is a script injection whose trigger is written by whoever wrote the note.

Changed

aliases gained the reason it does not resolve wikilinks (§4.4). §6.4 shrank to what is genuinely unwritten, now that most of what it listed is specified.

Compatibility

Minor, not major: no notation is removed and no effect changes. All eight new conformance cases were run against the first implementation's extractors before publication and pass unchanged, so the bump breaks no build.

pnpm add github:memorysmithapp/markdown-profile#v0.2.0