How records look
On this page (4)
A reader who turned your plug-in on finds a bar with its name, and one quiet row a record, on each day that has one. You choose the words; every plug-in is drawn the same flat way, so a reader learns it once. These days are drawn by the app's own code from the examples' fixtures (in Markdown, a line a row).
The words you choose
Your plug-in's name, each series' name and each name in fieldNames are per language, keyed by a two- or three-letter code (optionally with a region), at most 80 characters each. A reader sees their language, then en, then the first you listed. The app looks up two letters, so key es, not es-DO, and give en. The same day, for a Spanish reader:
- •A series name labels the row: name what the reader sees, "High and low tide", not where it came from.
- •Field names say what each figure is; a field without one shows its key.
- •A unit, at most 16 characters as the source writes it (m, DOP, %), is not drawn: it decides how a change is measured and how a screen reader says the number (DOP, USD, EUR and % as words, others as written).
- •Keys (tide, high) are lowercase letters, digits, hyphens and underscores, kept once records are stored.
- •The attribution ends your rows, at most 40 characters, or the holder.
- •Titles are plain text, at most 200 characters, never markup, in the source's words and language; the day already says the date. An item's is its link; an event without one shows the series' name.
The app's own words (Scheduled, Last rate, Rate of, Moved to, Cancelled) and dates are in English today.
Values
A value row is the series' name (with period when dated by publication: Fish landed · 2026-08), the figures in the order of fields, each named under it and rounded to two decimals (59.5577 reads 59.56), then the change of your change field (or the first) from the previous record, a signed percent or, for a % unit, basis points. It is the same quiet grey either way: a higher dollar is a weaker peso, and Kanboombo does not decide which is good news. Your attribution sits under it.
From its first record to the reader's today, a value series fills every day. Before your newest record, a day with none shows the value in force, lighter, with no change, and Rate of <date>:
After your newest record, each day shows it with Last rate · <date> (monthly series too, and the words may change); after the reader's today, nothing.
Events and items
Events lead their day, then values and items, each in your manifest's order of series.
Only events are drawn after the reader's today: scheduled ones, and the old date of one that moved.
A happened event's change is against the previous happened event (+25 bp, with Was 5.25% under it, or held); with no earlier value, the value alone:
A cancelled meeting keeps its day:
An item is its title, a link to its url, on its own day only, with no figure and no attribution.
When your plug-in falls behind
Days after your newest record end with:
A plug-in with no records has no section, except on today when its first run failed or Kanboombo cannot be reached. A screen reader reads a row as one sentence:
preview draws your own days with this code, in any language: preview.