No description
  • TypeScript 47.2%
  • Astro 34.4%
  • JavaScript 13.2%
  • HTML 5.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
dasFuH 8d3466d863 Server-URL-Override als Variable INSTANCE_PUBLIC_URL
Der zuvor vorgeschlagene Name FORGEJO_PUBLIC_URL laesst sich in Forgejo
gar nicht anlegen: Namen von Variablen und Secrets duerfen nicht mit
FORGEJO_, GITEA_, GITHUB_ oder CI beginnen.

Neu INSTANCE_PUBLIC_URL, gelesen aus vars statt secrets - eine
Instanz-URL ist nichts Geheimes und gehoert zu den Variablen.
Die Fehlermeldung im Checkout nennt den neuen Namen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 18:08:47 +02:00
astro-preset astro-preset loest astro nicht mehr selbst auf 2026-08-31 13:24:15 +02:00
ci Server-URL-Override als Variable INSTANCE_PUBLIC_URL 2026-08-31 18:08:47 +02:00
decap Fundament: @studio/core v1.0.0 2026-08-31 13:03:23 +02:00
layouts Fundament: @studio/core v1.0.0 2026-08-31 13:03:23 +02:00
lib Fundament: @studio/core v1.0.0 2026-08-31 13:03:23 +02:00
.gitignore Fundament: @studio/core v1.0.0 2026-08-31 13:03:23 +02:00
index.ts Fundament: @studio/core v1.0.0 2026-08-31 13:03:23 +02:00
package.json Fundament: @studio/core v1.0.0 2026-08-31 13:03:23 +02:00
README.md Deploy-Vorlage kommt ohne externe Actions aus 2026-08-31 15:52:24 +02:00

@studio/core

Gemeinsames technisches Fundament der Astro-Websites des Studios.

core wird nie direkt bearbeitet, um eine einzelne Site zu aendern. Alles, was nur eine Site betrifft, gehoert in deren packages/ui. Faustregel: taucht in einer Datei hier ein Markenname, eine Domain oder eine Farbe auf, ist sie am falschen Ort.

Inhalt

Pfad Zweck Nutzung
layouts/BaseLayout.astro HTML-Huelle, Meta-Tags, SEO, Open Graph, A11y-Preferences Import
lib/rich-text.ts Renderer fuer Markdown-Strings aus dem CMS Import
astro-preset/ Gemeinsame Astro- und TS-Basiskonfiguration Import
decap/config.template.yml Decap-Konfiguration fuer eine neue Site Kopiervorlage
decap/admin.template.html Decap-Einstiegspunkt /admin/ Kopiervorlage
ci/deploy.forgejo.yml Build- und Deploy-Workflow Kopiervorlage

Kopiervorlagen sind bewusst keine Imports: Decaps config.yml und Forgejos Workflow-Dateien sind statische Dateien, die zur Laufzeit bzw. vom Runner an einem festen Pfad erwartet werden. Ein Import waere hier eine Abstraktion ohne Gegenwert.

Einbindung in eine Site

{
  "dependencies": {
    "@studio/core": "git+https://FORGEJO_HOST/OWNER/core.git#v1.0.0"
  }
}

Version wird ueber Git-Tags gefuehrt (Variante A der Architekturskizze). Ein Update in einer Site heisst: Tag in der package.json hochsetzen, npm install.

Tags werden von git push nicht automatisch mitgeschickt. Nach einem neuen Tag also git push origin main --follow-tags - sonst schlaegt npm install in den Sites mit "The git reference could not be found" fehl.

Damit npm ci in der CI ohne Zugangsdaten funktioniert, muss dieses Repo auf der Forgejo-Instanz oeffentlich lesbar sein. Es enthaelt keine Geheimnisse. Bliebe es privat, braeuchte jede Site zusaetzlich einen Read-Token im Deploy-Workflow, etwa per git config --global url."https://<token>@host/".insteadOf "https://host/" vor dem npm ci.

Versionierung

Git-Tags, semantisch:

  • patch - Fehlerbehebung, Ausgabe unveraendert
  • minor - neue optionale Prop oder neuer Slot, rueckwaertskompatibel
  • major - geaenderte oder entfernte Prop, geaenderte HTML-Ausgabe

Nach jedem Tag: in den Site-Repos die Referenz hochsetzen und einen Build gegenpruefen, bevor deployt wird.