# Tempura [![](https://img.shields.io/github/actions/workflow/status/yuma140902/tempura/ci.yml?logo=linux&logoColor=white&label=CI%20on%20Linux)](https://github.com/yuma140902/tempura/actions) [![](https://img.shields.io/github/actions/workflow/status/yuma140902/tempura/ci.yml?logo=windows&logoColor=white&label=CI%20on%20Windows)](https://github.com/yuma140902/tempura/actions) [![](https://img.shields.io/github/actions/workflow/status/yuma140902/tempura/ci.yml?logo=apple&logoColor=white&label=CI%20on%20macOS)](https://github.com/yuma140902/tempura/actions) [![](https://img.shields.io/crates/v/tempura?color=blue)](https://crates.io/crates/tempura) [![](https://img.shields.io/docsrs/tempura)](https://docs.rs/tempura/) Tempura is a pipeline-based Static Site Generator (SSG) written in Rust. You can define pipelines to generate your site from various resources such as Markdown, JSON, plain text, [Handlebars](https://handlebarsjs.com/) templates, pictures, etc. ## Installation ### Build from source ```sh cargo install tempura ``` ### Download binary You can download a binary archive from [releases page](https://github.com/yuma140902/tempura/releases). ```sh # Run one of the following to download binary archive wget https://github.com/yuma140902/tempura/releases/latest/download/tempura-aarch64-apple-darwin.tar.gz wget https://github.com/yuma140902/tempura/releases/latest/download/tempura-aarch64-unknown-linux-gnu.tar.gz wget https://github.com/yuma140902/tempura/releases/latest/download/tempura-aarch64-unknown-linux-musl.tar.gz wget https://github.com/yuma140902/tempura/releases/latest/download/tempura-i686-pc-windows-msvc.zip wget https://github.com/yuma140902/tempura/releases/latest/download/tempura-i686-unknown-linux-gnu.tar.gz wget https://github.com/yuma140902/tempura/releases/latest/download/tempura-i686-unknown-linux-musl.tar.gz wget https://github.com/yuma140902/tempura/releases/latest/download/tempura-x86_64-apple-darwin.tar.gz wget https://github.com/yuma140902/tempura/releases/latest/download/tempura-x86_64-pc-windows-msvc.zip wget https://github.com/yuma140902/tempura/releases/latest/download/tempura-x86_64-unknown-linux-musl.tar.gz ``` Or you can download and install with [cargo-binstall](https://github.com/cargo-bins/cargo-binstall). ```sh cargo binstall tempura ``` ## Example > The content of this section is out of date. It contains information for v0.3.x, but the latest version is v0.5.x. Please wait for updates. ### yuma14.net - Repo: - Generated website: ### tempura-example - Repo: - Generated website: ## Documentation > The content of this section is out of date. It contains information for v0.3.x, but the latest version is v0.5.x. Please wait for updates. https://yuma14.net/tempura-doc/ ## General Usage > The content of this section is out of date. It contains information for v0.3.x, but the latest version is v0.5.x. Please wait for updates. ### 1. Setup project Run `tempura init my_project`. The following directories and files will be created. ```text my_project │ tempura.json │ ├─public └─src ├─pages │ │ sample.md │ │ style.css │ │ │ └─sub_dir │ sample2.md │ └─templates page.html.hbs ``` ### 2. Edit Edit template files and markdown files as you like. See also [Handlebars Language Guide](https://handlebarsjs.com/guide/) and [CommonMark Specification](https://spec.commonmark.org/current/). It is possible to write front matter, which is out of CommonMark specification. ### 3. Build Run `cd my_project && tempura build`. HTML files are generated in the `my_project/public/` directory. ### 4. Deploy Copy contents of `my_project/public/` to your server.