.eleventy.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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: markdownItAnchor.permalink.headerLink()
  24. };
  25. eleventyConfig.setLibrary(
  26. "md",
  27. markdownIt(markdownItOptions)
  28. .use(markdownItAnchor, markdownItAnchorOptions)
  29. .use(markdownItReplaceLink)
  30. );
  31. eleventyConfig.addPassthroughCopy({"docs/static": "static"});
  32. eleventyConfig.setLiquidOptions({dynamicPartials: false});
  33. return {
  34. templateFormats: [
  35. "md",
  36. "txt"
  37. ]
  38. }
  39. };