5 releases

new 0.0.5 Mar 17, 2023
0.0.4 Mar 16, 2023
0.0.3 Mar 16, 2023
0.0.2 Mar 16, 2023
0.0.1 Mar 14, 2023

#68 in Template engine

Download history 96/week @ 2023-03-13

96 downloads per month


349 lines

shokunin logo

Shokunin (職人) 🦀

A Fast and Flexible Static Site Generator written in Rust.

shokunin banner

Made With Rust Crates.io Lib.rs Docs.rs License

WebsiteDocumentationReport BugRequest FeatureContributing Guidelines

Welcome to Shokunin (職人) 👋

Overview 📖

Shokunin (職人) is a fast and flexible static site generator (ssg) written in Rust. It aims to provide an easy-to-use and powerful tool for building static websites.

Features ✨

  • Fast and flexible
  • Easy to use
  • Written in Rust
  • Supports templates and themes
  • Generates optimized HTML, CSS, and JavaScript
  • Built-in development server
  • Live reloading
  • Markdown support

Getting Started 🚀

It takes just a few minutes to get up and running with shokunin.


To install shokunin, you need to have the Rust toolchain installed on your machine. You can install the Rust toolchain by following the instructions on the Rust website.

Once you have the Rust toolchain installed, you can install shokunin using the following command:

cargo install ssg

For simplicity, we have given shokunin a simple alias ssg which can stand for Shokunin Site Generator or Static Site Generator.

You can then run the help command to see the available options:

ssg --help


The minimum supported Rust toolchain version is currently Rust 1.68.0 or later (stable).

Platform support

shokunin is supported and tested on the following platforms:

Linux targets 🐧

Target Description Status
aarch64-unknown-linux-gnu 64-bit Linux systems on ARM architecture
aarch64-unknown-linux-musl 64-bit Linux systems on ARM architecture
arm-unknown-linux-gnueabi ARMv6 Linux (kernel 3.2, glibc 2.17)
armv7-unknown-linux-gnueabihf ARMv7 Linux, hardfloat (kernel 3.2, glibc 2.17)
i686-unknown-linux-gnu 32-bit Linux (kernel 3.2+, glibc 2.17+)
i686-unknown-linux-musl 32-bit Linux (kernel 3.2+, musl libc)
x86_64-unknown-linux-gnu 64-bit Linux (kernel 2.6.32+, glibc 2.11+)
x86_64-unknown-linux-musl 64-bit Linux (kernel 2.6.32+, musl libc)

macOS targets 🍎

Target Description Status
x86_64-apple-darwin 64-bit macOS (10.7 Lion or later)

The GitHub Actions shows the platforms in which the shokunin library tests are run.


ℹ️ Info: Please check out our website for more information. You can find our documentation on docs.rs, lib.rs and crates.io.

Usage 📖

To use the shokunin library in your project, add the following to your Cargo.toml file:

shokunin = "0.0.5"

Add the following to your main.rs file:

extern crate ssg;
use ssg::*;

then you can use the functions in your application code.


To get started with shokunin, you can use the examples provided in the examples directory of the project.

To run the examples, clone the repository and run the following command in your terminal from the project root directory.

cargo run --example example

Semantic Versioning Policy 🚥

For transparency into our release cycle and in striving to maintain backward compatibility, shokunin follows semantic versioning.

License 📝

The project is licensed under the terms of both the MIT license and the Apache License (Version 2.0).

Contribution 🤝

We welcome all people who want to contribute. Please see the contributing instructions for more information.

Contributions in any form (issues, pull requests, etc.) to this project must adhere to the Rust's Code of Conduct.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Acknowledgements 💙

A big thank you to all the awesome contributors of shokunin for their help and support.

A special thank you goes to the Rust Reddit community for providing a lot of useful suggestions on how to improve this project.


~1M SLoC