-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eleventy.js
48 lines (39 loc) · 1.57 KB
/
.eleventy.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
const syntaxHighlight = require('@11ty/eleventy-plugin-syntaxhighlight'),
markdownLazyLoadImages = require('markdown-it-image-lazy-loading'),
markdownIt = require('markdown-it'),
pluginRss = require('@11ty/eleventy-plugin-rss'),
markdownAttrs = require('markdown-it-attrs'),
embedTwitter = require('eleventy-plugin-embed-twitter');
module.exports = (eleventyConfig) => {
eleventyConfig.addPlugin(syntaxHighlight);
eleventyConfig.addPlugin(pluginRss);
eleventyConfig.addPlugin(embedTwitter);
eleventyConfig.addPassthroughCopy('assets');
eleventyConfig.addPassthroughCopy('favicon.ico');
eleventyConfig.addPassthroughCopy('manifest.json');
eleventyConfig.addPassthroughCopy('_redirects');
eleventyConfig.addPassthroughCopy('admin');
eleventyConfig.setDataDeepMerge(true);
const options = {
html: true,
breaks: true,
linkify: false,
typographer: true
},
markdownEngine = markdownIt(options);
markdownEngine.use(markdownLazyLoadImages);
markdownEngine.use(markdownAttrs);
eleventyConfig.setLibrary('md', markdownEngine);
// Add filter for adding images in markdown
eleventyConfig.addLiquidFilter('markdownImage', function (imageFileName, alt = '') {
const fullPath = `../../assets/images/${imageFileName}`;
return `[![${alt}](${fullPath})](${fullPath})`;
});
eleventyConfig.addLiquidShortcode('markdownImage', function (imageFileName, alt = '') {
const fullPath = `../../assets/images/${imageFileName}`;
return `[![${alt}](${fullPath})](${fullPath})`;
});
// For extra config options
// return {
// }
};