Zum Inhalt springen
shellyshale

Diese Website

shellyshale.ch selbst. Statisch gebaut, ausgeliefert wie eine Kundenseite und gleichzeitig Testfeld für neue Komponenten.

Auslieferung dieser Seite
  1. 01MarkdownEin Projekt, eine Datei; Schema prüft jedes FeldContent Collections
  2. 02AstroBaut reine HTML-Seiten, kein JavaScript-Frameworkastro check
  3. 03Imagenginx, unprivilegiert, Port 8080Harbor
  4. 04ClusterGleiche Vorlage wie jede KundenseiteArgo CD

Warum so

Die Seite läuft absichtlich über dieselbe Strecke wie die Websites, die Kavent für kleine Betriebe baut: gleiches Dockerfile, gleiche nginx-Konfiguration, gleiche Pipeline, gleicher Cluster. Was hier funktioniert, funktioniert dort auch. Und was hier bricht, bricht bei mir und nicht bei einem Kunden.

Aufbau

  • Inhalte liegen als Markdown in src/content/. Ein Schema legt fest, welche Felder ein Projekt hat; ein fehlender Status oder eine unbekannte Kategorie hält den Build an.
  • Design-Tokens in einer einzigen Datei: Farben, Abstände, Schriften, Radien. Komponenten verwenden nur Variablen.
  • Kein Client-JavaScript ausser dem Filter auf der Projektseite, und auch der ist nur eine Ergänzung: Ohne JavaScript sind einfach alle Projekte sichtbar.
  • Schriften liegen auf dem eigenen Server, keine Anfrage an Google oder andere Dritte.
// src/lib/status.ts – vier Zustände, die Farbe ist nur Zusatz
export const STATUS = {
  aktiv:       { label: 'Aktiv',          stufe: 3 },
  entwicklung: { label: 'In Entwicklung', stufe: 2 },
  experiment:  { label: 'Experiment',     stufe: 1 },
  archiviert:  { label: 'Archiviert',     stufe: 0 },
} as const;

Was hier getestet wird

Neue Komponenten kommen zuerst auf diese Seite, aber nur, wenn sie hier einen echten Zweck haben. Was gerade läuft, steht im Lab.