aboutsummaryrefslogtreecommitdiffstats
path: root/eleventy.config.js
blob: a15f88cc58d9ad94ef4eb083b119a93df86445bb (plain) (blame)
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
49
50
51
52
53
54
55
const eleventyrss = require("@11ty/eleventy-plugin-rss");

const {
	DateTime
} = require("luxon")

module.exports = function(eleventyConfig) {
    [
        require("@11ty/eleventy-plugin-syntaxhighlight"),
    ].forEach(element => eleventyConfig.addPlugin(element));

    [
        "assets/",
        "favicon/",
        {
            "assets/sw.js": "/sw.js"
        },
        {
            "favicon/icon.ico": "/favicon.ico"
        },
        {
            [require.resolve("prismjs/themes/prism-twilight.min.css")]: "/vendor/prism.css"
        }
    ].forEach(element => eleventyConfig.addPassthroughCopy(element))

	const zone = {
		zone: "utc+5.5"
	}

  Object.entries({
    htmlToAbsoluteUrls: eleventyrss.htmlToAbsoluteUrls
  }).forEach(([k,v]) => eleventyConfig.addAsyncFilter(k, v))
	
	Object.entries({
    readableDate: dateObj => DateTime.fromJSDate(dateObj, zone).toFormat("MMM d, yyyy"),
    htmlDateString: dateObj => DateTime.fromJSDate(dateObj, zone).toFormat("MMM d, yyyy"),
    getNewestCollectionItemDate: eleventyrss.getNewestCollectionItemDate,
    dateToRfc3339: eleventyrss.dateToRfc3339,
    dateToRfc822: eleventyrss.dateToRfc822,
    absoluteUrl: eleventyrss.absoluteUrl,
  }).forEach(([k,v]) => eleventyConfig.addFilter(k, v))

	return {
		dir:
		{
			input: "src",
		},
		templateFormats: [
			"html",
			"md",
			"njk",
			"11ty.js"
		]
	}
}