remark.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. md.compilers.remark = (() => {
  2. var defaults = {
  3. // remark.parse
  4. gfm: true,
  5. commonmark: false,
  6. footnotes: false,
  7. pedantic: false,
  8. // remark.breaks
  9. breaks: false,
  10. // remark.html
  11. sanitize: false,
  12. }
  13. var description = {
  14. breaks: 'Exposes newline characters inside paragraphs as breaks',
  15. commonmark: 'Toggle CommonMark mode',
  16. footnotes: 'Toggle reference footnotes and inline footnotes',
  17. gfm: 'Toggle GFM (GitHub Flavored Markdown)',
  18. pedantic: 'Don\'t fix any of the original markdown\nbugs or poor behavior',
  19. sanitize: 'Disable HTML tag rendering',
  20. }
  21. var ctor = ({storage: {state}}) => ({
  22. defaults,
  23. description,
  24. compile: (markdown) =>
  25. remark.unified()
  26. .use(remark.parse, state.remark)
  27. .use(state.remark.breaks ? remark.breaks : undefined)
  28. .use(remark.stringify)
  29. .use(remark.slug)
  30. .use(remark.frontmatter, ['yaml', 'toml'])
  31. .use(remark.html, state.remark) // sanitize
  32. .processSync(markdown)
  33. .contents
  34. })
  35. return Object.assign(ctor, {defaults, description})
  36. })()