View the live demo · Get the WordPress version
Mirror Glaze is a free, plain-HTML website for a pâtisserie. Open index.html and it works: no build step, no framework, no account. Edit the text in any editor and upload the folder to any web host.
- Hero — the entremet of the day, with two calls to action and the opening year
- The collection — eighteen pieces in four categories (entremets, viennoiserie, macarons, gâteaux), each with its price, tags and notes
- The season — this season's limited pieces, available now or coming soon
- Commissions — three steps and an enquiry form that opens the visitor's email app (no back end)
- La Maison — the pastry chef's story, how the atelier works and four key numbers
- Gallery — six photos, each with a caption
- Hours and location — a weekly table, the address, phone and email, and how to get there
- La Carte — the whole collection on one printable page
- Journal — three posts and their pages
- Contact — a plain form that opens the visitor's email app
- Photo credits — footer block, removable once you swap the photos
- Schema.org JSON-LD —
Bakerywith opening hours, and aMenu - Phone menu that works without JavaScript
- Self-hosted fonts, no trackers, no analytics, no external scripts.
- Works from
file://and from any host or sub-folder: every link is relative.
- Download or clone this repository.
- Open
index.htmlin your browser. That is the whole site. - Edit the
.htmlfiles in a text editor and reload.
git clone https://github.com/allanninal/mirror-glaze-html.git
cd mirror-glaze-html
open index.html # macOS; on other systems double-click the file- Text: open the page (
index.html,menu/index.html,journal/index.html,contact/index.html) and edit it. The business details in the demo (name, address, phone, email, hours, owner or chef) are made up; search for them and replace every one, including theld+jsonblock inindex.html. - Colours and type: the stylesheet in
assets/starts with CSS variables (--color-*). Change them in one place. - Photos: replace the files in
images/with your own, keeping the names or updating the pages. Then delete the<details data-photo-credits>block from the footer of each page. - Placeholder address: the pages carry
https://example.com/in the canonical and social-card tags. Replace it with your domain. - Contact form: it has no back end. As shipped it opens the visitor's email app. To receive messages from the page itself, point the form's
actionat a form service (Formspree, Formspark, Web3Forms, Netlify Forms) and follow that service's instructions.
It is a folder of static files, so any static host works.
- GitHub Pages: Settings, Pages, deploy from a branch,
main,/ (root). - Netlify or Cloudflare Pages: drag the folder in, or connect the repository. No build command; publish directory is the repository root.
- Any web host: upload the folder with FTP or your host's file manager.
Lighthouse mobile, this folder served as static files, median of three runs (4 November 2026):
| Page | Performance | Accessibility | Best practices | SEO |
|---|---|---|---|---|
| Home | 100 | 100 | 100 | 100 |
| Menu | 100 | 100 | 100 | 100 |
| Journal | 98 | 100 | 100 | 100 |
| Contact | 100 | 100 | 100 | 100 |
Your scores will vary with your host and photos.
- Code: MIT, see LICENSE.
- Photographs: not MIT; each is under its source's licence, see CREDITS.md. Replace them with your own before launch.
- Fonts: SIL Open Font License 1.1, see
licenses/.
Mirror Glaze is also a WordPress block theme: one click imports the demo, and everything stays editable in the editor. Get the WordPress version. The HTML edition here stays free either way.
If this saved you time, you can tip on Ko-fi. It is optional and appreciated.



