HERON

Basics · 3

Markdown in 10 minutes

Markdown is the way HERON pages are written: plain text with a few marks, like a hash for a heading and a dash for a list item. This page teaches all the marks you need in about ten minutes, on a real page.

Read it once, then keep it open while you write. Everything here also works in GitHub, Obsidian and most note apps.

In plain words

When you write a letter by hand, you underline the title and put dots before list items. Markdown does the same with keyboard characters. HERON reads those characters and turns them into real headings, lists and links on the site.

You never write HTML. You write text that is easy to read even before it becomes a page.

When you need this page: before you write or change your first page. When you can skip it: if you already write in Markdown; jump to the HERON part.

The marks, one by one

You typeYou get
# TitleThe main heading. In HERON it comes from h1 in the settings, so you rarely type it
## SectionA section heading
### PartA smaller heading inside a section
**bold****bold**
*italic**italic*
- itemA bullet list item
1. stepA numbered list item
[text](/get-started/)A link
![description](media/examples/photo.jpg)A picture
a word in backticksA command or a file name in a code font
> noteA highlighted quote
an empty lineA new paragraph

Paragraphs and line breaks

A paragraph is one or more lines of text. An empty line between two blocks of text makes two paragraphs. A single line break inside a paragraph is ignored, so you can wrap long sentences however you like.

This is the first paragraph.
It continues on this line.

This is the second paragraph.

The most common beginner mistake is forgetting the empty line before a list or a heading. When something looks glued together on the page, add an empty line.

Lists

A bullet list: each line starts with a dash and a space. A numbered list: a number, a dot and a space. Keep an empty line before and after the list.

What you get:

- a sitemap for search engines
- pages in two languages
- photos in every size

How to start:

1. Install Docker.
2. Create the site.
3. Open it in the browser.

In HERON a list item that starts with a bold phrase and a full stop is special: - **Sitemap.** Every page with its date. The bold part becomes a term the theme can show apart. See Section forms.

Code and commands

A word in backticks shows as code: site.yaml, heron build. A whole command goes into a block: three backticks on the line before and after it, with the language name after the first three.

```bash
heron build . --env prod --strict
```

On the site a code block gets a Copy button.

Tables

Columns are separated with a vertical line |. The second line, made of dashes, separates the header from the rows.

| Plan | Price |
|---|---|
| Basic | Free |
| Team | By request |

You do not need to line the columns up. HERON reads them anyway.

The HERON part: settings and sections

A HERON page has two parts. At the top, between two lines of three dashes, are the settings (called front matter): what search engines show, the heading, the short description. Below them is the text, split into sections.

---
title: "Dental clinic in Vienna: treatment and prices"
h1: "Your smile, our care"
description: "Treatment, implants and cleaning in Vienna. Prices, team and online booking."
---

A short introduction: two or three sentences under the heading.

## Our services {#services}

### Cleaning
Twice a year keeps your teeth healthy.

- **Takes.** 45 minutes.
- **Price.** From 90 euros.

### Implants
A new tooth that looks and works like your own.

- **Takes.** Two visits.

## Questions {#faq}

### Does it hurt?
No. We use local anaesthesia.

What happens to it:

  • title goes to the browser tab and to the search result. Up to 60 characters.
  • h1 is the big heading on the page. It is for people who already opened the page, so it can differ from title.
  • description is the line under the search result. Up to 155 characters.
  • The text before the first ## becomes the introduction under the heading.
  • ## Our services {#services} starts a section. The words are the heading people see. The part in curly brackets, the anchor, is the section's name for the theme and for links like #services. Use small Latin letters, digits and dashes.
  • ### groups with lists become cards; ### without lists under {#faq} become questions and answers, and search engines get them as FAQ data.

How each kind of section is drawn, with live examples, is on Section forms. All fields of the settings block are in Page format.

Practice in five minutes

  1. 1

    Open a page

    In the editor open the home page of your site: index.md in the folder of your language inside content/.
  2. 2

    Change the heading

    Edit the h1 line. Keep the quotes.
  3. 3

    Add a list

    Under any paragraph add an empty line and three lines starting with a dash.
  4. 4

    Add a link

    Write [Get started](/get-started/) somewhere in the text.
  5. 5

    Save and look

    With heron serve running, the page at localhost:8000 updates by itself. If something is wrong, the terminal says which file and which line.

Questions

What if I make a mistake in the marks?

Nothing breaks. The text just looks different from what you expected. The settings block is stricter: a missing quote or colon there stops the build, and HERON tells you the file and the line.

Can I use HTML in a page?

Not by default: HERON stops the build when it sees HTML tags in a page, so a stray tag cannot break the design. Everything a page needs is possible with Markdown and the section forms.

Where do I put photos?

In the media/ folder of the site, for example media/team/anna.jpg. Then refer to it from the page or from the settings. HERON makes the sizes.

What next?

Create your first site on Get started, then see how the build works.