Shokunin Static Site Generator (SSG)
A content-first static site generator crafted in Rust, optimized for performance, accessibility, and search engine visibility.
• Website • Documentation • Report Bug • Request Feature • Contributing Guidelines
Overview 🚀
Shokunin is a high-performance static site generator (SSG) engineered in Rust that prioritises:
- Content-first development approach
- Lightning-fast site generation
- WCAG 2.1 Level AA accessibility compliance
- Advanced SEO optimization
- Type-safe operations with comprehensive error handling
Key Features 🎯
Core Capabilities
- ⚡ Exceptional Performance: Zero-cost abstractions through Rust
- 📱 SEO Optimization: Built-in enhancements for search visibility
- ♿ Accessibility: Automatic WCAG 2.1 Level AA compliance
- 🛠️ Multi-format Support: Handles Markdown, YAML, JSON, and TOML
- 🔄 Feed Generation: Automatic Atom and RSS feed creation
- 📊 Analytics: Native Google and Bing Analytics integration
- 🎨 Theming: Custom HTML themes and template support
Development Features
- 🔧 CLI Tools: Comprehensive command-line interface
- 🚀 Dev Server: Built-in Rust server for local development
- 🔍 Hot Reload: Automatic content updates during development
- 📝 Type Safety: Guaranteed memory and thread safety
- ⚡ Async Support: Full asynchronous operation capabilities
Getting Started 📦
Installation
Add to your Cargo.toml
:
[]
= "0.0.32"
Or install via Cargo:
Basic Usage
use compile;
use ;
CLI Usage
Create a new site:
# Full command syntax
# Short form
# Using cargo run
CLI Options
Option | Short | Description | Required |
---|---|---|---|
--content |
-c |
Content path | Yes |
--template |
-t |
Template path | Yes |
--serve |
-s |
Server Public path | Yes |
Examples 📚
Try our example implementations:
# Basic example
## Convert Markdown to static sites effortlessly, with templates, organized builds, and instant local hosting.
# Quick start example
## Create, compile, and host a static site effortlessly with Shokunin: simple setup, error handling, and instant local server for previews.
# Multilingual example
## Build multilingual static sites effortlessly: generate language-specific sites, create a language selector, and serve all from a single directory.
Documentation 📖
Contributing 🤝
We welcome contributions! Please see our Contributing Guidelines for details on:
- Code of Conduct
- Development Process
- Pull Request Guidelines
- Issue Reporting
License 📄
This project is dual-licensed under:
at your option.
Acknowledgements 🙏
Special thanks to all contributors who have helped build Shokunin.