Build all apps from Markdown content; Compose Desktop replaces GTK on Linux and Windows

- content/ + scripts/build-content.py produce content.json for every app
- stable lesson IDs with one-time progress migration (Swift, Kotlin)
- shared answer-check tests (tests/answers.json) for Kotlin and Swift
- android/desktop: Compose app with updater, speech and GTK progress import
- CI packages AppImage and Windows zip with ProGuard, runs the tests

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
pepaskopec-blip 2026-10-09 20:40:37 +02:00
commit c3bc32113b
964 changed files with 57285 additions and 1156 deletions

View file

@ -0,0 +1,41 @@
---
id: mluvnice-podst-jmena
puvodni: mluv.4
typ: doplnovani
zkratka: Podst. jména
nazev: Mluvnické kategorie – podstatná jména
popis: Určete rod, číslo a pád podtržených slov.
poznamka: Vyplňte tři pole: rod, číslo a pád.
---
# Úlohy
## Kniha leží na stole. — slovo „stole“ (stůl)
- rod = mužský|mužský rod|maskulinum
- číslo = jednotné|jednotné číslo|singulár
- pád = 6|lokál|šestý|6. pád
> mužský rod, jednotné číslo, 6. pád (lokál)
## Povídám si s kamarády. — slovo „kamarády“ (kamarád)
- rod = mužský|mužský rod|maskulinum
- číslo = množné|množné číslo|plurál
- pád = 7|instrumentál|sedmý|7. pád
> mužský rod, množné číslo, 7. pád (instrumentál)
## Vidím krásnou horu. — slovo „horu“ (hora)
- rod = ženský|ženský rod|femininum
- číslo = jednotné|jednotné číslo|singulár
- pád = 4|akuzativ|čtvrtý|4. pád
> ženský rod, jednotné číslo, 4. pád (akuzativ)
## To je dům mého souseda. — slovo „souseda“ (soused)
- rod = mužský|mužský rod|maskulinum
- číslo = jednotné|jednotné číslo|singulár
- pád = 2|genitiv|druhý|2. pád
> mužský rod, jednotné číslo, 2. pád (genitiv)
## Děti si hrají na zahradě. — slovo „Děti“ (dítě)
- rod = střední|střední rod|neutrum
- číslo = množné|množné číslo|plurál
- pád = 1|nominativ|první|1. pád
> střední rod, množné číslo, 1. pád (nominativ)