Reference

site.yaml

Every setting in site.yaml, what it does, and its default.

Only name and url are required. Everything else has a sensible default. A setting HotDog doesn't know stops the build, with the line it's on, so a typo can't go unnoticed.

The site

Setting What it is
name The site's name. Required.
url Its address, such as https://example.org. Required.
language The language it's written in, such as en.
description One sentence about the site, for pages without a summary.
author Who writes it.
timezone Where its events and scheduled pages happen, such as America/Chicago (UTC if unset).
copyright, copyright_url The name in the footer's © line (default: the site's name), and a link for it.
credit true shows "Built with HotDog CMS" in the footer.
fediverse Your fediverse handle, "@you@your.instance", which Mastodon credits in link previews.
params Anything your own templates read, as .Site.Config.Params.

Pages and lists

Setting What it is
collections Settings per collection (folder in content/); see below.
taxonomies Front matter keys that get browsable pages, such as [tags].
paginate Split long lists into pages of this many (0: one page).
term_index_min Tag pages with fewer pages than this are hidden from search engines.
menus main, footer and any others: lists of { name, url }, with optional external: true and note.
redirects Old addresses and where they go now: { from: /old/, to: /new/ }.

Each collection

collections:
  articles:
    layout: article
    feed: true
Key What it is
layout The layout for its pages.
list_layout The layout for its own list page.
sort date (newest first, the default), title, weight or start (events).
feed true writes a news feed. feed_path, feed_size (default 20), feed_format, feed_title, feed_image, feed_description adjust it.
paginate Its own page size.
calendar, calendar_name Write a calendar feed of its events (see Events).
search Write a search index for it.

Markdown

markdown:
  email_off: true
Key What it is
email_off Keep email addresses readable behind Cloudflare's proxy.
autolink Turn bare web addresses into links (on unless false).
external_links new_tab opens links to other sites in a new tab.
unsafe_html Let HTML written in pages through, after cleaning out scripts. Off by default.
trust_html Let HTML through without cleaning. Only for a site whose every author you trust with scripts.
image_sizes The sizes hint for pictures from media/, if your text column isn't the usual width.

Look and pictures

Setting What it is
look Your choices from look.yaml: colors, font, corners, logo (see Look).
cards true draws a link-preview picture for every page without one. Or set font, font_small, background, text, accent, logo.

Privacy and statistics

Setting What it is
analytics { provider: plausible, domain: … }, { provider: matomo, url: …, site_id: … } or { provider: ga4, id: … }; gated: false to count without asking. See Visit statistics.
privacy controller, contact, updated, and extra entries (what, who, why, basis). See The privacy page.

Search engines

Setting What it is
verify google, bing, yandex: verification codes for their webmaster tools.
indexnow { key: … }: tell search engines what changed. See Search engines.
outputs sitemap and robots (on by default), llms (off unless true).

Checks

check:
  ignore: [img-alt]
  forbid: ["intranet\\.example\\.org"]
Key What it is
ignore Rules to switch off, by name.
forbid Patterns that must never be published.
allow_third_party Other websites your pages may load things from.
cloudflare true if the site is served through Cloudflare's proxy.
csp strict makes inline scripts and styles errors.
privacy_page Where your privacy page is, if not /privacy/.

Written by HotDog

Setting What it is
packs The packs you've added, written by hotdog-cms pack. Don't edit by hand.