[idea:rookery-meetings]alpha-package2026-08-20

@rookery/meetings

Mints a meeting as an idea, recording who was in the room, when it happened, and what was said.

A meeting names the people it was with by pointing at the ideas that already stand for them, so the record and the person are the same kind of thing.

#import "@rookery/core:0.1.0": idea, rookery
#import "@rookery/meetings:0.1.0": meeting
#show: rookery

#idea("doshi-velez-finale", title: [Finale Doshi-Velez])[A person.]

/* The title is synthesized from the participants and the date, coming out as
   "Meeting with Finale Doshi-Velez on 10.9.26". A reference date has to come
   from somewhere, whether today: here, today: on the factory below, or the
   document's own #set document(date: ..). There is no wall-clock fallback. */
#meeting(
  <doshi-velez-26-9-10>,
  with: <doshi-velez-finale>,
  on: datetime(year: 2026, month: 9, day: 10),
  today: datetime(year: 2026, month: 9, day: 10),
)[
  What was said.
]

Binding a page tag

Where a whole site’s meetings share a page tag, bind the constructor once and write the tag nowhere else.

#import "@rookery/meetings:0.1.0": meetings

#let meeting = meetings("digital-theory-lab", today: TODAY)
#meeting(<blix-27-8-26>, with: <hagen-blix>, on: d)[..]