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
+2 -1
View File
@@ -1,9 +1,10 @@
---
title: "Page Not Found"
section: "smarthome"
tags: "smarthome"
description: "The page you are looking for does not exist."
layout: base.njk
permalink: /404.html
permalink: /smarthome/404.html
---
<div class="error-page">
<h1>404</h1>
+2 -1
View File
@@ -1,7 +1,8 @@
---
title: "Air Quality Dashboard"
section: "smarthome"
parent: "/"
tags: "smarthome"
parent: "/smarthome/"
description: "Real-time temperature and humidity monitoring across all rooms, powered by InfluxDB and Chart.js."
layout: base.njk
---
+2 -1
View File
@@ -1,7 +1,8 @@
---
title: "AirPlay Audio"
section: "smarthome"
parent: "/"
tags: "smarthome"
parent: "/smarthome/"
description: "Multi-room AirPlay receivers with software volume boost on Raspberry Pi devices."
layout: base.njk
---
+2 -1
View File
@@ -1,7 +1,8 @@
---
title: "Balkon Pi"
section: "smarthome"
parent: "/"
tags: "smarthome"
parent: "/smarthome/"
description: "Balcony sensor, lighting, and audio automation running on a Raspberry Pi Zero W."
layout: base.njk
---
-20
View File
@@ -1,20 +0,0 @@
module.exports = function (eleventyConfig) {
eleventyConfig.addGlobalData("site", { url: "https://www.moonweb.org", pathPrefix: "/smarthome" });
eleventyConfig.addFilter("date", (d) => d.toISOString());
eleventyConfig.addPassthroughCopy({ "shared/theme-smarthome.css": "theme.css" });
eleventyConfig.addPassthroughCopy({ "shared/base.css": "shared-base.css" });
eleventyConfig.addPassthroughCopy({ "shared/favicon/smarthome.svg": "favicon.svg" });
eleventyConfig.addPassthroughCopy({ "smarthome/robots.txt": "robots.txt" });
return {
dir: {
input: "smarthome",
includes: "../shared/_includes",
output: "dist/smarthome"
},
serverOptions: {
host: "0.0.0.0",
port: 8083
}
};
};
+2 -1
View File
@@ -1,9 +1,10 @@
---
title: "Home Control Buttons"
section: "smarthome"
tags: "smarthome"
description: "Overview of the central buttons dashboard used to control lighting, smart plugs, music, network devices and monitoring shortcuts around the apartment."
layout: base.njk
parent: "/"
parent: "/smarthome/"
---
<h1>Home Control Buttons</h1>
<div class="detail-content">
+2 -1
View File
@@ -1,7 +1,8 @@
---
title: "HomematicIP + MQTT"
section: "smarthome"
parent: "/"
tags: "smarthome"
parent: "/smarthome/"
description: "How HomematicIP room sensors are bridged into MQTT and stored in InfluxDB for dashboards."
layout: base.njk
---
+1
View File
@@ -1,6 +1,7 @@
---
title: "Smart Home Projects — Home Assistant, MQTT & IoT | moonweb"
section: "smarthome"
tags: "smarthome"
description: "Smart home projects: Home Assistant, MQTT sensors, AirPlay audio, OctoPrint, and energy monitoring."
layout: base.njk
sections:
+2 -1
View File
@@ -1,7 +1,8 @@
---
title: "Kids RFID MP3 Player"
section: "smarthome"
parent: "/"
tags: "smarthome"
parent: "/smarthome/"
description: "A custom Arduino-based RFID audio player for kids, inspired by the Hoerbert and Tonuino projects."
layout: base.njk
---
+2 -1
View File
@@ -1,7 +1,8 @@
---
title: "OctoPrint"
section: "smarthome"
parent: "/"
tags: "smarthome"
parent: "/smarthome/"
description: "Remote 3D printer control and camera streaming with OctoPrint on Raspberry Pi."
layout: base.njk
---
+2 -1
View File
@@ -1,5 +1,6 @@
---
permalink: /sitemap.xml
permalink: /smarthome/sitemap.xml
sitemapCollection: "smarthome"
eleventyExcludeFromCollections: true
---
{% include "sitemap.njk" %}
+2 -1
View File
@@ -1,7 +1,8 @@
---
title: "Tasmota & Energy Monitoring"
section: "smarthome"
parent: "/"
tags: "smarthome"
parent: "/smarthome/"
description: "Smart plugs and power monitoring across the flat with daily usage statistics."
layout: base.njk
---
+2 -1
View File
@@ -1,7 +1,8 @@
---
title: "YouTube Archiving: TubeArchivist & TubeSync"
section: "smarthome"
parent: "/"
tags: "smarthome"
parent: "/smarthome/"
description: "Self-hosted YouTube archiving and media management running on the Synology NAS, comparing TubeArchivist and TubeSync."
layout: base.njk
---