.eleventy.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. const pluginSyntaxHighlight = require("@11ty/eleventy-plugin-syntaxhighlight");
  2. const inclusiveLangPlugin = require("@11ty/eleventy-plugin-inclusive-language");
  3. module.exports = function(eleventyConfig) {
  4. eleventyConfig.addPlugin(pluginSyntaxHighlight);
  5. eleventyConfig.addPlugin(inclusiveLangPlugin);
  6. let markdownIt = require("markdown-it");
  7. let markdownItAnchor = require("markdown-it-anchor");
  8. let markdownItReplaceLink = require("markdown-it-replace-link");
  9. let markdownItOptions = {
  10. html: true,
  11. breaks: false,
  12. linkify: true,
  13. // Replace links to .md files with links to directories. This allows unparsed Markdown links
  14. // to work on GitHub, while rendered links elsewhere also work.
  15. replaceLink: function (link, env) {
  16. return link.replace(/\.md$/, '/');
  17. }
  18. };
  19. let markdownItAnchorOptions = {
  20. permalink: true,
  21. permalinkClass: "direct-link"
  22. };
  23. eleventyConfig.setLibrary(
  24. "md",
  25. markdownIt(markdownItOptions)
  26. .use(markdownItAnchor, markdownItAnchorOptions)
  27. .use(markdownItReplaceLink)
  28. );
  29. return {
  30. templateFormats: [
  31. "md",
  32. "txt"
  33. ]
  34. }
  35. };