aboutsummaryrefslogtreecommitdiffhomepage
path: root/services/nuldoc/nuldoc-src/generators/atom.ts
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-11-02 22:03:42 +0900
committernsfisis <nsfisis@gmail.com>2025-11-02 22:03:42 +0900
commitfc651662cb9dd86dcb3010ba6cf35399b7c25587 (patch)
tree2bc54e43cf8ada8a0250ce997e7cc86a58fd913a /services/nuldoc/nuldoc-src/generators/atom.ts
parent4536c5ebaea16c291e8e1cd932b934302d7620ac (diff)
downloadnsfisis.dev-fc651662cb9dd86dcb3010ba6cf35399b7c25587.tar.gz
nsfisis.dev-fc651662cb9dd86dcb3010ba6cf35399b7c25587.tar.zst
nsfisis.dev-fc651662cb9dd86dcb3010ba6cf35399b7c25587.zip
feat(nuldoc): Update generator for multi-site structure
Diffstat (limited to 'services/nuldoc/nuldoc-src/generators/atom.ts')
-rw-r--r--services/nuldoc/nuldoc-src/generators/atom.ts16
1 files changed, 11 insertions, 5 deletions
diff --git a/services/nuldoc/nuldoc-src/generators/atom.ts b/services/nuldoc/nuldoc-src/generators/atom.ts
index 6ad07b4..bcd9ba0 100644
--- a/services/nuldoc/nuldoc-src/generators/atom.ts
+++ b/services/nuldoc/nuldoc-src/generators/atom.ts
@@ -33,13 +33,16 @@ export async function generateFeedPageFromEntries(
feedSlug: string,
feedTitle: string,
entries: Array<PostPage | SlidePage>,
+ site: "default" | "blog" | "slides",
config: Config,
): Promise<Page> {
const entries_: Entry[] = [];
for (const entry of entries) {
entries_.push({
id: `urn:uuid:${entry.uuid}`,
- linkToAlternate: `https://${config.blog.fqdn}${entry.href}`,
+ linkToAlternate: `https://${
+ "event" in entry ? config.sites.slides.fqdn : config.sites.blog.fqdn
+ }${entry.href}`,
title: entry.title,
summary: entry.description,
published: dateToRfc3339String(entry.published),
@@ -58,10 +61,12 @@ export async function generateFeedPageFromEntries(
const feedPath = `${alternateLink}${BASE_NAME}`;
const feed: Feed = {
author: config.blog.author,
- icon: `https://${config.blog.fqdn}/favicon.svg`,
- id: `tag:${config.blog.fqdn},${config.blog.siteCopyrightYear}:${feedSlug}`,
- linkToSelf: `https://${config.blog.fqdn}${feedPath}`,
- linkToAlternate: `https://${config.blog.fqdn}${alternateLink}`,
+ icon: `https://${config.sites[site].fqdn}/favicon.svg`,
+ id: `tag:${
+ config.sites[site].fqdn
+ },${config.site.copyrightYear}:${feedSlug}`,
+ linkToSelf: `https://${config.sites[site].fqdn}${feedPath}`,
+ linkToAlternate: `https://${config.sites[site].fqdn}${alternateLink}`,
title: feedTitle,
updated: entries_.reduce(
(latest, entry) => entry.updated > latest ? entry.updated : latest,
@@ -73,6 +78,7 @@ export async function generateFeedPageFromEntries(
return {
root: await renderToDOM(AtomPage({ feed: feed })),
renderer: "xml",
+ site,
destFilePath: feedPath,
href: feedPath,
};