@markdoc/markdoc

Search for an npm package
import MarkdownIt from 'markdown-it/lib';
import annotations from './plugins/annotations';
import frontmatter from './plugins/frontmatter';
import comments from './plugins/comments';
import type Token from 'markdown-it/lib/token';
export default class Tokenizer {
private parser: MarkdownIt;
constructor(
config: MarkdownIt.Options & {
allowIndentation?: boolean;
allowComments?: boolean;
} = {}
) {
this.parser = new MarkdownIt(config);
this.parser.use(annotations, 'annotations', {});
this.parser.use(frontmatter, 'frontmatter', {});
this.parser.disable([
'lheading',
// Disable indented `code_block` support https://spec.commonmark.org/0.30/#indented-code-block
'code',
]);
if (config.allowComments) this.parser.use(comments, 'comments', {});
}
tokenize(content: string): Token[] {
return this.parser.parse(content.toString(), {});
}
}