shtola

Shtola is a library for generic file processing. It enables you to build your own applications that function as static site generators! Here's an example:

```rust use shtola::{Plugin, RefIR, ShFile, Shtola}; use std::time::SystemTime;

fn plugin() -> Plugin { Box::new(|mut ir: RefIR| { // Let's create our file in the IR (intermediate representation) file hash map! let currenttime = SystemTime::now(); ir.files.insert( "currenttime.txt".into(), ShFile { content: format!("{:?}", current_time).into(), ..ShFile::default() }, ); }) }

fn main() { let mut s = Shtola::new(); s.source("fixtures/empty"); s.destination("fixtures/destsystemtime"); s.register(plugin()); s.build().expect("Build failed!"); // Now we have a "currenttime.txt" file in our destination directory that // contains the current system time! } ```

Installation

Add the latest version of Shtola to your Cargo.toml.

Documentation

See https://docs.rs/shtola