
Text: Kolofon
Every entry has a preview image — a photographic one gets a light version of its own frame, a text one a card built from its strongest sentence. That is enough as long as the content goes out only as a link in a messenger. Image services have their own requirements about shape, and some frames they simply reject.
Cropping on the fly is out. A photograph in a photographic series is composed deliberately, and cropping it to somebody else’s proportions takes away exactly what it was made for. Instead a second file is produced: the whole photograph fitted into a portrait canvas, filled out with the same background as the quote cards. Nothing is lost, the format is the same for every entry, and a quote card blends into the canvas with no visible seam.
The portrait variant of a text entry is the same card at a larger scale: the quote gets more air, and beneath it stand the instance mark and the address. The type size steps down one point at a time until the block fits the frame, and below a hard threshold of legibility the generator would rather raise an error than release a card with text outside the frame.
The feed publishes the address of a variant without checking whether the file exists — execution at the edge cannot see a disk. A missing file is a not-found and a post that does not go out. So the generating tool has a check mode: it walks the image directory and lists everything missing its pair. That is the only sensible answer to a check that cannot be made where it hurts.
The address in a card’s footer belongs to the instance, not to the tool. It sounds like a detail until you stand up a second language version: a card with somebody else’s address sends the reader to texts in a language they do not read. The same principle as everywhere else — the engine knows no names and no addresses, it is given them by the instance.
Kolofon