feat: edit print templates on the printer page and store them on presets

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-03 22:45:56 -04:00
co-authored by Cursor
parent 1337d9833d
commit c03ffc0833
18 changed files with 904 additions and 293 deletions
+5 -4
View File
@@ -1,17 +1,18 @@
# Page printer plan
**Created:** 2026-08-29
**Last updated:** 2026-08-30
**Description:** Implementation notes for the Tools page printer (markdown note merge + print presets).
**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: entity filters, font size, answer-space lines, Preview/Print, save/load/update/delete presets
- `/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 migration `AddPrintPresets` (applied on next app start)
- EF migrations `AddPrintPresets` and `PrintPresetTemplateMarkdown` (applied on next app start)