1.1.0 - 2026-05-18
Release Notes
Note-vault syntax: inline highlight, WikiLinks, and Pandoc inline footnotes — Obsidian/Pandoc/MediaWiki-style docs export to PDF without leaking syntax as literal text. Plus two lexer/validation edge cases surfaced during the work.
- Inline footnotes (
text^[note body]) ([#80]) — Pandoc-style footnotes inline, no separate[^id]:definition. Lexer scans a balanced bracket pair (nesting and\-escapes respected), sub-lexes the body as inline content, and assigns a doc-unique internal label from a counter shared across nested sub-lexers. Inline and[^id]footnotes share one numbering sequence in first-reference order, the marker is the same superscript linking to#footnote-N, and bodies collect into the single tail Footnotes section without splitting their host paragraph. Unbalanced^[or empty^[]degrades to literal text. - WikiLinks (
[[Target]],[[Target|Label]]) ([#82]) — target slugifies to an in-document anchor and flows through the same resolution path as[text](#slug): match becomes a clickable internal jump; unmatched logs a warning and falls back to styled text so a partial export isn't broken. Unclosed[[or escaped\[\[…\]\]renders literally. - Inline highlight (
==text==) ([#79]) — newHighlighttoken painting a configurable background; nestable with other inline styles (==**bold**==is bold and highlighted). New[mark]config block withbackground_color(default#FFF59D). Dispatch runs after Setext detection so===/---lines still underline the paragraph above. Unterminated==degrades. - Lexer fix — unclosed
[…spanning a line break no longer emits a.notdefbox.parse_link's no-closing-bracket fallback used to flatten the multi-line body into oneTexttoken with an embedded\n, which the renderer had no glyph for. Multi-line bodies now route through the pending-token path so each break survives as a realToken::Newline. Covered by an invariant regression test (noToken::Textever carries a literal newline). - Validation fix — footnote syntax no longer trips the "unmatched square brackets" warning. The crude
[vs]tally falsely flagged[^id]refs/defs, inline^[…], and the intentional^[degradation; footnote brackets are now neutralized before the tally and a genuine[unclosed linkstill warns. - Docs — new syntax documented in
docs/configuration.md; doc filenames lowercased (docs/cli.md,docs/configuration.md,docs/library.md) and all inbound references updated.
Install markdown2pdf 1.1.0
Install prebuilt binaries via Homebrew
brew install theiskaa/tap/markdown2pdfDownload markdown2pdf 1.1.0
| File | Platform | Checksum |
|---|---|---|
| markdown2pdf-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| markdown2pdf-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| markdown2pdf-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| markdown2pdf-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| markdown2pdf-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |