remark.js 1.0 KB

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