Skip to content

v0.2.0

Latest

Choose a tag to compare

@justinvulz justinvulz released this 30 Aug 09:55

Render $...$ and $$...$$ with the Typst engine inside Joplin. LaTeX
equations keep rendering with KaTeX, so existing notes are unaffected.

What's new in 0.2.0

Mobile support. 0.1.0 never rendered an equation on a phone. Desktop and
mobile now run the same code, with the four things that actually differ handled
rather than assumed away:

  • Assets arrive over joplin-content:// on desktop and file:// on mobile, and
    fetch() cannot read the latter in a WebView — the reader picks the mechanism
    the scheme supports.
  • The mobile plugin process is a sandboxed iframe with no filesystem, so it
    reports where an asset was installed instead of serving its bytes.
  • A Worker must be same-origin with its document: a blob URL on desktop, the
    file itself on mobile. Both routes are tried.
  • joplin-noteDidUpdate fires once per webview on recent mobile versions, so a
    MutationObserver drives re-rendering instead.

An equation that cannot reach a compiler falls back to KaTeX rather than going
blank, and the reason appears in its tooltip.

Smaller package. src/worker/tsconfig.json is no longer swept into the
.jpl by the generator's copy step.

Installing

Joplin's plugin repository still carries 0.1.0, so install this build by hand:
download com.github.justinvulz.typst-math.jpl below, then use Tools →
Options → Plugins → Install from file
.

Requires Joplin 3.0 on desktop, 3.1 on mobile.