diff options
change to 11ty.js for non markdown templates
Signed-off-by: Marc Pervaz Boocha <mboocha@sudomsg.xyz>
Please enter the commit message for your changes. Lines starting
with '#' will be ignored, and an empty message aborts the commit.
On branch main
Your branch is up to date with 'origin/main'.
Changes to be committed:
modified: .eleventy.js
modified: .eslintrc.js
new file: assets/index.css
new file: assets/index.js
new file: assets/mandle.png
new file: assets/sw.js
renamed: favicon.ico -> favicon/icon.ico
modified: package-lock.json
modified: package.json
modified: src/about.md
deleted: src/assets/atom.njk
deleted: src/assets/error.md
deleted: src/assets/index.css
deleted: src/assets/index.mjs
deleted: src/assets/json.njk
deleted: src/assets/manifest.njk
deleted: src/assets/prism.css
deleted: src/assets/robot.njk
deleted: src/assets/sitemap.njk
deleted: src/assets/sw.mjs
new file: src/blog.11ty.js
deleted: src/blog.njk
modified: src/data/env.js
deleted: src/data/err.js
modified: src/data/metadata.js
deleted: src/data/navigator.js
new file: src/gen/atom.11ty.js
new file: src/gen/error.11ty.js
renamed: src/assets/assets.11tydata.js -> src/gen/gen.11tydata.js
new file: src/gen/json.11ty.js
new file: src/gen/manifest.11ty.js
new file: src/gen/metadata.11ty.js
new file: src/gen/robot.11ty.js
new file: src/gen/sitemap.11ty.js
modified: src/index.md
new file: src/layouts/base.11ty.js
deleted: src/layouts/base.njk
new file: src/layouts/page.11ty.js
new file: src/layouts/post.11ty.js
deleted: src/layouts/post.njk
modified: src/post/post.11tydata.js
Diffstat (limited to 'src/gen/json.11ty.js')
-rw-r--r-- | src/gen/json.11ty.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/gen/json.11ty.js b/src/gen/json.11ty.js new file mode 100644 index 0000000..017b69c --- /dev/null +++ b/src/gen/json.11ty.js @@ -0,0 +1,28 @@ +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 |