# πŸŒ™ moonweb.org Statische Website von [moonweb.org](https://www.moonweb.org), erstellt mit [Eleventy](https://www.11ty.dev/) als Static-Site-Generator. ## πŸ› οΈ Technologie - ⚑ **Eleventy 2.x** β€” Static-Site-Generator (Build-Time) - πŸ“ **Nunjucks** β€” Template-Sprache fΓΌr Layouts und Includes - πŸ“„ **Markdown** β€” Seiteninhalte - 🎨 **HTML-Tabellen-Layout** β€” dreispaltiges Layout (1:1 wie das Original) ## πŸš€ Starten ```bash npm install npm run dev # πŸ”₯ Dev-Server mit Live-Reload auf http://localhost:8080 npm run build # πŸ“¦ Produktions-Build nach _site/ npm run clean # 🧹 Build-Verzeichnis leeren ``` ## πŸ“ Projektstruktur ``` moonweb-www/ β”œβ”€β”€ .eleventy.js # βš™οΈ Eleventy-Konfiguration β”œβ”€β”€ package.json β”œβ”€β”€ src/ β”‚ β”œβ”€β”€ _includes/ β”‚ β”‚ β”œβ”€β”€ layout.njk # πŸ—οΈ Master-Layout (3-Spalten-Tabellen) β”‚ β”‚ β”œβ”€β”€ nav.njk # 🧭 Rechte Seiten-Navigation β”‚ β”‚ β”œβ”€β”€ quicknav.njk # ⚑ Linke Quicknav-Box β”‚ β”‚ └── redirect.njk # β†ͺ️ Meta-Refresh-Weiterleitung β”‚ β”œβ”€β”€ _data/ β”‚ β”‚ β”œβ”€β”€ nav.json # πŸ“‹ MenΓΌstruktur (8 Sektionen, 4 Gruppen) β”‚ β”‚ └── site.json # 🌐 Globale Daten (Domain, Kontakt-E-Mail) β”‚ β”œβ”€β”€ css/ β”‚ β”‚ └── nav-replacement.njk # 🎨 Generiert nav-replacement.css β”‚ β”œβ”€β”€ assets/ β”‚ β”‚ β”œβ”€β”€ css/moonweb.css # 🎨 Haupt-Stylesheet β”‚ β”‚ β”œβ”€β”€ images/ # πŸ–ΌοΈ Layout-Bilder, Favicon (10 Dateien) β”‚ β”‚ β”œβ”€β”€ menu/ # πŸ” Nav-Sprite-GIFs (24 Dateien: 8Γ—3 ZustΓ€nde) β”‚ β”‚ β”œβ”€β”€ pageImage/ # πŸ“Έ Sektions-Header-Bilder (10 Dateien) β”‚ β”‚ β”œβ”€β”€ content/ # πŸ–ΌοΈ Inline-Bilder (2 Dateien) β”‚ β”‚ └── archive/ # πŸ“¦ Archiv-Banner und Splash-Screens β”‚ β”œβ”€β”€ beginning/ # 🌟 Sektion "beginning" (Startseite + Unterpunkte) β”‚ β”œβ”€β”€ projects/ # πŸš€ Sektion "projects" β”‚ β”œβ”€β”€ products/ # πŸ“¦ Sektion "products" β”‚ β”œβ”€β”€ acoustics/ # 🎡 Sektion "acoustics" β”‚ β”œβ”€β”€ location/ # πŸ“ Sektion "location" β”‚ β”œβ”€β”€ background/ # 🎭 Sektion "background" β”‚ β”œβ”€β”€ partners/ 🀝 Sektion "partners" β”‚ β”œβ”€β”€ contact/ # πŸ“ž Sektion "contact" β”‚ β”œβ”€β”€ network/ # 🌐 Sektion "network" (kein Nav-Eintrag) β”‚ β”œβ”€β”€ stefan/ # πŸ‘€ Sektion "stefan" (kein Nav-Eintrag) β”‚ β”œβ”€β”€ index.md # 🏠 Startseite β”‚ β”œβ”€β”€ robots.njk # πŸ€– Generiert robots.txt β”‚ └── sitemap.xml.njk # πŸ—ΊοΈ Generiert sitemap.xml ``` ## 🧭 Navigation Die Navigation besteht aus 8 Sektionen in 4 Gruppen: | Gruppe | Sektionen | |--------|-----------| | 1 | 🌟 beginning | | 2 | πŸš€ projects, πŸ“¦ products, 🎡 acoustics | | 3 | πŸ“ location, 🎭 background, 🀝 partners | | 4 | πŸ“ž contact | ZusΓ€tzlich existieren die Sektionen `network` und `stefan` mit Inhalten, die jedoch nicht in der Hauptnavigation erscheinen. ## βš™οΈ Technische Details - **Layout:** πŸ“ Dreispaltige HTML-Tabelle (108px linke Sidebar | Inhaltsbereich | 150px rechte Sidebar) - **Navigation:** 🎯 CSS-Hover-Effekte statt JavaScript (reine Bild-Tausch-Technik via `text-indent: -9999px`) - **Shortcode:** πŸ“¦ `pseudonymBox` β€” rechtsbΓΌndige Box mit dunklem Hintergrund und Gold-Überschrift - **Routing:** β†ͺ️ Alte URL-Pfade werden via Meta-Refresh auf die neue Startseite weitergeleitet ## πŸ“± Mobile Layout (Responsive) Das mobile Layout wird per CSS Media Query bei `max-width: 768px` aktiviert. Die Desktop-Version (750px) bleibt unverΓ€ndert. ### GeΓ€nderte Dateien | Datei | Γ„nderung | |-------|----------| | `src/_includes/layout.njk` | Mobile-Header (`div.mobile-header`) mit Logo, pageImage und Navigation | | `src/assets/css/moonweb.css` | Media Queries fΓΌr Mobile (768px) und Kleinbildschirm (480px) | | `src/_includes/nav.njk` | `details/summary`-Toggle fΓΌr CSS-only Mobile-MenΓΌ | | `src/css/nav-replacement.njk` | Mobile-Regel: Background-Images deaktivieren | ### Mobile-Layout-Struktur ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Logo (logomobile.gif) β”‚ ← zentriert, 20px Margin oben/links/rechts β”‚ 1px schwarzer Border β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ pageImage β”‚ Navigation β”‚ ← Flex-Row, pageImage links (108x120px, beschnitten) β”‚ 1px Borderβ”‚ Textlinks β”‚ mit 20px Padding, Navigation rechts daneben β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ Content (volle Breite) β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ Quicknav (falls vorhanden) β”‚ ← nur in "beginning", Textlinks zentriert β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ Footer β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` ### Was passiert im Mobile-Modus - **Layout:** Tabellen auf `display: block` umgeschaltet, volle Breite - **Linke Sidebar:** Komplett ausgeblendet - **Rechte Sidebar:** Komplett ausgeblendet (Nav + Logo im mobile-header) - **Navigation:** Inline Textlinks rechts neben pageImage (kein Hamburger-MenΓΌ) - **pageImage:** 108px breit, 120px hoch (mit `object-fit: cover`, oben abgeschnitten) - **Logo:** `logomobile.gif`, skaliert auf `calc(100% - 40px)`, max 400px, zentriert - **Hintergrund:** Komplett deaktiviert - **Quicknav:** Textlinks ΓΌber Footer (nur in "beginning"-Sektion) - **Typografie:** Schriftgrâße 14px (statt 9pt), h1 margin 0 - **Formulare:** `width: 100%`, `max-width: 100%` - **Bilder:** `max-width: 100%`, `height: auto` ### Kleinbildschirm (480px) ZusΓ€tzliche Anpassungen fΓΌr sehr kleine Bildschirme: - Schriftgrâße 13px - h1 Schriftgrâße 16pt - Reduziertes Padding im Content-Bereich ## πŸ“œ Lizenz Dieses Projekt steht unter der [Creative Commons Namensnennung - Nicht kommerziell - Weitergabe unter gleichen Bedingungen 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.de) (CC BY-NC-SA 4.0). Copyright (c) Stefan Koelle β€” [stefankoelle.de](https://stefankoelle.de)