Convert microCMS Rich Editor response to Markdown.
npm install rich-editor-to-markdown-parser
import { parser } from "rich-editor-to-markdown-parser";
const html =
'<h1>Hello World!</h1><p>This <strong>html</strong> string is <s>convert</s>into <a href="https://exampe.com">markdown.</a></p>';
parser(html); // # Hello World!\n\nThis **html** string is ~~convert~~ into [markdown.](https://exampe.com)※ Unsupported HTML tags are parsed as strings. When converting markdown to HTML, consider sanitizing it using DOMPurify or sanitize-html.
| HTML | Description |
|---|---|
| Heading | |
| Bold | |
| Italic | |
| Underline | Parsed with HTML tags |
| Strike | |
| Code | |
| TextAlign | Not supported |
| Horizontal Rule | |
| Blockquote | |
| CodeBlock | |
| Table | |
| ListBullet | |
| ListOrdered | |
| Link | |
| Image | |
| Embed | Not supported |
| Custom class | Parsed with HTML tags |
| Option | Description | Defualt |
|---|---|---|
| image.size | Contain width and height image size. ex) ?w=1200&h=630 | true |
| image.query | Add image query in markdown. ex) ?format=webp | '' |
| markStyle.strong | ** or __ | ** |
| markStyle.em | * or _ | * |
| markStyle.li | - or * or + | - |
| markStyle.hr | --- or *** or ___ | --- |
| markStyle.pre | ``` or ~~~ | ``` |
First, install npm dependencies.
npm installRunning unit test. This library uses vitest.
npm run testBuild modules.
npm run buildMIT License.© hiro08gh