Skip to content

thombruce/sherwood

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

201 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Sherwood

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.

Features

  • πŸš€ 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

Installation

cargo install sherwood

Or build from source:

git clone <repository-url>
cd sherwood
cargo build --release

You can also get started with a template:

cargo generate thombruce/sherwood --no-workspace

Quick Start

  1. Create a content directory with Markdown files
  2. Configure your site in Sherwood.toml (optional)
  3. Generate your site or run the development server

Commands

Generate static site

sherwood generate
sherwood generate -i content -o dist

Run development server

sherwood dev
sherwood dev -i content -o dist -p 3000

Configuration

Create a Sherwood.toml file in your project root:

[site]
title = "Sherwood"

Frontmatter

Add metadata to your Markdown files:

---
title: "My Blog Post"
date: "2025-01-01"
list: true  # For blog index pages
---

# Your content here...

Directory Structure

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)

Markdown Support

  • Standard Markdown syntax
  • Tables
  • Footnotes
  • Strikethrough
  • Code blocks with syntax highlighting
  • Semantic HTML generation

Development

# Build
cargo build

# Run tests
cargo test

# Development mode
cargo run -- dev

License

MIT

About

🏹 A Rust-based, compile-it-yourself static site generator for blazing fast site generation!

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors