Categories were baked into config/<site>.site.json, so adding one meant a rebuild and a redeploy. They are now data: data/sections.json, seeded from the config the first time, and managed in the admin (add, rename, reorder, remove). A category's web address is fixed when it is created because that is what a QR code points at, and a category cannot be removed while it still holds menus. The landing and the top bar were the ugliest parts. The landing was a column of hairlines with tiny meta — a broadsheet, and the paper that makes this app worth looking at was nowhere on it. It is now a shelf: each category is a row whose right edge is a sliver of that menu's first page, bleeding off the screen, with the shelf edge in brass and the name in heavy tight Archivo. The bar was a row of teal pills that would not survive more categories: it now names the menu you are reading and opens a sheet listing the rest, each with its own paper sliver, and the current one is the only teal thing on screen. The sheet is a link to the landing page, so navigating still works without the script. Also fixes the category manager's own layout, which I shipped unstyled, and the markup contract the route tests described.
71 lines
2.4 KiB
Markdown
71 lines
2.4 KiB
Markdown
# Menu Publishing
|
|
|
|
Publishing the customer-facing menus of several brewery-restaurant Sites. A Site serves photographed pages of its printed menus, grouped into Sections and published as Menu Sets.
|
|
|
|
## Language
|
|
|
|
### Structure
|
|
|
|
**Site**:
|
|
One restaurant's customer-facing menu deployment, with its own brand, Sections and content. Each Site runs its own instance of the app.
|
|
_Avoid_: brand, tenant, deployment, instance
|
|
|
|
**Section**:
|
|
A top-level category of menu content that customers choose between, such as Food, Bar or What's On. Sections are content: the owner adds and renames them in the admin.
|
|
_Avoid_: type, tab, folder
|
|
|
|
The admin, and the owner, say **category** where the code and this glossary say Section. The two words mean the same thing; the code keeps Section so the storage layout, routes and manifests stay consistent.
|
|
|
|
**Menu Set**:
|
|
One complete set of Pages published together for a Section, with a label and an optional valid-until date.
|
|
_Avoid_: menu, version, batch, upload, album
|
|
|
|
**Page**:
|
|
One image within a Menu Set, in a deliberate order; usually a photographed page of a printed menu.
|
|
_Avoid_: sheet, slide, image, photo
|
|
|
|
**Poster**:
|
|
A Page whose content is an event or seasonal creative rather than a menu, published in the What's On Section.
|
|
_Avoid_: flyer, banner, creative
|
|
|
|
### Publication
|
|
|
|
**Draft**:
|
|
A Menu Set that has been uploaded but is not visible to customers.
|
|
|
|
**Current**:
|
|
The single published Menu Set per Section that customers see.
|
|
_Avoid_: live, active, main
|
|
|
|
**Archive**:
|
|
A Menu Set that was once Current and has been superseded. Reachable by direct URL, never listed in customer navigation.
|
|
_Avoid_: old menu, history, expired, past
|
|
|
|
**Publish**:
|
|
The act of making a Draft Current, which archives the Menu Set that was Current before it.
|
|
_Avoid_: release, deploy, go live
|
|
|
|
### Images
|
|
|
|
**Original**:
|
|
The uploaded image as stored, kept so that viewing images and thumbnails can be regenerated. Never served to customers.
|
|
_Avoid_: source, master, full-size
|
|
|
|
**Viewing image**:
|
|
The wide image shown on a Section page and opened by tap-to-zoom.
|
|
_Avoid_: preview, display image
|
|
|
|
**Thumbnail**:
|
|
The small image used only inside the admin.
|
|
_Avoid_: preview, grid image
|
|
|
|
### Surfaces
|
|
|
|
**Landing page**:
|
|
The Site root, listing the Sections that have a Current Menu Set.
|
|
_Avoid_: home, index
|
|
|
|
**Admin**:
|
|
The password-protected area where a Menu Set is uploaded, ordered, previewed and published.
|
|
_Avoid_: dashboard, CMS, back office
|