Skip to content
PN Scripts

Website templates

Hearthleaf

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.

  • HTML
  • CSS
  • JavaScript (vanilla)
  • Node.js (build script)
  • schema.org JSON-LD
  • Coming soon

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.

Home page of the restaurant template on a desktop screen with a headline, two buttons and an illustrated table

What it solves

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.

Who it is for

Use it when

  • A café or bistro that wants a bilingual site it can host anywhere
  • A web designer delivering a restaurant site to a client without a CMS
  • A restaurant that must show allergens per dish and update the menu each season

Built for

  • Owners of small restaurants, cafés and bakeries
  • Freelance web designers and developers

What is inside

Pages and languages

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.

The menu as data

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.

Hours, contact and structured data

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.

Build and tests

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.

Specs

Availability
Coming soon
Vendor
PN Scripts
Type
Template
Pricing
One-time purchase Price to be announced.
License
PN Scripts Template Licence 1.0
Deployment
Download (ZIP with the built static site and its editable sources)
Maturity
v1.0.0

Compatibility

Platform or runtime Supported versions Tested up to
Node.js (build only) 18 or newer 22.23.3
Google Chrome 155 or newer 155

Stack

  • HTML
  • CSS
  • JavaScript (vanilla)
  • Node.js (build script)
  • schema.org JSON-LD

Hearthleaf is coming soon

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.

Questions

A static website template for a restaurant or café with seven pages in English and Bulgarian, a menu generated from JSON with allergens and dietary tags, and structured data for opening hours.

Any static web host for the finished site. To rebuild after editing you need Node.js 18 or newer; it was tested with Node.js 22.23.3 and the pages were checked in Google Chrome 155.

There is no backend: the reservation form is markup that you connect to your own form handler or booking service. There is no CMS, no photos (the images are illustrations) and no real map embed.

The HTML, CSS, illustrations and build script were written for this template. Created with AI assistance; the build, 1193 automated checks, a clean install from the ZIP and the rendered pages in Chrome at desktop and phone widths, light and dark, were checked by PN Scripts with Node.js and headless Chrome.

It is not on sale yet. When it is, this page will link to the store; PN Scripts does not take payment on this site.