Files
chapter-organizer/docs/instructions/page-printer.md
T
poprhythmandCursor 1337d9833d feat: stitch page-printer tables into one roster and add chapter team-count tokens
When New page per record is off, a single-table template shares one header across records. Event and team pages can print regional/state team counts and nationals eligibility.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 21:37:49 -04:00

5.2 KiB
Raw Blame History

Page printer

Created: 2026-08-29
Last updated: 2026-08-31 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.

On event and team pages, {{RegionalTeamCount}} and {{StateTeamCount}} print how many teams the chapter may send at regionals and state. {{NationalEligibility}} is the nationals eligibility text (not a team count). {{Eligibility}} still works as the same value.

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.

If that option is off and the template has exactly one markdown table, the header prints once and each record appends only the table body row(s). That is the roster layout (name, grade, ranks on one row). Put student/team/event tokens in those body rows. Put {{Legend}} above or below the table. Two tables (for example an interview sheet plus a rank table) still print as separate stacked documents. {{RankedEvents}}, {{RankedStudents}}, and {{PageBreak}} inside a stitched table are not supported; use them in the lines around the table, or leave New page per record on.

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.