Add glossary decks
This commit is contained in:
@@ -6,19 +6,28 @@ Bundesnetzagentur and turn it into Anki decks.
|
||||
## Quick start
|
||||
|
||||
```sh
|
||||
make # fetch + build (default)
|
||||
make # fetch + build everything (default)
|
||||
make fetch # download + extract the catalog only → data/
|
||||
make anki # rebuild .apkg files from data/ → anki/
|
||||
make test # run both test suites
|
||||
make anki # rebuild the five exam decks from data/ → anki/
|
||||
make shorthand # rebuild the Q-group / operating-abbreviation deck → anki/
|
||||
make technical # rebuild the technical / HAM-abbreviation deck → anki/
|
||||
make test # run all test suites
|
||||
make clean # remove data/ and anki/
|
||||
```
|
||||
|
||||
Output: five `.apkg` files under `anki/`. Betriebliche and
|
||||
Output: seven `.apkg` files under `anki/`.
|
||||
|
||||
**Five exam decks** built from the catalog: Betriebliche and
|
||||
Vorschriften get one deck each (shared across all license classes);
|
||||
Technische is split per class into three decks (N / E / A) following
|
||||
the catalog's `class` field. A class-A candidate who wants every
|
||||
Technische question imports all three Technische decks. Re-importing
|
||||
a newer build preserves your review history.
|
||||
Technische question imports all three Technische decks.
|
||||
|
||||
**Two glossary decks** of radio shorthand — Q-groups and operating
|
||||
abbreviations, and technical/HAM abbreviations — built from curated
|
||||
data rather than the catalog (see [Glossary decks](#glossary-decks)).
|
||||
|
||||
Re-importing a newer build preserves your review history.
|
||||
|
||||
## Exam sections
|
||||
|
||||
@@ -49,6 +58,46 @@ a class-A candidate is responsible for everything. Filter inside
|
||||
Anki by deck, by the `klasse-N|E|A` tag, or by the `Number` field
|
||||
prefix.
|
||||
|
||||
## Glossary decks
|
||||
|
||||
Two extra decks teach the radio shorthand a candidate actually needs —
|
||||
the codes used in the exam **plus** the most common ones used on the
|
||||
air that the exam never tests (real operating knowledge, not just the
|
||||
test). They are built from hand-curated JSON, independent of the
|
||||
catalog, so they build even without `make fetch`:
|
||||
|
||||
| Deck | Source | Builder |
|
||||
|-----------------------------------------------|------------------|----------------------------|
|
||||
| `amateurfunk-abkuerzungen-q-gruppen.apkg` | `shorthand.json` | `amateurfunk_shorthand.py` |
|
||||
| `amateurfunk-technische-abkuerzungen.apkg` | `technical.json` | `amateurfunk_technical.py` |
|
||||
|
||||
- **Q-groups & operating abbreviations** — Q-codes (QRM, QSO, QSY…),
|
||||
CW/voice shorthand (CQ, DE, 73, RST…), prosigns, and the
|
||||
distress/urgency signals (MAYDAY, SOS…).
|
||||
- **Technical & HAM abbreviations** — modulation and modes (SSB, FM,
|
||||
CW), signal domains (NF, HF, ZF), building blocks (VFO, PLL, AGC),
|
||||
components, measurements (dB, SWR, PEP), propagation, digital modes,
|
||||
and the organisations/regulations (ITU, CEPT, EMV).
|
||||
|
||||
Each code is a single Anki **note** with two cards: one prompts for the
|
||||
meaning given the code, the reverse prompts for the code given the
|
||||
meaning. A Q-group means one thing as a statement (`QSO`) and another
|
||||
as a question (`QSO?`), so each becomes two notes (four cards).
|
||||
|
||||
Filter inside Anki by tag: `pruefung` marks codes that appear in the
|
||||
exam catalog; `q-gruppe` / `abkuerzung` and (technical deck)
|
||||
`kategorie-*` mark the kind; `prosign` and `notsignal` mark prosigns
|
||||
and the non-amateur distress signals. The `pruefung` flags and the
|
||||
meanings were cross-checked against the BNetzA catalog — `pruefung`
|
||||
means "this code's meaning is tested", not merely "the string appears
|
||||
somewhere".
|
||||
|
||||
> **⚠ Important: AI-generated content.** `shorthand.json` and
|
||||
> `technical.json` are compiled with AI assistance. As with the
|
||||
> explanations and references, verify anything that looks off against a
|
||||
> primary source (the catalog, the ARRL/DARC Q-code lists, or the
|
||||
> resources under [See also](#see-also)) before relying on it.
|
||||
|
||||
## Exam question source
|
||||
|
||||
The catalog is published by the Bundesnetzagentur (BNetzA), the German
|
||||
@@ -163,15 +212,20 @@ not part of the build, and are **not** bundled into the `.apkg` decks.
|
||||
- `references/Call-Signs.md` — call-sign patterns, suffixes, and country
|
||||
prefixes that appear in the catalog.
|
||||
- `references/Q-Codes.md` — Q-codes and operating shorthand used in the
|
||||
questions.
|
||||
questions. This reference is the catalogue the
|
||||
[Q-group glossary deck](#glossary-decks) (`shorthand.json`) was built
|
||||
from.
|
||||
|
||||
## More
|
||||
|
||||
- `CLAUDE.md` — project orientation, pipeline overview.
|
||||
- `CLAUDE.md` — project orientation, pipeline overview (including the
|
||||
two [glossary decks](#glossary-decks)).
|
||||
- `DESIGN.md` — source-discovery notes, JSON schema, per-stage
|
||||
design contracts.
|
||||
- `EXPLANATIONS.md` — schema + workflows for the explanations
|
||||
database.
|
||||
- `shorthand.json` / `technical.json` — curated source data for the
|
||||
two [glossary decks](#glossary-decks).
|
||||
|
||||
## License
|
||||
|
||||
|
||||
Reference in New Issue
Block a user