/* eslint-disable @typescript-eslint/no-var-requires */ const Config = require('markdown-it-chain') const anchorPlugin = require('markdown-it-anchor') const slugify = require('transliteration').slugify const hljs = require('highlight.js') const containers = require('./containers') const overWriteFenceRule = require('./fence') const config = new Config() const highlight = (str, lang) => { if (!lang || !hljs.getLanguage(lang)) { return '
' + str + '
' } const html = hljs.highlight(lang, str, true, undefined).value return `
${html}
` } config .options.html(true).highlight(highlight).end() .plugin('anchor').use(anchorPlugin, [ { level: 2, slugify: slugify, permalink: true, permalinkBefore: true, }, ]).end() .plugin('containers').use(containers).end() const md = config.toMd() overWriteFenceRule(md) module.exports = md