# Page printer plan **Created:** 2026-08-29 **Last updated:** 2026-09-03 **Description:** Implementation notes for the Tools page printer (markdown merge + print presets). User-facing steps: [docs/instructions/page-printer.md](../instructions/page-printer.md). ## Built - Core merge: `{{tokens}}`, `{{PageBreak}}`, `{{AnswerSpace}}`, print presets JSON - `/print` UI: markdown editor on the printer page, token-insert dialog, preview lightbox, entity filters, font size, answer-space lines, Preview/Print, one Save (name dialog when no preset is selected) - Templates stored on `PrintPreset.TemplateMarkdown` (not Notes). Migration copies old note content, then drops `NoteId`. - Student pages sort by last name, then first name - Student event-rank tokens: `{{Rank1}}`–`{{Rank10}}`, `.ShortName` / `.Attributes`, and `{{RankedEvents}}` badges - Event `{{RankedStudents}}` badges (students who ranked the event) and `{{EventAttributes}}` - `{{Legend}}` from the shared attribute-mark catalog (`EventAttributeMarks`) - EF migrations `AddPrintPresets` and `PrintPresetTemplateMarkdown` (applied on next app start)