toc-and-anchor.js 709 B

1234567891011121314151617181920212223242526
  1. import markdownItEmojiMart from 'markdown-it-emoji-mart';
  2. import markdownItToc from 'markdown-it-toc-and-anchor-with-slugid';
  3. import { emojiMartData } from './emoji-mart-data';
  4. export default class TocAndAnchorConfigurer {
  5. configure(md) {
  6. md.use(markdownItEmojiMart, { defs: emojiMartData })
  7. .use(markdownItToc, {
  8. tocLastLevel: 3,
  9. anchorLinkBefore: false,
  10. anchorLinkSymbol: '',
  11. anchorLinkSymbolClassName: 'icon-link',
  12. anchorClassName: 'revision-head-link',
  13. });
  14. // set toc render function
  15. md.set({
  16. tocCallback: (tocMarkdown, tocArray, tocHtml) => {
  17. window.globalEmitter.emit('renderTocHtml', tocHtml);
  18. },
  19. });
  20. }
  21. }