agate
Browse Gemini protocol content
TLDR
Run and generate a private key and certificate
Run server
Display help
SYNOPSIS
agate [OPTIONS] [INPUT_DIR] [OUTPUT_DIR]
PARAMETERS
-h, --help
Prints help information
-V, --version
Prints version information
-c, --config <CONFIG>
Configuration file path [default: agate.toml]
-d, --drafts
Include draft posts during build
--base-url <BASE_URL>
Base URL for links [default: /]
--destination <OUTPUT_DIR>
Output directory [default: _site]
--index-file <INDEX_FILE>
Index filename [default: index]
-s, --serve [<URL>]
Serve site after build [default: http://localhost:8080]
--source <INPUT_DIR>
Input/source directory [default: .]
--title <TITLE>
Site title [default: Agate]
-v, --verbose
Increase verbosity (repeatable)
-w, --watch
Watch for changes and rebuild
DESCRIPTION
Agate is a lightweight, high-performance static website generator written in Rust. Designed for simplicity, it transforms Markdown files, including posts and pages, into fully static HTML sites suitable for blogs, documentation, or personal websites.
Core features include automatic sitemap generation, RSS feeds, customizable permalinks (pretty, date, ordinal, or none), draft support, and a minimal template system using Tera. It supports front-matter in YAML or TOML for metadata like titles, dates, and tags. Development workflow is streamlined with built-in serving and file watching.
Configuration is handled via an optional agate.toml file, allowing overrides for site title, base URL, index filenames, and more. Agate prioritizes speed and low resource usage, rebuilding sites in milliseconds even for thousands of pages. No JavaScript runtime or complex build tools required—ideal for users seeking an alternative to heavier generators like Hugo or Jekyll.
Installation via Cargo: cargo install agate. Output is production-ready, easily deployable to any static host.
CAVEATS
Limited templating compared to Hugo; Markdown-focused with basic syntax support. Requires Rust/Cargo for installation. No built-in themes—customize via templates.
CONFIGURATION EXAMPLE
agate.toml:
[site]
title = "My Blog"
base_url = "https://example.com"
index_file = "index.html"
DEVELOPMENT USAGE
Run agate -s -w to build, serve, and auto-reload on changes.
PERMALINK STYLES
Set via config: pretty (%year/%slug.html), date (%year/%month/%day/%slug.html), ordinal, or none.
HISTORY
Created by Michael Jones in 2023 as a simple, fast alternative to complex static generators. First stable release 0.1.0 via crates.io. Actively maintained with focus on performance and minimalism.


