Repository navigation
Releases: Thysrael/markdown-ts-appear
Release list
markdown-ts-appear v0.3.1
Highlights
- Inline math in wrapped tables. Table cells reuse latex-to-svg previews for
$...$and\(...\). Images fit the column width and retain source navigation;
pending or failed formulas keep their source. Async results refresh only the
affected table. Math previews remain optional. - Whole-table source reveal. Set
(setopt markdown-ts-appear-table-reveal 'table)to show the entire table's
source while editing. Layout rebuilding is deferred until point leaves the
table or source tracking stops. The default remainsrow.
Fixes
- Align opening, body and closing borders of indented fenced code blocks,
including list and quote containers, while preserving actual code indentation
(#21). - Reveal the preceding line ending together with a Setext heading's underline,
so the underline stays on its own line when editing. - Fix byte compilation of image sizing on non-graphical Emacs builds.
Installation
markdown-ts-appear is now available from
NonGNU ELPA, which is
included in Emacs's default package archives, as well as MELPA. README now
includes the NonGNU ELPA badge and installation instructions.
Math dependency notes
The minimum supported latex-to-svg frontend/adaptor version remains 0.22.2.
Upstream 0.23.0 additionally normalizes Markdown math faces and adds
inline failure indicators. Those improvements require upgrading the optional
dependency; they are not bundled in this release.
Cached equations can still pick up the default text color before fontification.
If this happens, run M-x latex-to-svg-frontend-refresh after the buffer is shown.
Changing math delimiters in place can also leave stale Markdown faces; run
M-x font-lock-update before refreshing previews in that case.
Thanks to @alberti42 for the Setext fix and to everyone who reported issues and
helped test these changes.
Full changelog: v0.3.0...v0.3.1
markdown-ts-appear v0.3.0
markdown-ts-appear v0.3.0
Breaking changes and migration
Math previews now use latex-to-svg
Math previews now use latex-to-svg-for-markdown instead of MathJax. The existing
markdown-ts-appear-enable-math-preview option remains available, but MathJax
settings no longer control formula rendering.
Install or update these optional packages before enabling math previews:
| Package | MELPA Stable minimum | MELPA minimum |
|---|---|---|
latex-to-svg-for-markdown |
0.22.2 | 20261017.1107 |
latex-to-svg-frontend |
0.22.2 | 20261017.1107 |
latex-to-svg-backend |
0.15.0 | 20261014.1334 |
Install the selected rendering engine separately: LaTeX + dvisvgm (default),
RaTeX, or texres + pdftocairo. Configure it through the latex-to-svg options.
Restart Emacs after updating packages that were already loaded.
Appear coordinates source reveal with the adaptor, including modal editing and
formulas in wrapped tables. The adaptor owns detection, rendering, numbering,
references, and persistent caching. Preview dependencies remain optional.
Diagram previews use a language registry
Replace the Mermaid-specific enable option with:
(setopt markdown-ts-appear-diagram-renderers
'(("mermaid" . markdown-ts-appear-diagram-mmdc)))- Rename
markdown-ts-appear-mermaid-sizetomarkdown-ts-appear-diagram-size. - For a custom executable previously supplied through
markdown-ts-appear-mermaid-command, register a wrapper that passes the path
as the optional fifth argument tomarkdown-ts-appear-diagram-mmdc. - The old Mermaid module and option names have been removed.
Highlights
- Wrapped tables now use a built-in layout engine.
markdown-table-wrapis no
longer a dependency, andwrappedremains the default table style. Column
measurements are shared across windows, inline markup uses Tree-sitter, and
wrapping preserves source positions and composed glyphs. - A shared diagram renderer interface for fenced-block languages, with SVG
callbacks, optional cancellation, shared requests, caching, and per-window sizing.
Custom D2 or HTTP-based renderers can use the interface; their adapters are not
built in. This is an editor preview interface, not an export pipeline. - Optional ATX heading bullets via
markdown-ts-appear-heading-bullets. - Persistent image previews and improved source-reveal behavior.
- Better wrapped-table navigation, backgrounds, cell faces, and indentation handling.
- Reduced redundant fontification and layout work during editing.
- Mermaid CLI output avoids costly SVG shadows and HTML labels.
- Code-block prefixes inherit their block background, including inside quotes.
Known upstream issue
With latex-to-svg 0.22.2, a cached equation can initially use the default text
color if it is rendered before syntax highlighting. Run
M-x latex-to-svg-frontend-refresh after the buffer is displayed to update its
color from the math face.
Thanks
Thanks to the contributors who helped develop, test, and refine this release,
including @alberti42 for the latex-to-svg integration and upstream fixes,
@arouene for the callback renderer contribution and diagram interface discussion,
and @fbergroth for performance and integration improvements.
markdown-ts-appear v0.2.4
markdown-ts-appear v0.2.3
Changes
- Enable link, image, and Wiki link icons by default.
- Enable connected code fences, callout rendering, compact quote markers, and wrapped tables by default.
- Convert the README from Org to Markdown.
- Remove redundant configuration and definition tests while retaining behavioral regression coverage.
Validation
- 136 ERT tests passed locally.
- CI passed on the release commit, including the Emacs/grammar matrix and package-lint.
markdown-ts-appear v0.2.1 markdown-ts-appear v0.2.1
Add new wrapped-table-cell
markdown-ts-appear v0.2.1
Full Changelog: v0.2.0...v0.2.1
markdown-ts-appear v0.2.0
Highlights
- Add opt-in connected Unicode rendering for fenced code blocks, including blocks nested in quotes.
- Add theme-aware inverse-video language labels with optional Powerline-style caps.
- Add opt-in callout labels for markers such as
[!NOTE], without treating them as links. - Add configurable quote markers and Unicode pipe-table delimiters.
- Keep image file names visible when alt text is empty.
- Improve indirect-buffer synchronization, structural edit invalidation, cleanup, and copying behavior.
Defaults
Visual decorations remain opt-in. Connected code labels use plain padded text by default; custom caps are only displayed when markdown-ts-appear-label-caps is configured. Callout styling does not implement folding.
Requirements
- Emacs 31.1 or newer
- The
markdownandmarkdown-inlineTree-sitter grammars - Node.js when MathJax preview is enabled
- A graphical SVG-capable Emacs session for math previews
Verification
The release commit passes strict byte compilation, Checkdoc, package-lint, and all 88 ERT tests across Emacs 31.1 and Emacs snapshot with pinned and latest Markdown grammars, including a real MathJax-to-SVG render.
markdown-ts-appear v0.1.0
First public release of markdown-ts-appear.
Highlights
- Reveal the source of the smallest rendered Markdown element at point.
- Preserve structural delimiters for code fences and block quotes.
- Render LaTeX fragments asynchronously as SVG with MathJax.
- Decorate links, images, and Wiki links with optional Nerd Icons.
- Support optional Evil insert-state triggering.
- Restore buffer state and rendering properties cleanly when disabled or unloaded.
Requirements
- Emacs 31.1 or newer
- The markdown and markdown-inline Tree-sitter grammars
- Node.js when MathJax preview is enabled
- A graphical SVG-capable Emacs session for math previews
Verification
The release commit passes the full CI matrix on Emacs 31.1 and Emacs snapshot, including strict byte compilation, checkdoc, package-lint, all 32 ERT tests, C fenced-code integration, and a real MathJax-to-SVG render.
Known limitations
- Built specifically for the built-in markdown-ts-mode in Emacs 31.1 and newer.
- Indirect buffers are not supported.
- Math preview remains disabled when Node.js or SVG support is unavailable.