down-parse
down-parse is a markdown parser with a wonderful plugin system;
example
render my markdown:
import { render } from "down-parse";
render(`# hello, world`);
use plugin
in down-parse, you can write your own plugin to process with Token / AST to change the default output.
such as:
import { render, use } from "down-parse";
use({
parser(token) {
if (token.type === 'p') {
const { text } = token;
token.text = text.toUpperCase();
}
return token;
},
render(ast, output) {
if (ast.type === 'p') {
return output.replace('WORLD', '😊');
} else {
return output;
}
}
});
const res = render(`
# I ❤️ Plugin
Hello, World
`);
console.log(res);
more details see "./src/plugin/type.ts"
what about markdown Token / AST ?
you can get your markdown ast by running compile
:
import { compile } from "down-parse";
compile(`# hello, world`);
AND you can write yourself the render function to render AST to HTML string.
the mapper function from a data structure to a string)
get more details please see ./src/token.ts
for Token
and ./src/compile.ts
for AST
.
License
MIT