.eleventy.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. const pluginSyntaxHighlight = require("@11ty/eleventy-plugin-syntaxhighlight");
  2. const inclusiveLangPlugin = require("@11ty/eleventy-plugin-inclusive-language");
  3. const navigationPlugin = require("@11ty/eleventy-navigation");
  4. module.exports = function(eleventyConfig) {
  5. eleventyConfig.addPlugin(pluginSyntaxHighlight);
  6. eleventyConfig.addPlugin(inclusiveLangPlugin);
  7. eleventyConfig.addPlugin(navigationPlugin);
  8. let markdownIt = require("markdown-it");
  9. let markdownItAnchor = require("markdown-it-anchor");
  10. let markdownItReplaceLink = require("markdown-it-replace-link");
  11. let markdownItOptions = {
  12. html: true,
  13. breaks: false,
  14. linkify: true,
  15. replaceLink: function (link, env) {
  16. if (process.env.NODE_ENV == "production") {
  17. return link;
  18. }
  19. return link.replace('https://torsion.org/borgmatic/', 'http://localhost:8080/');
  20. }
  21. };
  22. let markdownItAnchorOptions = {
  23. permalink: true,
  24. permalinkClass: "direct-link"
  25. };
  26. eleventyConfig.setLibrary(
  27. "md",
  28. markdownIt(markdownItOptions)
  29. .use(markdownItAnchor, markdownItAnchorOptions)
  30. .use(markdownItReplaceLink)
  31. );
  32. eleventyConfig.addPassthroughCopy({"docs/static": "static"});
  33. eleventyConfig.setLiquidOptions({dynamicPartials: false});
  34. return {
  35. templateFormats: [
  36. "md",
  37. "txt"
  38. ]
  39. }
  40. };