frontend/ci: Getrennte Footer-Links — Name -> Repo, Version -> Commit
Im Footer sind "Werkbaum" und die Versionsnummer jetzt zwei Links: - "Werkbaum" -> Repo-Startseite (wie bisher). - Versionsnummer (<a class="ver">) -> exakt der deployte Commit. CI setzt beim Build sowohl den Versionstext als auch den href der ver-Anchor: COMMIT_URL=.../commit/$(git rev-parse HEAD); zwei gezielte seds (href + Text). Lokal zeigt die Version "1.0" und verlinkt die Commits-Uebersicht als Fallback. Verifiziert: YAML gueltig; Trockenlauf ersetzt href -> commit/<sha> und Text -> 1.0.7, "Werkbaum"-Link unveraendert. Preview lokal: Name -> Repo, Version -> /commits/main. Doku: README (EN+DE) Deployment + DECISIONS D16 ergaenzt. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
81bac87d80
commit
9438935c41
@@ -53,12 +53,14 @@ jobs:
|
|||||||
# den MIT-Link im Footer). Die Editor-Quelle bleibt unverändert — die
|
# den MIT-Link im Footer). Die Editor-Quelle bleibt unverändert — die
|
||||||
# ../-Pfade werden nur auf der Kopie im Site-Ordner geradegezogen, weil
|
# ../-Pfade werden nur auf der Kopie im Site-Ordner geradegezogen, weil
|
||||||
# sie von der Wurzel-URL aus sonst über die Site hinauszeigen würden.
|
# sie von der Wurzel-URL aus sonst über die Site hinauszeigen würden.
|
||||||
# Zusätzlich wird die Versionsnummer im Footer gesetzt: Major.Minor aus
|
# Zusätzlich werden im Footer gesetzt:
|
||||||
# der VERSION-Datei (per Bump-Commit gepflegt), die Micro-Stelle aus der
|
# - die Versionsnummer: Major.Minor aus der VERSION-Datei (per
|
||||||
# Anzahl der Commits seit dem letzten VERSION-Bump — sie steigt also mit
|
# Bump-Commit gepflegt), die Micro-Stelle aus der Anzahl der Commits
|
||||||
# jedem Commit und beginnt nach einem Bump wieder bei 0. Aus „Werkbaum
|
# seit dem letzten VERSION-Bump — steigt also je Commit und beginnt
|
||||||
# 1.0" im Footer-Quelltext wird so z. B. „Werkbaum 1.0.7" (siehe README,
|
# nach einem Bump wieder bei 0 (z. B. 1.0.7).
|
||||||
# Abschnitt „Deployment"). Braucht die volle Historie (fetch-depth: 0).
|
# - der Link der Versionsnummer: zeigt exakt auf den deployten Commit
|
||||||
|
# (…/commit/<sha>). „Werkbaum" selbst verlinkt weiter die Repo-
|
||||||
|
# Startseite. Braucht die volle Historie (fetch-depth: 0).
|
||||||
- name: Site zusammenstellen
|
- name: Site zusammenstellen
|
||||||
run: |
|
run: |
|
||||||
MAJORMINOR="$(tr -d '[:space:]' < VERSION)"
|
MAJORMINOR="$(tr -d '[:space:]' < VERSION)"
|
||||||
@@ -66,11 +68,13 @@ jobs:
|
|||||||
[ -z "$BASE" ] && BASE="$(git rev-list --max-parents=0 HEAD | tail -1)"
|
[ -z "$BASE" ] && BASE="$(git rev-list --max-parents=0 HEAD | tail -1)"
|
||||||
MICRO="$(git rev-list --count "${BASE}..HEAD")" # Commits seit dem Bump
|
MICRO="$(git rev-list --count "${BASE}..HEAD")" # Commits seit dem Bump
|
||||||
BUILD_VERSION="${MAJORMINOR}.${MICRO}"
|
BUILD_VERSION="${MAJORMINOR}.${MICRO}"
|
||||||
echo "Footer-Version: ${BUILD_VERSION}"
|
COMMIT_URL="https://github.com/mhoennig/werkbaum/commit/$(git rev-parse HEAD)"
|
||||||
|
echo "Footer-Version: ${BUILD_VERSION} -> ${COMMIT_URL}"
|
||||||
mkdir -p site/docs/brand
|
mkdir -p site/docs/brand
|
||||||
sed -e 's#\.\./docs/brand/#docs/brand/#g' \
|
sed -e 's#\.\./docs/brand/#docs/brand/#g' \
|
||||||
-e 's#\.\./LICENSE#LICENSE#g' \
|
-e 's#\.\./LICENSE#LICENSE#g' \
|
||||||
-e "s#>Werkbaum [0-9][0-9.]*</a>#>Werkbaum ${BUILD_VERSION}</a>#" \
|
-e "s#\(<a class=\"ver\" href=\"\)[^\"]*#\1${COMMIT_URL}#" \
|
||||||
|
-e "s#\(<a class=\"ver\"[^>]*>\)[0-9.]\+</a>#\1${BUILD_VERSION}</a>#" \
|
||||||
frontend/index.html > site/index.html
|
frontend/index.html > site/index.html
|
||||||
cp docs/brand/* site/docs/brand/
|
cp docs/brand/* site/docs/brand/
|
||||||
cp LICENSE site/LICENSE
|
cp LICENSE site/LICENSE
|
||||||
|
|||||||
+4
-2
@@ -65,8 +65,10 @@ Beim Zusammenstellen setzt der Workflow zudem die Versionsnummer im Footer:
|
|||||||
gepflegt), die **Micro-Stelle** aus der Zahl der Commits seit diesem letzten
|
gepflegt), die **Micro-Stelle** aus der Zahl der Commits seit diesem letzten
|
||||||
Bump — sie steigt also mit jedem Commit und beginnt nach einem Bump wieder bei
|
Bump — sie steigt also mit jedem Commit und beginnt nach einem Bump wieder bei
|
||||||
`0` (`Werkbaum 1.0.0`, `1.0.1`, … dann `VERSION` auf `1.1` bumpen → `1.1.0`). Es
|
`0` (`Werkbaum 1.0.0`, `1.0.1`, … dann `VERSION` auf `1.1` bumpen → `1.1.0`). Es
|
||||||
wird nichts ins Repo zurückgeschrieben. Lokal geöffnet zeigt der Editor den
|
wird nichts ins Repo zurückgeschrieben. Im Footer verlinkt der Name **Werkbaum**
|
||||||
Platzhalter aus dem Quelltext (`Werkbaum 1.0`).
|
die Repo-Startseite, die **Versionsnummer** genau den zugehörigen Commit
|
||||||
|
(`…/commit/<sha>`). Lokal geöffnet zeigt der Editor den Platzhalter aus dem
|
||||||
|
Quelltext (`Werkbaum 1.0`).
|
||||||
|
|
||||||
**Einmalige Einrichtung:** In den Repo-Settings unter **Pages** als **Source**
|
**Einmalige Einrichtung:** In den Repo-Settings unter **Pages** als **Source**
|
||||||
„GitHub Actions" wählen. Das Repo muss dafür **öffentlich** sein (GitHub Pages
|
„GitHub Actions" wählen. Das Repo muss dafür **öffentlich** sein (GitHub Pages
|
||||||
|
|||||||
@@ -67,8 +67,10 @@ While assembling the site, the workflow also stamps the version into the footer:
|
|||||||
commit"), and the **micro** part is the number of commits since that last bump —
|
commit"), and the **micro** part is the number of commits since that last bump —
|
||||||
so it grows with every commit and resets to `0` right after a bump
|
so it grows with every commit and resets to `0` right after a bump
|
||||||
(`Werkbaum 1.0.0`, `1.0.1`, … then bump `VERSION` to `1.1` → `1.1.0`). Nothing is
|
(`Werkbaum 1.0.0`, `1.0.1`, … then bump `VERSION` to `1.1` → `1.1.0`). Nothing is
|
||||||
written back to the repo. Opened locally, the editor shows the source
|
written back to the repo. In the footer the name **Werkbaum** links to the
|
||||||
placeholder (`Werkbaum 1.0`).
|
repository, while the **version number** links to that exact commit
|
||||||
|
(`…/commit/<sha>`). Opened locally, the editor shows the source placeholder
|
||||||
|
(`Werkbaum 1.0`).
|
||||||
|
|
||||||
**One-time setup:** In the repo settings under **Pages**, select **Source** =
|
**One-time setup:** In the repo settings under **Pages**, select **Source** =
|
||||||
"GitHub Actions". The repo must be **public** for this (GitHub Pages via Actions
|
"GitHub Actions". The repo must be **public** for this (GitHub Pages via Actions
|
||||||
|
|||||||
+3
-1
@@ -131,7 +131,9 @@ reproduzierbar, monoton, ohne zurückgeschriebenen Commit/Tag und ohne
|
|||||||
selbstauslösenden Deploy-Zyklus. Die Micro-Stelle beginnt nach jedem Bump wieder
|
selbstauslösenden Deploy-Zyklus. Die Micro-Stelle beginnt nach jedem Bump wieder
|
||||||
bei 0 (SemVer-artig). Nötig ist ein vollständiger Klon (`fetch-depth: 0`), sonst
|
bei 0 (SemVer-artig). Nötig ist ein vollständiger Klon (`fetch-depth: 0`), sonst
|
||||||
zählt der flache CI-Klon nur einen Commit. `1.0` bleibt die Version beim lokalen
|
zählt der flache CI-Klon nur einen Commit. `1.0` bleibt die Version beim lokalen
|
||||||
Öffnen (Platzhalter im Quelltext).
|
Öffnen (Platzhalter im Quelltext). Im Footer sind Name und Nummer **getrennte
|
||||||
|
Links**: „Werkbaum" → Repo-Startseite, die Versionsnummer (`<a class="ver">`) →
|
||||||
|
exakt der deployte Commit (`…/commit/<sha>`, im Build via `git rev-parse HEAD`).
|
||||||
|
|
||||||
(Nummerierung: D15 war bereits für den kompakten Modus vergeben, daher D16.)
|
(Nummerierung: D15 war bereits für den kompakten Modus vergeben, daher D16.)
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -650,7 +650,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<footer class="site-footer"><a href="https://github.com/mhoennig/werkbaum" target="_blank" rel="noopener">Werkbaum 1.0</a> – © 2026 <a href="https://michael.hoennig.de" target="_blank" rel="noopener">Michael Hönnig</a> · <span class="vibe" title="Fable 5 and Opus 4.8">Vibe-Coded with Claude Code</span> – <a href="../LICENSE" target="_blank" rel="noopener">MIT-License</a> · <a href="https://michael.hoennig.de/imprint.html" target="_blank" rel="noopener" data-i18n="imprint">Impressum</a></footer>
|
<footer class="site-footer"><a href="https://github.com/mhoennig/werkbaum" target="_blank" rel="noopener">Werkbaum</a> <a class="ver" href="https://github.com/mhoennig/werkbaum/commits/main" target="_blank" rel="noopener">1.0</a> – © 2026 <a href="https://michael.hoennig.de" target="_blank" rel="noopener">Michael Hönnig</a> · <span class="vibe" title="Fable 5 and Opus 4.8">Vibe-Coded with Claude Code</span> – <a href="../LICENSE" target="_blank" rel="noopener">MIT-License</a> · <a href="https://michael.hoennig.de/imprint.html" target="_blank" rel="noopener" data-i18n="imprint">Impressum</a></footer>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
const INITIAL = `%% Project structure – Sprint 14
|
const INITIAL = `%% Project structure – Sprint 14
|
||||||
|
|||||||
Reference in New Issue
Block a user