mana-kotlin-tokens/README.md
Till JS 1566a9a021 README: Bau-Anleitung aus offenen Klonen und Erwartungssatz
Vorbereitung für die Spiegelung nach git.mana.how/offen (Prüfliste
QUELLOEFFNUNG.md §5): Sweep sauber, keine Privat-Marker, Apache-2.0 mit
NOTICE seit Welle 1, Schriften mit OFL-Texten.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 13:35:35 +02:00

3.2 KiB

mana-kotlin-tokens

Geteiltes Design-Token- und Theme-System für die nativen Android-Apps von mana Das Kotlin-Pendant zu den Tokens aus mana-swift-core (ManaTokens) und dem @mana/themes-Web-Paket — eine Quelle, drei Plattformen, pixelgleiche Farben (gleiche HSL→sRGB-Konvertierung, gleiche 21 Signatur-Variants, gleiche Slugs).

Was drin ist

  • ManaTheme — Enum der 21 Signatur-Variants (mana, paper, skylight, bodensee, …) mit Slug, Anzeige-Name, Charakter, Signatur-App und Theme-Pass-Freischalt-Logik.
  • ManaColors / ManaPalette — die 12 Vereins-Tokens (Light + Dark).
  • ManaAppTheme(theme, mode) { … } — der eine Theme-Wrapper für alle Apps. Verdrahtet die Variante in ein Material-3-ColorScheme und stellt die rohen Tokens über Mana.colors bereit (für surfaceHover, success, warning — die Tokens ohne Material-Slot).
  • Spacing / Radius / ManaTypography — Abstände, Radien, Typo-Skala.

Nutzung

settings.gradle.kts (mavenLocal zuerst, dann Forgejo — kein Credential nötig):

dependencyResolutionManagement {
    repositories {
        google(); mavenCentral(); mavenLocal()
        maven("https://git.mana.how/api/packages/mana/maven") {
            content { includeGroup("ev.mana") }
        }
    }
}

app/build.gradle.kts:

implementation("ev.mana:mana-kotlin-tokens:0.1.0")

App-Theme:

@Composable
fun WordeckTheme(mode: ManaThemeMode, content: @Composable () -> Unit) =
    ManaAppTheme(ManaTheme.SKYLIGHT, mode, content = content)   // Signatur-Variante

Im UI: Material-Slots über MaterialTheme.colorScheme.*, Extra-Tokens über Mana.colors.warning / .success / .surfaceHover.

Publish

./gradlew publish -PforgejoToken="$FORGEJO_TOKEN"

SOT der Flotte: mana/docs/playbooks/ANDROID_FLEET.md.

Bauen

Kotlin/Gradle. Die mana-Bibliotheken finden sich gegenseitig über mavenLocal() — in dieser Reihenfolge veröffentlichen:

for r in mana-kotlin-core mana-kotlin-tokens mana-kotlin-event-sync \
         mana-kotlin-widget mana-kotlin-event-sync-room mana-kotlin-ui; do
  git clone https://git.mana.how/offen/$r.git && (cd $r && ./gradlew publishToMavenLocal)
done

Danach baut auch Pageta für Android.

Für Mitlesende

Dieses Repo gehört zum Ökosystem von mana und liegt offen, damit andere es lesen, einordnen und als Grundlage nutzen können — das spart Arbeit, egal ob ein Mensch oder ein Modell davorsitzt.

Was du erwarten darfst: den Code so, wie er tatsächlich in Gebrauch ist, unter Apache-2.0 (siehe LICENSE und NOTICE). Keine Attrappe, kein zurechtgeschnittener Auszug — samt seiner Geschichte.

Was du nicht erwarten darfst: Support, Antwortzeiten, Zusagen zur Abwärtskompatibilität oder die Übernahme von Änderungswünschen. Dieses Repo folgt dem, was die eigenen Anwendungen brauchen. Fehlermeldungen sind willkommen, eine Antwort ist nicht zugesagt.

Fork ist ausdrücklich erlaubt und oft der schnellere Weg als zu warten.