Archived
The ported markup was written a page at a time, so the same thing was said several ways. Counted before touching anything: nine variants of the page gutter, seven max-widths, six link styles, two definitions of an input, and one stray shadow. Now: `container` (which already centres and pads), `measure`/`measure-wide`, `link`/`link-plain`/ `link-on-dark`, one `field`, `photo`, `page-head`. Nothing in a template writes `bg-white rounded-… shadow-…` or `underline underline-offset-4` any more — 119 uses of `panel`, 82 of `label`, 52 of `panel-lift`, 17 of `link`. TWO REAL FIXES FELL OUT OF IT, not just tidying: - Every section said `container mx-auto px-4`: `mx-auto` twice, and a px-4 that beat the responsive padding inside `container`. The gutter was 16px at every width, including on a 27-inch screen. Removing the copy-paste restores sm:px-6 lg:px-8, which is most of why the pages now breathe. - The public form and the admin had grown two different inputs — cream vs white, ring-2 vs ring-1, py-2.5 vs py-2, and different text sizes. There is one `field` now, and the same focus ring as everything else. The admin uses the same names where they are the same thing (`link`, `field`, `h4`, `--radius-*`) and keeps its own denser buttons, because it is a tool and not a shop front. 53 tests green. Every class used across all nine pages resolves in the compiled stylesheet — that check is what makes a sweep this size safe to do with a script. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
93 lines
3.9 KiB
HTML
93 lines
3.9 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en" xmlns:th="http://www.thymeleaf.org" th:replace="~{fragments/page :: page(${title}, ${description}, ${path}, ~{::content})}">
|
|
<body>
|
|
<div th:fragment="content" class="bg-bakery-50">
|
|
|
|
<!--/* The shop's own front, which is what the story is about. Same band as the catering page. */-->
|
|
<section class="band relative flex items-center bg-bakery-900 text-white overflow-hidden">
|
|
<img th:src="${photos.of('gallery/Outside.webp')}" alt=""
|
|
class="absolute inset-0 w-full h-full object-cover object-bottom blur-[3px] scale-110">
|
|
<div class="absolute inset-0 bg-bakery-900/80"></div>
|
|
<div class="absolute inset-0 bg-gradient-to-t from-bakery-900 via-bakery-800/60 to-bakery-900/80"></div>
|
|
<div class="relative container w-full min-w-0">
|
|
<div class="max-w-3xl mx-auto text-center">
|
|
<p class="eyebrow text-bakery-200">Since 2024</p>
|
|
<h1 class="h1 mt-3 text-bakery-50">Our story</h1>
|
|
<p class="lede mt-5 text-bakery-100">
|
|
215 E Main Street, in the middle of downtown Princeville.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<header class="container pt-14 pb-2 md:pt-16 text-center"></header>
|
|
|
|
<div class="container pb-16 md:pb-24">
|
|
<div class="measure space-y-12">
|
|
<section>
|
|
<h2 class="h3 text-bakery-900 mb-4">How it started</h2>
|
|
<p class="text-bakery-800 leading-relaxed">
|
|
Morissa Bennett opened The Vine in 2024, at 215 E Main Street, in the middle of downtown
|
|
Princeville. The plan was not complicated. Bake it ourselves, sell it ourselves, and keep
|
|
enough tables that nobody feels rushed out the door.
|
|
</p>
|
|
</section>
|
|
|
|
<section>
|
|
<h2 class="h3 text-bakery-900 mb-4">What we make</h2>
|
|
<p class="text-bakery-800 leading-relaxed">
|
|
We opened with coffee and pastries. The menu kept growing. Now there are cinnamon rolls
|
|
and caramel rolls, scones, cookie bars, macarons, brownies, and pies, plus sandwiches and
|
|
paninis once the lunch crowd shows up.
|
|
</p>
|
|
</section>
|
|
|
|
<section>
|
|
<h2 class="h3 text-bakery-900 mb-4">The cakes are the fun part</h2>
|
|
<p class="text-bakery-800 leading-relaxed">
|
|
Cakes and decorated cookies are made to order, which means we mostly bake whatever
|
|
Princeville is celebrating that week. We have done a tractor, a cow, a 76th birthday, a
|
|
retirement, a wedding, and a cake for the class of 1964. We have iced sugar cookies for
|
|
the cross country team and for a bridal party. If you can describe it, we will have a go
|
|
at it.
|
|
</p>
|
|
</section>
|
|
|
|
<section>
|
|
<h2 class="h3 text-bakery-900 mb-4">Around town</h2>
|
|
<p class="text-bakery-800 leading-relaxed">
|
|
We turn out for Christmas in the Village every year and for other civic events, and the
|
|
Princeville Civic Association counts us among the town's small businesses. Enjoy
|
|
Illinois and Discover Peoria have both pointed travelers our way. If you are one of them,
|
|
we open at 7:00am, Tuesday through Saturday.
|
|
</p>
|
|
</section>
|
|
</div>
|
|
</div>
|
|
|
|
<!--/* Somewhere to go after reading: the story is a preamble to an order. */-->
|
|
<section class="section bg-bakery-800 text-white">
|
|
<div class="container">
|
|
<div class="measure text-center">
|
|
<h2 class="h3">Come and see us</h2>
|
|
<p class="mt-4 text-bakery-100 leading-relaxed">
|
|
We open at 7:00am, Tuesday through Saturday. If you are after something for a date in the
|
|
diary, it is worth asking early.
|
|
</p>
|
|
<div class="mt-8 flex flex-col sm:flex-row gap-3 justify-center">
|
|
<a href="/products"
|
|
class="pill-cream">
|
|
See what we make
|
|
</a>
|
|
<a href="/contact"
|
|
class="pill-ghost">
|
|
Get in touch
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</body>
|
|
</html>
|