- 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> |
||
|---|---|---|
| .. | ||
| anglictina | ||
| aplikace | ||
| cestina | ||
| fyzika | ||
| matematika | ||
| nemcina | ||
| obcanska-nauka | ||
| pocitacove-site | ||
| prirodni-vedy | ||
| technicke-vybaveni | ||
| README.md | ||
Obsah aplikace
Všechny texty lekcí, cvičení, kvízů a knih jsou tady v Markdownu. Aplikace pro
Android, iOS, macOS, Linux i Windows z nich při sestavení vyrobí jeden soubor
content.json (skript scripts/build-content.py). Na kód se kvůli obsahu sahat
nemusí.
Kontrola po úpravě:
python3 scripts/build-content.py
Skript vypíše počet lekcí, nebo chyby s cestou a číslem řádku
(content/fyzika/1-rocnik/02-pohyb.md:41: …). Při chybě se aplikace nesestaví.
Kde co je
| Složka | Obsah |
|---|---|
pocitacove-site/, technicke-vybaveni/, obcanska-nauka/, fyzika/ |
N-rocnik/, v nich lekce |
prirodni-vedy/chemie, prirodni-vedy/biologie |
lekce |
cestina/literatura/N-rocnik |
lekce literatury |
cestina/mluvnice |
cvičení z mluvnice |
cestina/cetba |
knihy k maturitní četbě |
matematika/0-opakovani, matematika/N-rocnik |
lekce s příklady |
anglictina/N-rocnik, nemcina/N-rocnik |
lekce s výkladem, čtením, poslechem, psaním |
nemcina/ucebnice |
učebnice němčiny po kapitolách |
aplikace/texty.md |
texty rozhraní (tlačítka, nadpisy obrazovek) |
aplikace/predmety.md |
dlaždice předmětů na úvodní obrazovce |
aplikace/novinky.txt |
seznam změn zobrazovaný v aplikaci |
Jedna lekce je jeden soubor NN-nazev.md. Pořadí v aplikaci určuje číslo na
začátku názvu. Soubory, které začínají _, nejsou lekce (např. _lekce.md
v učebnici popisuje kapitolu).
Angličtina
Anglická verze leží vedle české jako NN-nazev.en.md. Co v ní chybí, zobrazí
se česky. Obsahuje:
- hlavičku se stejnými poli jako česká (
nazev,popis, …), ale anglicky, - volitelně tabulku
# Překlady, kde je každý český text z lekce přeložený:
---
nazev: Physical quantities
popis: SI, scalar and vector, measurement error.
---
# Překlady
| Česky | Anglicky |
|---|---|
| Fyzikální veličina má číselnou hodnotu a jednotku. | A physical quantity has a value and a unit. |
Český text musí v tabulce sedět přesně (včetně interpunkce). Pole id
a puvodni do .en.md nepatří.
Společná pravidla zápisu
Hlavička mezi --- obsahuje pole klíč: hodnota. Pak následují oddíly #,
položky ## a podle potřeby ###.
| Zápis | Význam |
|---|---|
- text |
odrážka; v kvízu možnost |
- [x] text |
správná možnost |
1. text |
číslovaná položka (např. části děje) |
> text |
vysvětlení, nápověda, tip nebo význam (podle oddílu) |
= odpověď |
správná odpověď; více variant odděluje |: = hasn't|has not |
[odpověď] |
mezera k doplnění uvnitř věty: Ich [bin|heiße] Anna. |
| a | b | |
tabulka; v buňce se píše | jako \| a nový řádek jako \n |
<!-- … --> |
poznámka, do aplikace se nedostane |
Hranaté závorky, které nemají být mezerou, se píšou \[ a \]. Řádek, který
by jinak vypadal jako značka (začíná -, >, = …), se uvede zpětným
lomítkem: \- tohle je obyčejný text.
ID a postup žáků
id: fyzika-1-fyzikalni-veliciny
puvodni: fyz.1
idje trvalé jméno lekce. Pod ním se ukládá, co má žák hotové. Musí být v celém obsahu jedinečné. Po vydání ho neměňte, jinak se žákům postup v lekci ztratí. Název souboru, číslo pořadí i nadpis měnit lze.puvodnije adresa lekce ze starších verzí aplikace. Podle ní se při prvním spuštění nové verze převede starý postup. Neměňte ji a u nových lekcí ji nepište.
Nová lekce: zkopírujte podobný soubor, dejte mu číslo podle pořadí, nové id
a smažte puvodni.
Běžná lekce
Sítě, hardware, občanka, literatura, chemie, biologie, fyzika.
---
id: fyzika-1-fyzikalni-veliciny
nazev: Fyzikální veličiny
popis: SI, skalár a vektor, chyba měření.
nazev_cviceni: Kvíz: veličiny
nadpis_kvizu: Ověřte si jednotky a chyby
---
# Výklad
## Veličina a jednotka
*Měření*
- Fyzikální veličina má číselnou hodnotu a jednotku.
- Soustava SI má sedm základních jednotek.
> Tip: základní jednotka hmotnosti je kilogram, ne gram.
# Kvíz
## Která jednotka je základní jednotka SI pro hmotnost?
- Gram
- [x] Kilogram
- Newton
> Gram je tisícina kilogramu. Newton je jednotka síly.
Každá ## ve výkladu je jeden snímek. Řádek *Měření* je štítek snímku,
počítadlo „1 / 3“ doplní aplikace sama.
V první lekci sítí je navíc oddíl # Úlohy na podsítě: ## Úloha N se
zadáním, ### Řešení s textem řešení a ### Kontrola s tabulkou
Prefix | Síť | Broadcast | První adresa | Poslední adresa.
Matematika
Stejná hlavička a # Výklad jako běžná lekce, místo kvízu # Příklady:
# Příklady
## Jaký je největší společný dělitel čísel 24 a 36?
= num:12
> Společní dělitelé jsou 1, 2, 3, 4, 6 a 12.
Druhy odpovědí:
| Odpověď | Kdy je správně |
|---|---|
num:12, num:1/2 |
číslo nebo výraz (zlomek, odmocnina, π); stačí stejná hodnota v jakémkoli tvaru |
set:2;3 |
všechna čísla v libovolném pořadí |
pair:2;-1 |
čísla v daném pořadí (např. x; y) |
word:ano|yes |
jedno ze slov |
square:2,3;5,3, right:…, mid:…, para:…, points:1,4;fix:1,1 |
rýsování do mřížky 10 × 8; fix: jsou body předem zakreslené |
Angličtina a němčina po ročnících
---
id: anglictina-1-ja-a-moje-rodina
nazev: Já a moje rodina
popis: Sloveso be, have got. Doplňování a kvíz.
---
# Výklad
(snímky jako u běžné lekce)
# Čtení
Text článku jedním odstavcem.
## The bus is ___ than the train.
- faster
- [x] slower
> cheaper, but slower.
# Poslech
Přepis nahrávky, pak otázky stejně jako u čtení.
# Doplňování
## My sister ___ sixteen.
= is
> Věk: be, ne have.
# Psaní
Zadání.
## Vzorová odpověď
Text.
## Musí obsahovat
- would
- because
## Minimum slov
35
# Kvíz
(jako u běžné lekce)
Oddíly, které lekce nepotřebuje, se vynechají.
Mluvnice (cestina/mluvnice)
Hlavička: id, typ, zkratka (krátký název na mapě), nazev, popis,
volitelně poznamka. Úlohy jsou v oddílu # Úlohy, podle typu:
typ: doplnovani
## Stará bab_čka sed_la na lav_čce.
- i/í/y/ý = babička
- i/í/y/ý = seděla|sedla
> babička, seděla, lavičce
Každá odrážka je jedno políčko: vlevo nápověda, za = správné odpovědi.
typ: vyber
## Narodil se v ______ v malé vesnici.
- [x] Čechách
- čechách
typ: reseni
## napsali
= na- / ps- / -a- / -li
U reseni si žák řešení jen odkryje.
Četba (cestina/cetba)
---
id: 1984
autor: George Orwell
nazev: 1984
zanr: Próza
preklad: Šimečková
---
# O knize
- Autor: George Orwell
# Postavy
- Winston Smith – hlavní hrdina.
# Kvíz
## Kdo je hlavní hrdina?
- [x] Winston Smith
- O'Brien
> Vysvětlení.
# Děj
## Přetáhněte části příběhu do správného pořadí:
1. První část děje.
2. Druhá část děje.
> Volitelně význam celého děje.
Všechny oddíly kromě Kvíz a Děj jsou poznámky ke knize, zobrazí se
v uvedeném pořadí. Kvíz i děj jsou nepovinné. Volitelná pole v hlavičce:
popis, kviz_nadpis, kviz_popis, dej_nadpis, dej_popis (jinak se
použijí obecné texty) a stranka/plna pro knihy s vlastní obrazovkou.
Učebnice němčiny (nemcina/ucebnice)
Každá kapitola je složka NN-nazev/ se souborem _lekce.md:
---
id: ucebnice-1
nazev: Neue Freunde
popis: Vyberte cvičení a dokončete je.
zamceno: ano
---
(zamceno: ano kapitolu v aplikaci zamkne.) V kapitole jsou cvičení
NN-nazev.md a slovíčka slovicka.md. Každé cvičení má v hlavičce typ.
Nejčastější typy:
| Typ | Oddíly |
|---|---|
choice |
# Otázky jako kvíz |
typed |
# Úlohy: tabulka Zadání | Odpověď | Význam |
verb, fill |
# Nabídka (odrážky slov), # Úlohy: tabulka s větami a mezerami […] |
dialog |
# Nabídka, # Rozhovory s ## názvem a tabulkou Kdo | Věta |
assign |
# Skupiny (odrážky), # Slova: tabulka Obrázek | Slovo | Skupina |
free |
# Otázky: tabulka Otázka | Překlad otázky | Vzorová odpověď | Překlad odpovědi |
vocab |
# Slovíčka, ## Strana N a tabulka Německy | Odpověď | Význam |
Další typy (assembly, number, count, seq, verbclue, profile,
hangman, ordne, letters, ex2, table, kw …) mají vždy aspoň jeden
vzor v existujících kapitolách; nejjednodušší je zkopírovat ho. Oddíl
# Překlad obsahuje české překlady položek ve stejném pořadí.
Volitelná pole hlavičky cvičení: tip, ukazka (vzorový příklad),
vyznam_predem, preklad_predem, odhalit_nemcinu, ukazat_nemcinu
(ano/ne) a poznamka_k_odpovedim.
Texty rozhraní a předměty
aplikace/texty.md obsahuje tabulky Klíč | Česky | Anglicky. Klíč používá
kód aplikace, neměňte ho; texty ve sloupcích měnit lze. %s a %d jsou místa,
kam aplikace doplní hodnotu.
aplikace/predmety.md má tabulku
Klíč | Česky | Anglicky | Ikona | Cíl | Otevřeno. Cíl je obrazovka, která se
otevře, Otevřeno: ne dlaždici zamkne.