Warning
Sherwood is a work in progress. Some of the features described below may not yet be stable or even working. Some may be removed in future updates.
A fast and simple static site generator written in Rust that converts Markdown content to semantic HTML.
- π Fast static site generation written in Rust
- π Markdown to HTML5 conversion with semantic structure
- π§ Frontmatter support for metadata (title, date, theme, etc.)
- π± Responsive design with semantic HTML
- π οΈ Development server for local testing
- π Blog post lists with automatic generation
- βοΈ Configurable via
Sherwood.toml
cargo install sherwoodOr build from source:
git clone <repository-url>
cd sherwood
cargo build --releaseYou can also get started with a template:
cargo generate thombruce/sherwood --no-workspace- Create a
contentdirectory with Markdown files - Configure your site in
Sherwood.toml(optional) - Generate your site or run the development server
sherwood generate
sherwood generate -i content -o distsherwood dev
sherwood dev -i content -o dist -p 3000Create a Sherwood.toml file in your project root:
[site]
title = "Sherwood"Add metadata to your Markdown files:
---
title: "My Blog Post"
date: "2025-01-01"
list: true # For blog index pages
---
# Your content here...project/
βββ content/ # Markdown files
β βββ index.md
β βββ about.md
β βββ blog/
β βββ index.md # Blog list page
β βββ post.md
βββ styles/ # Custom CSS (optional)
βββ templates/ # Custom Sailfish templates (optional)
βββ Sherwood.toml # Site configuration
βββ dist/ # Generated site (output)
- Standard Markdown syntax
- Tables
- Footnotes
- Strikethrough
- Code blocks with syntax highlighting
- Semantic HTML generation
# Build
cargo build
# Run tests
cargo test
# Development mode
cargo run -- devMIT