A collection of markdown-it plugins, remark plugins, and VSCode Markdown Preview extensions that add extended syntax support for semantic HTML elements β each syntax implemented as a matched set so server-side (markdown-it) and unified (remark) pipelines render identically.
Each feature is implemented as a matched set: a markdown-it plugin for server-side rendering pipelines, a remark/rehype plugin for unified pipelines, and (usually) a VSCode extension for live preview support. The mdit-* and remd-* plugins are guaranteed to emit byte-identical HTML for the same input.
| Syntax | HTML | markdown-it | remark | VSCode |
|---|---|---|---|---|
--delete-- |
<del> |
mdit-del | remd-del | markdown-del |
++insert++ |
<ins> |
mdit-ins | remd-ins | markdown-ins |
==mark== |
<mark> |
mdit-mark | remd-mark | markdown-mark |
[[kbd]] |
<kbd> |
mdit-kbd | remd-kbd | markdown-kbd |
H~2~O |
<sub> |
mdit-sub | remd-sub | markdown-sub |
31^st^ |
<sup> |
mdit-sup | remd-sup | markdown-sup |
*[term]: Title |
<abbr> |
mdit-abbr | remd-abbr | markdown-abbr |
{ζ¬|γ»γ} |
<ruby> |
mdit-ruby | remd-ruby | markdown-denden-furigana |
||spoiler|| |
click-to-reveal (no JS) | mdit-spoiler | remd-spoiler | markdown-spoiler |
| Syntax | HTML | markdown-it | remark | VSCode |
|---|---|---|---|---|
Term: Definition |
<dl> |
mdit-definition-list | remd-definition-list | markdown-definition-list |
> [!NOTE] |
Alert callout | mdit-github-alerts | remd-github-alerts | markdown-github-alerts |
@1. Step |
<ol> |
mdit-steps | remd-steps | markdown-steps |
% Tab |
CSS-only tabs | mdit-tabs | remd-tabs | markdown-tabs |
## Heading β wrap |
<section> |
mdit-sectionize | remd-sectionize | markdown-sectionize |
(empty <p>) β removed |
dropped empty paragraphs | mdit-squeeze-paragraphs | remd-squeeze-paragraphs | markdown-squeeze-paragraphs |
| Syntax | HTML | markdown-it | remark | VSCode |
|---|---|---|---|---|
{.class #id} |
Element attributes | mdit-attrs | remd-attrs | markdown-attrs |
| Syntax | HTML | markdown-it | remark | VSCode |
|---|---|---|---|---|
 |
inlined <svg> |
mdit-inline-svg | remd-inline-svg | markdown-inline-svg |
! |
<dialog> |
mdit-lightbox | remd-lightbox | markdown-lightbox |
standalone ![]() |
unwrapped <img> |
mdit-unwrap-images | remd-unwrap-images | markdown-unwrap-images |
| Syntax | HTML | markdown-it | remark | VSCode |
|---|---|---|---|---|
## Heading β id |
heading id slug |
mdit-slug | remd-slug | β |
## Heading β link |
<a> |
mdit-autolink-headings | remd-autolink-headings | markdown-autolink-headings |
All VSCode extensions are also bundled together in the Markdown Preview Extended Syntax pack. Heading slugs are provided in the preview by the Heading Anchors extension (and by VSCode's own built-in heading ids), so
slughas no standalone extension.
This project uses Vite+ (vp), a unified toolchain that wraps Vite, Vitest, Oxlint, Oxfmt, and more under a single CLI. Install it globally before getting started. Vite+ will automatically use the preferred package manager for this project (Yarn).
Install dependencies:
vp installRun all checks (format, lint, type-check):
vp checkRun tests:
vp testBuild all packages:
vp run -r buildThe plugins in this collection are forked and modernized from the following upstream projects:
- markdown-it-ins β original
<ins>plugin for markdown-it - markdown-it-mark β original
<mark>plugin for markdown-it - markdown-it-abbr β original
<abbr>plugin for markdown-it - @mdit/plugin-del β
<del>plugin for markdown-it - @mdit/plugin-kbd β
<kbd>plugin for markdown-it - @mdit/plugin-sub β
<sub>plugin for markdown-it - @mdit/plugin-sup β
<sup>plugin for markdown-it - markdown-it-ruby β
<ruby>plugin for markdown-it - remark-ins β
<ins>plugin for remark - remark-mark β
<mark>plugin for remark - remark-supersub β
<sup>/<sub>plugins for remark - remd-ruby β
<ruby>plugin for remark - rehype-slug β heading
idslugs for rehype - rehype-autolink-headings β heading anchor links for rehype
- remark-sectionize β
<section>heading wrappers for remark - remark-squeeze-paragraphs β empty-paragraph removal for remark
Released under the MIT license Β© Drake Costa.