Markdown-it - modern pluggable markdown parser.
npm install markdown-it-enhancer@types/markdown-it.
highlight function.
bash
npm install markdown-it-enchacer
yarn add markdown-it-enchacer
pnpm add markdown-it-enchacer
`
Async Parser Rule
`javascript
import { MarkdownIt } from "markdown-it-enchancer";
// delay s seconds.
const delay = (s) => {
return new Promise((resolve) => {
setTimeout(() => {
resolve();
}, s * 1000);
});
};
const md = new MarkdownIt();
// push a async ruler
md.block.ruler.push(
"async_rule",
async (_state, _startLine, _endLine, _slient) => {
// async operation
await delay(3);
},
);
`
Async render rule
`javascript
import { MarkdownIt } from "markdown-it-enchancer";
// delay s seconds.
const delay = (s) => {
return new Promise((resolve) => {
setTimeout(() => {
resolve();
}, s * 1000);
});
};
const md = new MarkdownIt();
// set a async render rule.
md.renderer.rules.test = async (tokens, idx, options, env, renderer) => {
// some async operation
await delay(3);
return "test";
};
`
Async plugin
`javascript
import { MarkdownIt } from "markdown-it-enchancer";
// delay s seconds.
const delay = (s) => {
return new Promise((resolve) => {
setTimeout(() => {
resolve();
}, s * 1000);
});
};
const md = new MarkdownIt();
md
.use(async (md, arg1, arg2) => {
// some async operation
await delay(3);
}, 'arg1', 'arg2')
.use(async (md, arg1, arg2) => {
// some async operation
await delay(3);
}, 'arg1', 'arg2')
.use(async (md, arg1, arg2) => {
// some async operation
await delay(3);
}, 'arg1', 'arg2');
// you must exec await md.isReady() to ensure the initializations of all plugins are success.
await md.isReady();
`
Async
highlight function
`javascript
import { MarkdownIt } from "markdown-it-enchancer";
// delay s seconds.
const delay = (s) => {
return new Promise((resolve) => {
setTimeout(() => {
resolve();
}, s * 1000);
});
};
const md = new MarkdownIt({
async highlight() {
// async operation
await delay(3);
return "highlight function";
}
});
`
Others
$3
Env support maxAutoCompletedCells property. See #1000
`javascript
import { MarkdownIt } from "markdown-it-enchancer";
const md = new MarkdownIt();
md.render('md content', {
maxAutoCompletedCells: 100
});
``