shtola

Crates.ioshtola
lib.rsshtola
version0.4.4
sourcesrc
created_at2019-11-12 14:59:34.101024
updated_at2023-03-19 16:32:57.211135
descriptionMinimal static site generator
homepagehttps://codeberg.org/shadows_withal/shtola
repositoryhttps://codeberg.org/shadows_withal/shtola
max_upload_size
id180670
size67,648
liv (shadows-withal)

documentation

https://docs.rs/shtola

README

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:

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 current_time = SystemTime::now();
		ir.files.insert(
			"current_time.txt".into(),
			ShFile {
				content: format!("{:?}", current_time).into(),
				..ShFile::default()
			},
		);
	})
}

fn main() {
	let mut s = Shtola::new();
	s.source("fixtures/empty");
	s.destination("fixtures/dest_systemtime");
	s.register(plugin());
	s.build().expect("Build failed!");
	// Now we have a "current_time.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

Commit count: 0

cargo fmt