• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

humanspeak / svelte-markdown / 25349490320
93%
main: 81%

Build:
Build:
LAST BUILD BRANCH: fix/katex-delimiter-boundaries
DEFAULT BRANCH: main
Ran 04 May 2026 11:39PM UTC
Jobs 1
Files 126
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

04 May 2026 11:37PM UTC coverage: 93.424% (+0.3%) from 93.141%
25349490320

push

github

web-flow
feat(extensions): add first-class KaTeX extension (#281)

* feat(extensions): add first-class KaTeX extension

Promotes KaTeX to a built-in extension at
@humanspeak/svelte-markdown/extensions, mirroring the existing
mermaid/alert/footnote pattern. Drops the marked-katex-extension
dependency in favor of an in-house tokenizer aligned with KaTeX's
own auto-render delimiter set.

- Add markedKatex factory with KaTeX-canonical defaults: \(...\),
  \[...\], $$...$$, and AMS environments (equation, align, alignat,
  gather, CD, plus starred variants)
- $...$ inline is opt-in via { singleDollarInline: true } so currency
  strings like $5,000 don't accidentally render as math (matches
  KaTeX's auto-render rationale)
- Ship KatexRenderer Svelte component re-exported from the same
  subpath; hardcodes throwOnError: false so a single bad expression
  doesn't tank the whole render
- Export INLINE_KATEX_TOKEN / BLOCK_KATEX_TOKEN constants for
  computed-key renderer maps
- Attach a serializable _humanspeakKatexConfig marker to the
  extension so the token cache distinguishes between option states
  (closure-captured options are invisible to fn.toString() hashing)
- Add katex as an optional peer dependency; remove
  marked-katex-extension from both root and docs package.json
- Update README, docs site (advanced/marked-extensions, migration,
  interactive demo), and test routes to demo every delimiter form
  with a live singleDollarInline toggle
- 35 new unit tests covering tokenizer regex coverage, the cache
  marker, and renderer reactivity

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore(deps): bump dev dependencies and refresh worker types

- Bump dev deps across root and docs to latest patches/minors
  (eslint, prettier, svelte, sveltekit, tailwind, vite, vitest,
  typescript, typescript-eslint, wrangler, mode-watcher, lucide,
  cloudflare workers types, etc.)
- Bump wrangler compatibility_date to 2026-04-21 and regenerate
  docs w... (continued)

476 of 545 branches covered (87.34%)

Branch coverage included in aggregate %.

41 of 41 new or added lines in 2 files covered. (100.0%)

973 of 1006 relevant lines covered (96.72%)

5507.1 hits per line

Jobs
ID Job ID Ran Files Coverage
1 node-22 - 25349490320.1 04 May 2026 11:39PM UTC 126
93.42
GitHub Action Run
Source Files on build 25349490320
  • Tree
  • List 126
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #25349490320
  • a6cea13a on github
  • Prev Build on fix/seo-unique-titles (#24424846169)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc