Files
chapter-organizer/docs/instructions/page-printer.md
T
poprhythmandCursor 3712dba974 feat: merge event rankings and attribute badges into the page printer
Interview notes can print each student's ranked events and a shared attribute legend from the same catalog as the ranking index, without leftover table markup or collapsed answer space.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-30 23:03:10 -04:00

4.3 KiB
Raw Blame History

Page printer

Created: 2026-08-29
Last updated: 2026-08-30
Description: Merge a markdown note onto students, teams, or events and print one page per match. Save the recipe as a print preset.

Where to open it

Sign in and go to Tools → Page printer (/print).

Write a template note

Create a standalone note on Notes (not a page note or student note). Use {{tokens}} for values. Click a token chip on the printer page to copy it.

# Interview — {{FirstName}} {{LastName}}

| Grade | Interview Time | Application |
| --- | --- | --- |
| {{Grade}} | {{Interview Time}} | {{Application}} |

1. Why did you join TSA?
2. What events interest you?

**Event preferences**

| 1st | 2nd | 3rd | 4th | 5th | 6th |
| --- | --- | --- | --- | --- | --- |
| {{Rank1}} | {{Rank2}} | {{Rank3}} | {{Rank4}} | {{Rank5}} | {{Rank6}} |
| {{Rank1.Attributes}} | {{Rank2.Attributes}} | {{Rank3.Attributes}} | {{Rank4.Attributes}} | {{Rank5.Attributes}} | {{Rank6.Attributes}} |

{{Legend}}

Or use {{RankedEvents}} for the ranking-index badge row instead of the table.

Unknown tokens stay visible so typos are obvious. Empty values (including a missing Interview Time or an unset rank) print blank.

Student pages also have event-rank tokens from Student Event Ranks. See event-ranking-import.md.

  • {{RankedEvents}} prints that student’s preferences as ranking-index badges (colored rank dot, short name, attribute marks).
  • {{Rank1}} through {{Rank10}} print the official event name at that preference.
  • {{Rank1.ShortName}} / {{Rank1.Attributes}} (through 10) print the catalog short name and the same attribute marks shown on Student Event Ranks (level of effort, individual, on-site, regional, presubmission).

Event pages can put the matching student list under the event name:

# {{Name}}

{{EventAttributes}}

{{RankedStudents}}

{{RankedStudents}} prints everyone who ranked that event as badges (colored rank dot and first name), same sort as Events by Student on the ranking index: rank, then grade + TSA year. {{EventAttributes}} is also available on team pages.

Put {{Legend}} where you want the attribute-mark key (same marks as the Teams printout legend).

Put {{PageBreak}} on its own line to force a new printed sheet inside one record (for example, questions on page 1 and a scoring rubric on page 2).

Put {{AnswerSpace}} where you want ruled write-in lines. Markdown collapses blank lines, so extra empty lines in the note will not leave room to write. Answer lines on the printer page sets the height of each token; add another {{AnswerSpace}} to stack a second block.

Additional-field tokens use the same names as the Students index columns (for example {{Interview Time}}). Those values come from each student's #Student:{id} ## Additional fields table. See student-notes-import.md.

Filters

Pick Students, Teams, or Events, then optional filters.

For students: Grade, TSA year, and officer (any / officers only / non-officers). Example: TSA year 1 prints first-year students. {{OfficerRole}} still prints the office name when they have one. Additional fields such as Interview Time are merge tokens, not filters. Student pages sort by last name, then first name.

Print presets

A print preset stores the recipe only: name, template note, entity type, and filters. It does not store merged pages. Each Preview uses the current roster and notes.

  1. Set the note, entity, and filters.
  2. Enter a name and click Save as.
  3. Later, choose a preset, click Preview, then Print.
  4. Update overwrites the selected preset. Delete removes it.

If the template note was removed, the filters still load. Choose another note before Preview.

Print

Preview builds the pages. Print opens the browser print dialog (same as other handouts). Navigation is hidden.

New page per record (on by default, saved with the preset) starts each match on a new sheet. Turn it off to flow records together; {{PageBreak}} in the template still works. Content that is taller than one sheet continues naturally.

Font size (pt) (default 12) and Answer lines (default 3) apply to every page-printer recipe. They are saved on the preset.

If Preview finds more than 75 matches, a warning is shown first.