Quickstart
Build a tiny site with one page in three minutes.
This walkthrough builds the smallest possible juicer site — one page, one layout — so you can see the moving parts before adding anything fancy.
1. Make a directory
mkdir my-site
cd my-site
2. Write site.toml
title = "My Site"
author = "You"
baseURL = "http://localhost:8080"
That’s the minimum. Juicer overlays this on top of the standard baseline config (themes go in themes/, content in content/, etc.) — see Configuration for the full set.
3. Write a layout
Juicer needs at least a file layout (for individual pages) and a folder layout (for section indexes). They live under layouts/_default/:
mkdir -p layouts/_default
layouts/_default/folder.html:
<!DOCTYPE html>
<html>
<head><title>{{ .page.title }} – {{ .site.title }}</title></head>
<body>
<h1>{{ .page.title }}</h1>
{{ .content }}
</body>
</html>
layouts/_default/file.html:
{{ partial 'folder' . }}
(That second template just delegates to folder.html — for a one-page site, both layouts can render the same way.)
4. Write content
mkdir content
content/_index.md:
---
title: Hello
---
# It works!
This is **juicer**, rendering markdown.
5. Build & serve
sbt 'juicerJVM/run serve -s . -d public'
Open http://localhost:8080. You should see your page.
What just happened?
- Juicer walked the
content/tree, finding markdown files and parsing their YAML frontmatter. - For each content file it picked a template (
folder.htmlfor_index.md,file.htmlfor everything else) and rendered it. - The output went to
public/—_index.mdbecamepublic/index.html. - A
sitemap.xmlandsearch.jsonwere also emitted automatically.
Move on to Concepts to see what each of those pieces does.