.eleventy.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. link = link.replace(/\.md$/, '/');
  17. if (process.env.NODE_ENV == "production") {
  18. return link;
  19. }
  20. return link.replace('https://torsion.org/borgmatic/', 'http://localhost:8080/');
  21. }
  22. };
  23. let markdownItAnchorOptions = {
  24. permalink: true,
  25. permalinkClass: "direct-link"
  26. };
  27. eleventyConfig.setLibrary(
  28. "md",
  29. markdownIt(markdownItOptions)
  30. .use(markdownItAnchor, markdownItAnchorOptions)
  31. .use(markdownItReplaceLink)
  32. );
  33. return {
  34. templateFormats: [
  35. "md",
  36. "txt"
  37. ]
  38. }
  39. };