ssg 0.0.6

A Fast and Flexible Static Site Generator written in Rust.
Documentation

Shokunin (職人) πŸ¦€

A Fast and Flexible Static Site Generator written in Rust.

shokunin banner

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

Website β€’ Documentation β€’ Report Bug β€’ Request Feature β€’ Contributing 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.

Installation

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

Requirements

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.

Documentation

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

Usage πŸ“–

Command Line Interface (CLI)

The shokunin library runs in a Terminal window and can be used to generate a static website.

Here’s the first command you can enter in your Terminal window to run shokunin:

ssg  --new=my-site --content=content --output=output

This command will create a new my-site project in a directory called public/my-site and generate a static website in the my-site directory.

In your project

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

[dependencies]
shokunin = "0.0.6"

Add the following to your main.rs file:

extern crate ssg;
use ssg::*;

then you can use the functions in your application code.

Examples

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.