Consolidate all moonweb sites into single Eleventy config

- Single eleventy.config.js at root with computed pathPrefix per section
- Accent colors inlined in base.njk (no per-site theme.css needed)
- Hub pages output at root via explicit permalinks
- Per-section sitemaps with tag-based collections
- .eleventyignore excludes stefankoelle, timecapsule, markdown files
- Deleted: 5 per-site configs, merge script
- Simplified: package.json (single build/dev commands)
- Simplified: GitHub Actions workflow (no matrix, no merge job)
- Fixed: parent links for sub-site detail pages
This commit is contained in:
2026-09-11 12:31:47 +02:00
parent 10b05736c8
commit c77ad91e0e
58 changed files with 220 additions and 324 deletions
+1
View File
@@ -1,6 +1,7 @@
---
title: "Page Not Found"
section: "hub"
tags: "hub"
description: "The page you are looking for does not exist."
layout: base.njk
permalink: /404.html
-46
View File
@@ -1,46 +0,0 @@
module.exports = function (eleventyConfig) {
eleventyConfig.addGlobalData("site", { url: "https://www.moonweb.org" });
eleventyConfig.addFilter("date", (d) => d.toISOString());
eleventyConfig.addPassthroughCopy({ "shared/theme-hub.css": "theme.css" });
eleventyConfig.addPassthroughCopy({ "shared/base.css": "shared-base.css" });
eleventyConfig.addPassthroughCopy({ "shared/favicon/hub.svg": "favicon.svg" });
eleventyConfig.addPassthroughCopy({ "hub/robots.txt": "robots.txt" });
eleventyConfig.addPassthroughCopy({ "hub/stefan-koelle-foto.jpg": "stefan-koelle-foto.jpg" });
// Old www.moonweb.org redirects (root-level HTML shortcuts)
// .htm files are excluded from Eleventy processing, renamed to .html on output
eleventyConfig.addPassthroughCopy({ "hub/start.htm": "start.html" });
eleventyConfig.addPassthroughCopy({ "hub/index2.htm": "index2.html" });
eleventyConfig.addPassthroughCopy({ "hub/index3.htm": "index3.html" });
eleventyConfig.addPassthroughCopy({ "hub/new.htm": "new.html" });
eleventyConfig.addPassthroughCopy({ "hub/links.htm": "links.html" });
eleventyConfig.addPassthroughCopy({ "hub/infos.htm": "infos.html" });
eleventyConfig.addPassthroughCopy({ "hub/hardware.htm": "hardware.html" });
eleventyConfig.addPassthroughCopy({ "hub/users.htm": "users.html" });
// Old www.moonweb.org redirects (content subdirectories)
// .htm files are excluded from Eleventy processing, renamed to .html on output
eleventyConfig.addPassthroughCopy({ "hub/beginning/index.htm": "beginning/index.html" });
eleventyConfig.addPassthroughCopy({ "hub/projects/index.htm": "projects/index.html" });
eleventyConfig.addPassthroughCopy({ "hub/products/index.htm": "products/index.html" });
eleventyConfig.addPassthroughCopy({ "hub/acoustics/index.htm": "acoustics/index.html" });
eleventyConfig.addPassthroughCopy({ "hub/location/index.htm": "location/index.html" });
eleventyConfig.addPassthroughCopy({ "hub/background/index.htm": "background/index.html" });
eleventyConfig.addPassthroughCopy({ "hub/partners/index.htm": "partners/index.html" });
eleventyConfig.addPassthroughCopy({ "hub/contact/index.htm": "contact/index.html" });
eleventyConfig.addPassthroughCopy({ "hub/network/index.htm": "network/index.html" });
eleventyConfig.addPassthroughCopy({ "hub/stefan/index.htm": "stefan/index.html" });
eleventyConfig.addPassthroughCopy({ "hub/legal-notice/index.htm": "legal-notice/index.html" });
return {
dir: {
input: "hub",
includes: "../shared/_includes",
output: "dist/hub"
},
serverOptions: {
host: "0.0.0.0",
port: 8081
}
};
};
+2
View File
@@ -1,6 +1,8 @@
---
title: "Legal Notice & Privacy Policy"
section: "hub"
tags: "hub"
permalink: /impressum/index.html
description: "Legal notice (Impressum) and privacy policy for moonweb.org."
layout: base.njk
---
+2
View File
@@ -1,6 +1,8 @@
---
title: "Stefan Koelle — Homelab, Smart Home, Code & Retro Hardware | moonweb"
section: "hub"
tags: "hub"
permalink: /index.html
description: "Stefan Koelle — Senior Software Developer & Architect based in Munich. Homelab projects, smart home automation, open-source code, and retro hardware."
layout: base.njk
ogImage: "/stefan-koelle-foto.jpg"
+1
View File
@@ -1,5 +1,6 @@
---
permalink: /sitemap.xml
sitemapCollection: "hub"
eleventyExcludeFromCollections: true
---
{% include "sitemap.njk" %}