A static site is a website built from files. Choose Static site when you create a website in Website Builder. Magpie creates a Git repository in the selected team, named after the website address, with a starter site in it. Edit the files and push to the repository. Each push to the site's branch builds the site again. Build now on the site's page builds the branch as it is.

Files

Path Use
site.yml title, description and language for the whole site.
content/ One page per Markdown (.md) or HTML file. content/about.md is published at /about/; content/index.md is the home page.
layouts/ Templates. layouts/default.html is used when a page names no other.
static/ Copied to the site root as it is, for example static/css/site.css becomes /css/site.css.

Other files inside content/, such as images, are copied to the same path without content/, so content/images/logo.png is served at /images/logo.png.

Pages

A page can begin with front matter between two --- lines:

---
title: Hello, world
date: 2026-10-04
layout: post
draft: false
---
  • title defaults to the file name. date is YYYY-MM-DD.
  • layout names a file in layouts/. Without it, a page uses the layout named for its folder (content/posts/ uses layouts/posts.html), then layouts/default.html.
  • draft: true leaves the page out of the build.
  • slug replaces the last part of the page's address.

Front matter supports key: value lines, quoted text, numbers, true, false, and lists as [a, b] or - item lines. A line it cannot read fails the build and names the file and line.

Templates

Templates use Twig. These variables are available:

  • site: title, description, language, base, url, pages (every page, newest first) and sections (pages grouped by their first folder, such as site.sections.posts).
  • page: title, description, date, url, section, and every other front matter key.
  • content: the page body as HTML.

Start links with {{ site.base }} so they work wherever the site is served. A layout can extend or include another by name, for example {% extends "default.html" %}.

Templates run with a short list of allowed features. They can use if, for, set, block, extends and include, and common filters such as date, join, default and sort. Macros, ranges such as 1..10, the block() function and calls to methods are not available, and a layout cannot include itself. A build that uses one fails and names the layout.

What Magpie adds

  • 404.html is built from layouts/404.html when that file exists.
  • feed.xml lists the newest 20 pages in content/posts/ that have a date.
  • sitemap.xml lists every page.

Publishing and download

A site is published with the Published switch on its page. It can be switched on after one build has succeeded. A build that fails keeps its log on the page and does not change the live site, so a mistake in a push does not take the site down. Download ZIP gives the files of the live build.

A build is limited to 2,000 pages, 5,000 repository files, 60 MB in total and 12 MB per file.

A static site is edited in its repository, not in the Website Builder editor. It is not shown in the native app. If a push does not produce a build, Contact support.

Related articles