| author | Alan Dipert
<alan@dipert.org> 2025-12-04 05:01:52 UTC |
| committer | Alan Dipert
<alan@dipert.org> 2025-12-04 05:01:52 UTC |
| parent | da41042dda2c3f59bc02e5a6e4635d045b56bb26 |
| render_text.py | +13 | -17 |
diff --git a/render_text.py b/render_text.py index 0c6a0a0..9958dcc 100644 --- a/render_text.py +++ b/render_text.py @@ -21,62 +21,58 @@ def parse_args() -> argparse.Namespace: def render_booklet(data: Dict[str, Any]) -> str: - lines = ["Alan's Language Aptitude iNstrument (ALAN)", ""] + lines = ["# Alan's Language Aptitude iNstrument (ALAN)", ""] meta = data.get("meta", {}) if meta.get("instructions"): lines.append(meta["instructions"]) lines.append("") params = meta.get("generation_params") if params: - lines.append("Generation parameters:") + lines.append("## Generation parameters") for k, v in params.items(): - lines.append(f"- {k}: {v}") + lines.append(f"- **{k}**: {v}") lines.append("") if meta.get("rules"): - lines.append("Grammar Cheat Sheet") - lines.append("-------------------") + lines.append("## Grammar Cheat Sheet") for rule in meta["rules"]: lines.append(f"- {rule}") lines.append("") dict_data = meta.get("dictionary", {}) if dict_data: - lines.append("Starter Dictionary") - lines.append("-----------------") + lines.append("## Starter Dictionary") for title, group in [ ("Nouns", dict_data.get("nouns", {})), ("Verbs", dict_data.get("verbs", {})), ("Adjectives", dict_data.get("adjectives", {})), ]: - lines.append(title) + lines.append(f"**{title}**") for eng, lang in group.items(): - lines.append(f" {eng} = {lang}") - lines.append("") + lines.append(f"- {eng} = {lang}") lines.append("") for section in data.get("sections", []): - lines.append(f"Section {section['id']}") - lines.append("-" * 20) + lines.append(f"## Section {section['id']}") for intro in section.get("intro_text", []): lines.append(intro) lines.append("") for q in section.get("questions", []): - lines.append(f"{q['number']}. {q['stem']}") + lines.append(f"**{q['number']}. {q['stem']}**") for opt in q.get("options", []): - lines.append(f" {opt['label']}) {opt['text']}") + lines.append(f"- {opt['label']}) {opt['text']}") lines.append("") lines.append("") return "\n".join(lines) def render_key(data: Dict[str, Any]) -> str: - lines = ["Answer Key", ""] + lines = ["# Answer Key", ""] for section in data.get("sections", []): for q in section.get("questions", []): correct = next((o for o in q["options"] if o["is_correct"]), None) - lines.append(f"{q['number']}: {correct['label'] if correct else '?'}") + lines.append(f"**{q['number']}: {correct['label'] if correct else '?'}**") for opt in q["options"]: mark = "(correct)" if opt["is_correct"] else "" - lines.append(f" {opt['label']}) {opt['text']} {mark}") + lines.append(f"- {opt['label']}) {opt['text']} {mark}") lines.append("") return "\n".join(lines)