rich-editor-to-markdown-parser
Convert microCMS Rich Editor response to Markdown.
![スクリーンショット 0005-12-09 14 26 25](https://private-user-images.githubusercontent.com/39504660/289235889-68c9397f-1c80-45fa-97be-ca3fdc1e46ef.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDQzMTUxMTEsIm5iZiI6MTcwNDMxNDgxMSwicGF0aCI6Ii8zOTUwNDY2MC8yODkyMzU4ODktNjhjOTM5N2YtMWM4MC00NWZhLTk3YmUtY2EzZmRjMWU0NmVmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDAxMDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwMTAzVDIwNDY1MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ4NDk5NWVjODE0MjM2NjU5YmQyYzcxYTJlNDU3YzI3NmFlYjQ3ZDFkYzgwYmYxYjkzYmM0YzE3ZTYzNWVkNzAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.uMMguX12-hkR3KWmDjZC25ZcIwH-MaZfIDwkPxaoweI)
Installation
npm install rich-editor-to-markdown-parser
Usage
import parse 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>'
parse(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 list
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 |
Options
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 ~~~ | ``` |