The gap
Small restaurants and cafés need a fast, bilingual website with a menu that is easy to update and shows allergens clearly, but most templates hard-code the menu or pull in heavy frameworks.
Website templates
A static restaurant and café website in English and Bulgarian, with a menu generated from one JSON file that shows prices, the 14 EU allergens and dietary tags.
Coming soon
Not published on its store yet, so there is no buy or download link. PN Scripts does not take payment for it here.
The gap
Small restaurants and cafés need a fast, bilingual website with a menu that is easy to update and shows allergens clearly, but most templates hard-code the menu or pull in heavy frameworks.
What it is
Hearthleaf keeps the menu, hours and contact details in two JSON files and builds a plain static site from them, with allergens, dietary tags and structured data generated automatically.
How you use it
Change a price or an allergen in one place, run one command, and every page, both languages and the structured data stay consistent.
For restaurants, cafés and the web designers who build their sites, Hearthleaf is a dependency-free bilingual template where the menu is data, not hand-edited HTML.
Use it when
Built for
Every page exists in English and Bulgarian with hreflang links between them, canonical URLs, Open Graph tags, a sitemap and robots.txt. Page text is plain HTML with a one-line header for the title and meta description.
menu.json holds categories and dishes with names and descriptions in both languages, a price, allergen numbers and tags. The build renders category links, the dishes, a tag filter and an allergen legend, and fails loudly if a dish uses an unknown tag or allergen.
site.json holds the address, phone, email, cuisine, price range and opening hours. They appear in the footer, on the home page, as a weekly table on the contact page and in Restaurant JSON-LD that the test suite parses and validates.
node build.mjs writes the static site and a ZIP. The tests rebuild twice to confirm byte-identical output, then check links, anchors, assets, meta tags, labels, alt text and the JSON-LD.
1 of 6
| Platform or runtime | Supported versions | Tested up to |
|---|---|---|
| Node.js (build only) | 18 or newer | 22.23.3 |
| Google Chrome | 155 or newer | 155 |
It is finished and tested. It is not on sale yet; this page will say where to get it when it is.
Coming soon
Not published on its store yet, so there is no buy or download link. PN Scripts does not take payment for it here.