HERON

A form instead of a config file

Configurator

The configurator is a questionnaire that sets up your site. You fill in the site name and domain, the reference data (contacts, address, who you are and what you do), pick a theme and how you will publish, and the configurator fits the structure to your project: it writes the settings file, the build workflow and the scripts for you.

Every field has a hint, some have a short video. You can come back and change any answer later: the configurator reads the same file it writes.

Open it

  1. 1

    Create a site

    heron new my-site -y takes the latest HERON image, and the image creates the site folder: content structure, demo pages and a theme.
  2. 2

    Start the configurator

    cd my-site && heron setup . opens the questionnaire at localhost:8000. Run it from the site folder: anywhere else it tells you where the site is.
  3. 3

    Fill it in

    Go through the groups below and save. The answers land in site.yaml and the files listed further down.

What it asks

Nine groups. Only the first two are needed to start; the rest can wait until you publish. Every field has a hint, and a changed field is marked: you see what it was and can undo it.

One set of answers, everything consistent

The configurator asks each fact once and writes it to one place, site.yaml. Everything search engines and AI assistants read is built from that place on every build, so nothing contradicts anything else.

schema.org

Who you are, your field and specialization become the structured data of every page: a Dentist with its address and hours, a Person with an occupation.

Sitemap

Built from the working domain and the pages in content/, with dates from the history of each file.

llms.txt

The short note for AI goes on top, then the pages with their titles and descriptions.

Change once

A new phone number or opening hours change in site.yaml, and the next build updates the footer, the markup and llms.txt together.

A part of what the configurator writes:

site:
  domain: smith-dental.com
  name: "Smith Dental"
  default_lang: en
  languages: [en, de]

organization:
  name: "Smith Dental"
  name_de: "Zahnarztpraxis Smith"
  field_of_work: Healthcare
  specialization: Dental clinic

contact:
  phone: "+43 1 234 56 78"
  country: AT
  city: Vienna
  channels:
    - {type: phone, purpose: main, value: "+43 1 234 56 78"}
    - {type: telegram, purpose: support, value: "@smithdental"}

seo:
  llms_note:
    en: |
      ### How to reach us

      Phone +43 1 234 56 78, Monday to Friday 8 to 18.

Every key of site.yaml

What it writes

FileWhat it isWhen
site.yamlAll settings of the site in one fileAlways
.heron/scripts/build.shBuilds the final version in one commandWhen the helper is on
.heron/scripts/publish.shPublishes the way you chose: push, image or filesWhen a way is chosen and the helper is on
.gitignoreKeeps caches and dist/ out of gitWhen the helper is on
.github/workflows/image.ymlThe build on GitHub: check, build the image, publishWhen the automatic build is on

After saving

  1. 1

    Look at the site

    heron serve . and localhost:8000.
  2. 2

    Write the pages

    Open the home page file in the folder of your language inside content/ and change the texts. A new page is a copy of a page file under a new name.
  3. 3

    Publish

    When everything is ready, publish the finished site the way you chose: .heron/scripts/publish.sh does it for you.

Questions

Do I have to use the configurator?

No. It writes an ordinary site.yaml, and you can edit that file by hand. Every setting is described in the spec.

Is my token safe?

It stays on your computer, outside the site folder, and never goes to git. For the git way on GitHub's own registry, no personal token is needed: GitHub gives the build its own short-lived one.

My business type is not in the list. What then?

Pick the nearest field and specialization, or only the kind of organization, for example "local business". The structured data stays correct, only less detailed.

Can I run the configurator again?

Yes. It reads site.yaml and shows your answers; changed fields are marked and can be undone. Change what you need and save; the workflow and scripts are rewritten to match.