Split technical questions into per-class decks
This commit is contained in:
@@ -43,7 +43,9 @@ BNetzA ZIP ──[Stage 1: amateurfunk_fetch.py]──► data/<slug>/
|
||||
└── manifest.json
|
||||
|
||||
data/ ──[Stage 2: amateurfunk_anki.py]──► anki/
|
||||
├── amateurfunk-technische-kenntnisse.apkg
|
||||
├── amateurfunk-technische-kenntnisse-n.apkg
|
||||
├── amateurfunk-technische-kenntnisse-e.apkg
|
||||
├── amateurfunk-technische-kenntnisse-a.apkg
|
||||
├── amateurfunk-betriebliche-kenntnisse.apkg
|
||||
└── amateurfunk-kenntnisse-von-vorschriften.apkg
|
||||
```
|
||||
@@ -66,9 +68,12 @@ data/ ──[Stage 2: amateurfunk_anki.py]──► anki/
|
||||
|
||||
1. Read the latest edition from `data/` (following
|
||||
`manifest-latest.json` to a per-edition directory).
|
||||
2. Split the catalog into three categories — one per top-level
|
||||
Prüfungsteil (Technische / Betriebliche / Vorschriften). The
|
||||
license-class axis is mapped into tags, not separate packages.
|
||||
2. Split the catalog into five categories. Betriebliche and
|
||||
Vorschriften get one deck each (shared across every candidate).
|
||||
Technische is additionally fanned out per license class into three
|
||||
decks (N / E / A) using a strict equality split on the question's
|
||||
`class` field. The `klasse-N|E|A` tag is still emitted on every
|
||||
note for inside-Anki filtering.
|
||||
3. Render every question as an Anki note: shuffled A/B/C/D choices on
|
||||
the front, the displayed position of the correct answer on the
|
||||
back. Inline `$...$` LaTeX is converted to MathJax `\(...\)`
|
||||
@@ -101,7 +106,8 @@ SVG dark-mode handling, schema choices) live in `DESIGN.md` §7.
|
||||
- Start from `DESIGN.md` — it has the JSON schema, the question/answer
|
||||
conventions (answer A is always correct upstream → consumers shuffle
|
||||
before display), the LaTeX-in-questions caveat, the exam-structure
|
||||
rationale for the three Anki packages, and per-stage design notes.
|
||||
rationale for the Anki package layout (Betriebliche, Vorschriften,
|
||||
and Technische split per license class), and per-stage design notes.
|
||||
- Do not invent new download URLs; the ones in `DESIGN.md` were
|
||||
verified against the live BNetzA site.
|
||||
- When BNetzA publishes a new edition, expect a new
|
||||
|
||||
Reference in New Issue
Block a user