Nine works, rendered from a database table. The page below is a loop; the content is rows.
Every title, caption, medium, year and running order on this page comes from the
gallery table, read at render time. Nothing below is written into the page.
To change a title, edit a row. To reorder the works, change their position. To
withdraw one, set its status. No file is edited, nothing is republished, and
there is no build step - the next request renders whatever the table says.
Tide lineOil on linen, 2026Ember fieldOil on board, 2025Quiet harbourAcrylic on canvas, 2026North windowAcrylic on board, 2024Salt marshOil on linen, 2025LanternOil on canvas, 2026Slate and roseMixed media, 2024Low sunOil on board, 2026Winter hedgeAcrylic on canvas, 2025
Winter hedgeAcrylic on canvas, 2025 Muted greens in an irregular grid, bare growth against cold light.
The works and the images are synthetic, generated for this demonstration. The
mechanism is the point: a table, nine rows, and a page that is a FOREACH over
db:gallery.