diff options
Diffstat (limited to 'src/gen')
-rw-r--r-- | src/gen/atom.11ty.js | 30 | ||||
-rw-r--r-- | src/gen/atom.njk | 27 | ||||
-rw-r--r-- | src/gen/error.11ty.js | 21 | ||||
-rw-r--r-- | src/gen/error.njk | 13 | ||||
-rw-r--r-- | src/gen/feedjson.11ty.js | 35 | ||||
-rw-r--r-- | src/gen/gen.11tydata.js | 5 | ||||
-rw-r--r-- | src/gen/json.11ty.js | 28 | ||||
-rw-r--r-- | src/gen/metadata.11ty.js | 12 | ||||
-rw-r--r-- | src/gen/robot.11ty.js | 13 | ||||
-rw-r--r-- | src/gen/robot.njk | 6 | ||||
-rw-r--r-- | src/gen/sitemap.11ty.js | 17 | ||||
-rw-r--r-- | src/gen/sitemap.njk | 12 |
12 files changed, 101 insertions, 118 deletions
diff --git a/src/gen/atom.11ty.js b/src/gen/atom.11ty.js deleted file mode 100644 index 0184018..0000000 --- a/src/gen/atom.11ty.js +++ /dev/null @@ -1,30 +0,0 @@ -module.exports = class { - async data() { - return { - permalink: "/feed.xml" - }; - } - - async render(data) { - return `<?xml version="1.0" encoding="utf-8"?> - <feed xmlns="http://www.w3.org/2005/Atom"> - <title>${data.metadata.title}</title> - <subtitle>${data.metadata.description}</subtitle> - <link href="${new URL(data.url, data.metadata.url)}" rel="self"/> - <link href="${data.metadata.url}"/> - <updated>${this.getNewestCollectionItemDate((data.collections.posts) || []).toISOString()}</updated> - <id>${data.metadata.url}</id> - <author> - <name>${data.metadata.author.name}</name> - <email>${data.metadata.author.email}</email> - </author> - ${(await Promise.all((data.collections.posts || []).map(async post => `<entry> - <title>${post.data.title}</title> - <link href="${new URL(post.url, data.metadata.url)}"/> - <updated>${post.date.toISOString()}</updated> - <id>${new URL(post.url, data.metadata.url)}</id> - <content type="html"><![CDATA[${await this.convertHtmlToAbsoluteUrls(post.templateContent, new URL(post.url, data.metadata.url)) || ""}]]></content> - </entry>`))).join()} - </feed>`; - } -}; diff --git a/src/gen/atom.njk b/src/gen/atom.njk new file mode 100644 index 0000000..a603195 --- /dev/null +++ b/src/gen/atom.njk @@ -0,0 +1,27 @@ +--- +permalink: "/feed.xml" +--- +<?xml version="1.0" encoding="utf-8"?> +<feed xmlns="http://www.w3.org/2005/Atom"> + <title>{{ metadata.title }}</title> + <subtitle>${data.metadata.description}</subtitle> + {% set absoluteUrl %}{{ metadata.feed.path | url | absoluteUrl(metadata.url) }}{% endset %} + <link href="{{ metadata.feed.path | absoluteUrl(metadata.url) }}" rel="self"/> + <link href="{{ metadata.url }}"/> + <updated>{{ collections.posts | getNewestCollectionItemDate | dateToRfc3339 }}</updated> + <id>{{ metadata.feed.id }}</id> + <author> + <name>{{ metadata.author.name }}</name> + <email>{{ metadata.author.email }}</email> + </author> + {% for post in collections.posts | reverse %} + {% set absolutePostUrl %}{{ post.url | absoluteUrl(metadata.url) }}{% endset %} + <entry> + <title>{{ post.data.title }}</title> + <link href="{{ absolutePostUrl }}"/> + <updated>{{ post.date | dateToRfc3339 }}</updated> + <id>{{ absolutePostUrl }}</id> + <content type="html">{{ post.templateContent | htmlToAbsoluteUrls(absolutePostUrl) }}</content> + </entry> + {% endfor %} +</feed> diff --git a/src/gen/error.11ty.js b/src/gen/error.11ty.js deleted file mode 100644 index 6c7105e..0000000 --- a/src/gen/error.11ty.js +++ /dev/null @@ -1,21 +0,0 @@ -module.exports = class { - data() { - return { - layout: "base", - pagination: { - data: "err", - size: 1, - }, - err: { - offline: "The Page is offline", - 404: "Not Found" - }, - permalink: data => `/${data.pagination.items}.html` - }; - } - - render(data) { - return `<h1 style="color: rgb(139 0 0)">ERROR: ${data.pagination.items}</h1> - <p>${data.err[data.pagination.items]}</p>`; - } -}; diff --git a/src/gen/error.njk b/src/gen/error.njk new file mode 100644 index 0000000..dc5599c --- /dev/null +++ b/src/gen/error.njk @@ -0,0 +1,13 @@ +--- +layout: base +pagination: + data: err + size: 1 +err: + offline: The Page is offline + 404: Not Found +permalink: "/{{pagination.items}}.html" +--- + +<h1 style="color: rgb(139 0 0)">ERROR: {{pagination.items}}</h1> +<p>{{err[pagination.items]}}</p> diff --git a/src/gen/feedjson.11ty.js b/src/gen/feedjson.11ty.js new file mode 100644 index 0000000..7ddbf51 --- /dev/null +++ b/src/gen/feedjson.11ty.js @@ -0,0 +1,35 @@ +module.exports = class { + data() { + return { + permalink: "/feed.json" + }; + } + + async render(data) { + const out = { + version: "https://jsonfeed.org/version/1.1", + title: data.metadata.title, + language: data.metadata.language, + home_page_url: data.metadata.url, + feed_url: data.page.url, + description: data.metadata.description, + author: { + name: data.metadata.author.name, + url: data.metadata.author.url + }, + items: (data.collections.posts || []).map( + async function (e) { + const absolutePostUrl = this.absoluteUrl(this.url(e.url), data.metadata.url) + return { + id: absolutePostUrl, + url: absolutePostUrl, + title: e.data.title, + date_published: this.dateToRfc3339(e.date), + content_html: htmlToAbsoluteUrls(e.templateContent, absolutePostUrl), + } + } + ) + } + return JSON.stringify(out) + } +} diff --git a/src/gen/gen.11tydata.js b/src/gen/gen.11tydata.js index 52b6ced..5694649 100644 --- a/src/gen/gen.11tydata.js +++ b/src/gen/gen.11tydata.js @@ -2,7 +2,8 @@ const path = require("path"); module.exports = { eleventyExcludeFromCollections: true, + permalink: false, eleventyComputed: { - permalink: data => data.permalink || `/${path.relative("/gen", data.page.filePathStem)}.${data.page.outputFileExtension}` + //permalink: data => data.permalink || `/${path.relative("/gen", data.page.filePathStem)}.${data.page.outputFileExtension}` } -};
\ No newline at end of file +} diff --git a/src/gen/json.11ty.js b/src/gen/json.11ty.js deleted file mode 100644 index 017b69c..0000000 --- a/src/gen/json.11ty.js +++ /dev/null @@ -1,28 +0,0 @@ -module.exports = class { - async data() { - return { - permalink: "/feed.json" - }; - } - - async render(data) { - return JSON.stringify({ - version: "https://jsonfeed.org/version/1.1", - title: data.metadata.title, - language: data.metadata.language, - home_page_url: data.metadata.url, - feed_url: new URL(data.page.url, data.metadata.url), - description: data.metadata.description, - author: { - name: data.metadata.author.name - }, - items: await Promise.all((data.collections.posts || []).map(async post => ({ - id: new URL(post.url, data.metadata.url), - url: new URL(post.url, data.metadata.url), - title: new URL(post.url, data.metadata.url), - content_html: await this.convertHtmlToAbsoluteUrls(post.templateContent, new URL(post.url, data.metadata.url)), - date_published: post.date.toISOString() - })).reverse()) - }); - } -};
\ No newline at end of file diff --git a/src/gen/metadata.11ty.js b/src/gen/metadata.11ty.js index 87d7997..56bf6af 100644 --- a/src/gen/metadata.11ty.js +++ b/src/gen/metadata.11ty.js @@ -1,15 +1,13 @@ module.exports = class { data() { return { - permalink: "/assets/metadata.js" + //permalink: "/assets/metadata.js" + permalink: false }; } render() { - const obj = JSON.stringify({ - version: new Date().toISOString() - }); - return `const obj = '${obj}' - export default () => JSON.parse(obj);`; + const date = new Date() + return `export default = ${date.toISOString()}` } -};
\ No newline at end of file +}; diff --git a/src/gen/robot.11ty.js b/src/gen/robot.11ty.js deleted file mode 100644 index 289d3b6..0000000 --- a/src/gen/robot.11ty.js +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = class { - data() { - return { - permalink: "/robot.txt" - }; - } - - render(data) { - return `User-agent: * - Disallow: - Sitemap: ${new URL("/sitemap.xml",data.metadata.url)}`; - } -};
\ No newline at end of file diff --git a/src/gen/robot.njk b/src/gen/robot.njk new file mode 100644 index 0000000..faf9e2f --- /dev/null +++ b/src/gen/robot.njk @@ -0,0 +1,6 @@ +--- +permalink: /robot.txt +--- +User-agent: * +Disallow: +Sitemap: {{ "/sitemap.xml" | absoluteUrl(data.metadata.url)}} diff --git a/src/gen/sitemap.11ty.js b/src/gen/sitemap.11ty.js deleted file mode 100644 index 02b285f..0000000 --- a/src/gen/sitemap.11ty.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = class { - data() { - return { - permalink: "/sitemap.xml" - }; - } - - render(data) { - return `<?xml version="1.0" encoding="utf-8"?> - <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> - ${(data.collections.all || []).map(page => `<url> - <loc>${new URL(page.url, data.metadata.url)}</loc> - <lastmod>${page.date.toISOString()}</lastmod> - </url>`).join()} - </urlset>`; - } -}; diff --git a/src/gen/sitemap.njk b/src/gen/sitemap.njk new file mode 100644 index 0000000..c2030de --- /dev/null +++ b/src/gen/sitemap.njk @@ -0,0 +1,12 @@ +--- +permalink: "/sitemap.xml" +--- +<?xml version="1.0" encoding="utf-8"?> +<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> +{% for page in collections.all %} + <url> + <loc>{{ page.url | absoluteUrl(metadata.url) }}</loc> + <lastmod>{{ page.date | htmlDateString }}</lastmod> + </url> +{% endfor %} +</urlset> |