Describe saving a setting with no connection, and the script build
Accessibility says that a setting changed while Postulo cannot be reached is
kept and sent when the connection returns. Design and Installing Postulo say
that the page script is built from assets/js/app.js and committed, as the
stylesheet is.
Refs postulo/postulo#1157
Refs postulo/postulo#1149
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Show the interface the pages describe, with pictures generated from a demo instance (#353)
Thirty-four pictures from scripts/screenshots.py in the postulo repository, each with alternative text, placed beside the text that describes it. Never retake one by hand: run the script.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Tracking applications, Design: several board columns open, centred, in motion
The board's columns can be open several at a time (a strip opens beside the
open ones, an open column's heading folds it alone), `?status=` takes a set,
comma-separated, in the table too, the board is centred, and a fold moves
unless less motion is asked for. Design gives the heading's four actions, the
centring, the motion and why the content's width is a custom property.
Refs postulo/postulo#709
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say where the help is on Your details, and what it does for 1.4.13 and 3.3.2
Design: what a field's help is, the question mark on a card, and a section on help --
the tooltip, where it is drawn and when it is not, what stays in sight, the drawer, and
help as templates. Accessibility: what a person can expect of it and how it is tested.
A line pointing at each card's help topic where the wiki explains the same thing.
Refs postulo/postulo#302
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say that every choice is a button with a list of its own
Design: Choices, the select every page draws, how it is used with the keyboard and what
it keeps from the native one. Tracking applications: a status on a card is saved when it
is chosen. Writing a plugin: a scheme's icon. Getting started: the time zones in groups.
Refs postulo/postulo#301
Refs postulo/postulo#315
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say that the board folds to one column and scrolls under a held card
Tracking applications: the status folds the board's columns, the fold is in the
address, a strip is still a column; what a move says and where the board is left; the
edge scrolling and what it leaves to the browser. Design: the board as a component, its
turn among the requests, and the one thing a script moves.
Refs postulo/postulo#315
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say how an instance defines identifier schemes of its own
Configuration: the JSON, the pattern language and its budget, what is refused and how it
is said, what deleting or changing a scheme does to what is stored, where the text is
kept. Writing a plugin: what a reader of the registry now meets. Design: a dialog with a
page behind it, and a box of code. Backups, the API, Your career record and Tracking
applications: what happens to identifiers of a kind this instance lacks.
Refs postulo/postulo#311
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say how a telephone number is read against its country's numbering plan
Tracking applications: the telephone section again -- what is put aside before a number
is read, what is refused and what is kept with a warning, how a stored number is marked
and never rewritten, how a number is shown, and the row, with the kind beside the number
on a wide screen. Your career record: what an import and a candidate file do with a
number. The group of two controls and the row's grid in Design, `phone_country` on the
API, and what an importer hands over.
Refs postulo/postulo#304
Refs postulo/postulo#416
Refs postulo/postulo#649
Refs postulo/postulo#650
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say how a postal address is checked against its country
Your career record: a section on the address rows -- what is refused, that a street is
never required and a town and a country are enough, how a postcode is put right, the
forces and territory forms, and that a stored or imported address is marked and left
alone. The same said shortly in Configuration, Getting started and Backups; the
address-line grid in Design; and in Writing a plugin, what postal-rules governs and
that a word shared with Postulo needs a context.
Refs postulo/postulo#306
Refs postulo/postulo#635
Refs postulo/postulo#458
Refs postulo/postulo#651
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say that the Applications filters are in the table's column headers
Tracking applications: where the four filters are in each shape, a header that holds
more than one filter, Narrow as a form of its own with its count, what it keeps across
a swap, and the buttons with scripts off. Listings: the one Apply on a phone. Design:
what a header holds, how its cell is named, and Narrow.
Refs postulo/postulo#314
Refs postulo/postulo#622
Refs postulo/postulo#626
Refs postulo/postulo#647
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say that a web link is on a service, and how a plugin adds one
Tracking applications: the service of a link, what its address has to be, Other, and
that nothing has to be chosen; one address under two kinds; what an archive does with
a service. Your career record: a value moved between rows in one save, the candidate
file's format 4 and its claim about a service. Writing a plugin: the link-service
kind, its three names on the surface and a section of its own. The API's web_links
on a contact, and the icon beside a choice in Design.
Refs postulo/postulo#305
Refs postulo/postulo#457
Refs postulo/postulo#461
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A language code is a BCP 47 tag in its canonical form, said where one is met
Postulo writes `pt-BR` wherever it writes a language, and Serbian is `sr-Cyrl`.
The pages that show or describe a code say so where a reader meets one: the
webhook payload, the API's `language` and `record_language`, what a notifier
and a store are handed, and the catalogue directories of a plugin, which are
gettext's names and the one place an underscore is written.
*Writing a plugin* names the four calls that are on the surface for it:
`language_tag`, `is_language_tag`, `language_match` and `language_matches`,
Postulo's own writer, shape check and comparison, so that a plugin does not
grow its own way of lower-casing a code.
Also: what an older archive's codes become when it is put back, that a
language menu keeps a language it does not list, that Django's admin says its
own language in lower case, and the working catalogues in the design rules.
Refs postulo/postulo#337
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say Enabled and Disabled about a plugin, and that a caution is an amber pill
The switch is labelled Enabled, what is off wears a grey Disabled pill,
and the amber pills are badges.
Refs postulo/postulo#311
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say how a row leaves Your details, and describe the dialog component
A bin on every saved row asks in a dialog and removes at once; Primary
is a star; the dialog opens without a script as a popover and with one
as a modal.
Refs postulo/postulo#303
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A block on the frame, filled in one line by a page that is a form;
tables, grids and the plugin rows keep the width.
Refs postulo/postulo#320
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say that a page which is also a fragment says so in Vary
Back after a live filter found the cached fragment instead of the page;
the mixin that chooses the template names what chose it.
Refs postulo/postulo#646
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say that the header's box searches the page's table on three pages
On Companies, Applications and Listings the masthead's search narrows
the table, with a globe that searches everything; on a narrow screen it
is a bar under the masthead that never lies over what has focus; and the
live controls of a table take turns.
Refs postulo/postulo#313
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say that a menu is one component, drawn in the top layer, and that People has pictures
Every menu opens over the page, tied to its trigger, so none is cut off
by a box that scrolls; the account menu and More became the same
component.
Refs postulo/postulo#310
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say that a column's sort sits at the end of its header
Since #253 a column's name opens its filter; the sort is the arrows at
the end of the cell, lined up down the table.
Refs postulo/postulo#317
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say where a page's measure lives, and when a form takes two columns
Your details and every Settings page keep their forms to 672 pixels
beside the sidebar, and the contact and capture forms take two columns
from 2xl, by the rule the company form set: neither column narrower than
the one it replaces.
Refs postulo/postulo#320
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say how the main navigation keeps your order, and what it becomes on a phone
Getting started says the Appearance page orders the navigation as well
as trimming it, what the order decides (the row's room, the phone bar's
first four), and that on a phone the places are a bar at the foot of
the screen with More and search. It also stops saying "your name, top
right": the account menu has been your picture since #282.
Accessibility gains the navigation's promise (one list, one name, one
place in the reading order at every width; a row that never wraps; a
bar whose targets are 44 pixels and that nothing hides behind), the `/`
key on a narrow window, and what the navigation's own test measures
that axe cannot. Design gains *The main navigation*: one element drawn
once, how many items the row holds at each breakpoint and why, More,
the three neighbours that must know the bar's height and the rule about
containing blocks on the header, and what is stored for the order.
Refs postulo/postulo#299
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#292's last part: there was no design page among the wiki's 23, and
CONTRIBUTING described the mechanics -- components live here, Basecoat draws
them, icons come from Lucide -- without a word about what the result should
look like. So every judgement about the interface was somebody's taste on the
day, and the six ways of writing a page title are what that produced.
The page says what the tokens are and when to reach for each: the two scales
and the semantic names, the one radius everything is derived from, the three
planes, the type sizes, the two densities, and the empty state. It says what
is not negotiable, in the places where a design decision would otherwise cost
a criterion -- colour is never the only thing saying something, a
high-contrast theme throws backgrounds and shadows away, nothing moves unless
somebody's system allows it, compact may not shrink a target.
It also says where the skeleton went, since #292 asked for one: Postulo
renders on the server, so there is no moment with nothing in it to fill, and
what htmx replaces is the previous answer and still true while it does.
It points at the gallery rather than describing it. *Server settings ->
Design* shows every component in whichever theme you are reading it in, which
is a thing to look at rather than a thing to read about.
Refs postulo/postulo#292
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>