- API (öffentlich): /api/history listet Git-Versionen eines Beitrags,
/api/history/version rendert eine alte Fassung (marked + Fußnoten-Support),
on-demand via git im CMS-Container — kein Vorbauen. Pfad/rev validiert.
- Versions-Marke neben dem Kopf jedes Library-Beitrags (zeigt bewusst die
Fassung); öffnet den Verlauf, Auswahl ersetzt den Text + Rücksprung-Banner.
- CSS für Badge/Panel/Banner; marked als Dependency.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Header/Masthead:
- neuer Wortmark logo.svg; Home als Full-Height-Flex (zwei eigenständig
scrollbare Journal-Spalten, Footer klebt unten)
- kompakte Masthead; scrollbar-gutter:stable auf html → kein weißer Streifen
links und kein Logo/Menü-Versatz zwischen den Seiten
Journal-Home:
- zwei Spalten, eckige Karten in natürlicher Höhe; Bild als Block (Inline-
Whitespace-Lücke behoben)
Footer:
- Lizenzen AGPL-3.0 / CC BY-SA verlinken auf /lizenz/ (eigene Seite);
„Hosted in Lucerne" (Link zur Autor-URL); keine Underlines; flush unten;
kein Open-Source-Fließtext mehr, kein Name im Copyright
Dialog:
- schlichte Foren-Auflistung statt Karten; kompaktes Login; kleinerer
„→ Dialog"-Button (nur noch auf Library-Artikeln); einheitliche Fontgrößen;
weniger Abstand zum Header, Trennlinien entfernt
Config: CODE-Menü → git.openbureau.ch; params.author.url
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- /lizenz/agpl-3.0/ + /lizenz/cc-by-sa-4.0/ mit den offiziellen Volltexten
(Code unter AGPL-3.0, Inhalte unter CC BY-SA 4.0) + /lizenz/-Übersicht
- /spenden/ mit LOGO-OB und Hinweis, wofür Spenden verwendet würden
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- LOGO-OB.svg: Honk-Schriftzug in Kurven umgewandelt (10 <path>, keine
Font-Referenz) → rendert korrekt als Hintergrundbild, hellgrau auf der
schwarzen Masthead. Hintere Rechtecke füllen die Buchstaben-Punzen hellgrau.
- ungenutzte logo-ob2.svg (lebender Text) entfernt.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Journal-Startseite: .journal-list von Grid auf Multi-Column umgestellt —
linke/rechte Spalte packen unabhängig (keine gemeinsame Zeilenhöhe mehr),
break-inside:avoid hält Karten zusammen. Mobil: eine Spalte.
- Wortmark: eigenes logo-ob2.svg als Hintergrund (Honk-Webfont wieder raus).
Hinweis: SVG enthält noch lebenden Honk-Text — für korrektes Rendern als
Hintergrundbild müssen die Buchstaben in Kurven umgewandelt werden.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Journal-Startseite:
- Karten-Kontext (.journal-list) nimmt die alten Vollflächen-Panel-Regeln
zurück: kompakte 2-Spalten-Karten statt min-height:70vh + Hero-Padding.
- Cover-Bild als 16/9-Block OBEN statt absolutem Overlay; Text darunter,
linksbündig, dunkle Schrift (kein Weiß-auf-Bild mehr).
- align-items:start → keine Zeilen-Stretchung; ein höherer Eintrag zieht den
Nachbarn nicht mehr mit.
Header:
- Wortmark ist jetzt sichtbarer Kleintext „openbureau" in Honk
(expressive COLRv1-Color-Font), self-gehostet als static/fonts/honk-latin.woff2
+ @font-face. Ersetzt das bisherige logo.svg-Hintergrundbild.
Beides nur per API/Build geprüft, nicht visuell (kein Headless-Browser).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Artikel-Link zeigt „→ Dialog · N" wenn Wortmeldungen existieren
- Widget lädt alle 10s nach, rendert nur bei Änderung neu (kein Flackern),
pausiert im Hintergrund-Tab. Echtes Supabase-Realtime bleibt optional.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Menü: FORUM (extern) → DIALOG → /dialog/
- /dialog/ ohne ?thread zeigt Übersicht aller begonnenen Dialoge
(GET /api/threads, Titel aus Inhaltsdateien, sortiert nach Aktivität)
- .dialog-page füllt jetzt die normale Inhaltsspalte (kein eigenes max-width/
Padding mehr) → gleiche Breite wie andere Seiten
- Threads entstehen erst mit der ersten Wortmeldung
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- single.html: eingebetteter Dialog raus, stattdessen „→ Dialog"-Link
- neue /dialog/-Seite (content/dialog.md + layouts/_default/dialog.html) mit
Thread aus ?thread=, Rücklink zum Beitrag
- dialog.js liest Thread aus data-thread ODER ?thread=
- Styling: Pill-Link am Beitragsende, zentrierte Dialog-Seite
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
custom.css überarbeitet, hugo.yaml + Layouts angepasst, Logo (static/logo/)
und static/index.html ergänzt, Content-Korrekturen in library/.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Dark full-bleed masthead with serif wordmark and stacked nav
- Hero entry treatment: full-bleed image bg with gradient overlay
- Per-section color system (data-section) + per-post override (data-color)
- Japanese accent palette (ajisai, sakura, suna, ichigo, yuyake, sora,
kusa, kori, amagumo, yuki) — set via `color:` in front matter
- Tag pills replace hashtag-style tags; rendered as sibling of card link
to avoid invalid nested <a> elements
- Single article: clean Republik-style header, no section rubric,
tags as pills at bottom
- Cover image support (`cover_image:` in front matter):
- wide mode: full-card banner above text
- icon mode: small thumbnail right of text with colored card bg
- Library subsection header redesigned with section-colored stripe
- Dates use Swiss DD.MM.YYYY display (ISO retained in datetime attr)
- Custom Tokyo metro photo as demo cover image
- Force serif on body/post/composer with broader, !important selectors
to beat Flarum default cascade
- Hero + DiscussionHero: 2px text-colored bottom rule, larger title,
italic serif subtitle for a present masthead
- Tag pill (e.g. "General") restyled: accent text on paper, sharp
corners, mono caps, weighted
- Post divider darker; first post gets a top border for symmetry
- Avatar greyscale softened (30% instead of 80%) so identity reads
without going washed-out
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Flarum's LESS parser scans the raw source for the strings '@import'
and 'data-uri' as a security check, even inside /* ... */ comments,
so the documentation comment itself was tripping the guard. Replaced
with a minimal one-liner; full instructions stay in README/chat.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Flarum's Custom Styles parser (LESS) blocks @import and data-uri for
security. Move the font loading to a <link> tag the user adds via
Flarum admin's "Custom Header" HTML field. CSS itself stays unchanged
beyond removing the import line.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Mirrors the editorial typography and color system of openbureau.ch
onto the Flarum instance (openstudio.kgva.ch). Paste into Flarum
admin → Appearance → Custom Styles. File is also served at
openbureau.ch/flarum.css once the site is deployed, so Flarum can
optionally @import the live URL instead.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>