Repository navigation
v2.1.38 — Markdown previews and extensible custom blocks
Highlights
Markdown previews, built in
.mdand.markdownfiles now use the full live viewer: CommonMark prose,
tables, task lists, strikethrough, code, links, local images, and MathJax math
all update through the same CLI and Neovim workflow as LaTeX.- No additional renderer is required. Markdown parsing and MathJax are bundled
in both Cargo-built and GitHub release binaries, while raw Markdown HTML
remains inert rather than being injected into the page.
Theorems, proofs, and project-defined blocks
- Markdown theorem fences understand both Bookdown and Quarto conventions,
including their native theorem references, forward references, numbering,
and titles. - Proof blocks can reveal blurred content on demand. Projects can define safe,
declarative block appearances, labels, colors, italics, and reveal behavior
through[markdown.blocks.NAME]. - Existing note syntax can be preserved with
[markdown.block-syntaxes.ID]:
literal start templates containing{name}and optional{title}, plus a
literal end marker, support forms such as Jinja-style
{% call result(...) %}/{% endcall %}without executing Jinja. - Config → Markdown config → Recognize
:::blocks controls compact
MathPreview, Bookdown, and Quarto colon fences. The same option is
[markdown] colon-fences; advanced custom formats and start/end templates
remain configurable through TOML. Layered Project, Global, and Custom saves
preserve inherited settings and existing config content.
More dependable source sync and navigation
- Markdown source sync is now token-precise across prose, formatting, tables,
and code. Rapid cursor and selection updates no longer get dropped, and
click-back preserves unsaved symlinked buffers. - Per-buffer snapshots prevent edits in multiple previews from cancelling or
rerouting one another. Heading fragment links, duplicate headings, Unicode
fragments, and footnotes now resolve reliably without colliding with
source-sync IDs. - Local Markdown assets resolve consistently in live and one-shot previews,
and macro-only edits refresh MathJax once without disturbing the compact
update path.
Safety and TeX compatibility
Custom delimiters, block formats, theorem attributes, titles, and colors remain
bounded, escaped, and data-only; malformed or ambiguous structures fail closed.
Markdown parsing, custom blocks, link aliases, and source-sync changes are
format-isolated: existing LaTeX HTML, hashes, IDs, syncing, and viewer behavior
remain unchanged.
Live-update compatibility
WebSocket protocol 77 → 80 carries the corrected Markdown sync, custom-block
interaction state, and live Markdown configuration. Stale tabs reload once to
adopt the matching client, then continue updating normally.
Prebuilt mathpreview-cli archives for macOS and GNU/Linux (arm64/x86_64), plus SHA-256 checksums, are attached below.