Layouts
The nearest _layout.html wraps every page in its folder. Pages never name it.
A static site generator for people who'd rather write plain HTML. Write a layout, nav or footer once and it lands on every page. No template language, no framework, no JavaScript of its own. This site is built with it.
Get started Full docs and examples ↗
One complete HTML page in src/_layout.html is the site's chrome. Every page lands in its <main>; a page can fill a named slot or leave its fallback.
<!doctype html>
<html>
<head>
<title>· My Site</title>
<link rel="stylesheet" href="/assets/style.css">
</head>
<body>
<include src="/_includes/nav.html"></include>
<main><slot></slot></main>
<footer><slot name="footer"><p>© My Site</p></slot></footer>
</body>
</html>
The nearest _layout.html wraps every page in its folder. Pages never name it.
<include src> splices a fragment in. Content between the tags fills the fragment's slots.
<slot name> in a layout, slot= on a page element. Standard HTML, no new syntax.
A .md file is a page too. Frontmatter supplies the head; the layout applies the same way.
Most generators ask you to learn a template language and a config format before you write a page. unify asks for HTML. The output is exactly your markup, so what you see in src/ is what ships.
Templates, variables, a build config, a client runtime.
Plain HTML and Markdown, composed once at build time.
Every internal link is checked against the output. A broken one fails the build, and nothing is published.
Declare a page's schema and give the site its address: unify writes the feed, the sitemap and the structured data.