Vokobe
A minimal static site generator tailored to my needs.
CI: https://hydra.emile.space/project/vokobe
Build
; cargo build --release
Usage/Examples
; ./target/release/vokobe --help
vokobe 0.1.0
A static site generator
USAGE:
vokobe [FLAGS] <in-path> <out-path> <site-name>
FLAGS:
-a, --analytics Activate sending analytics to stats.emile.space
-h, --help Prints help information
-V, --version Prints version information
ARGS:
<in-path> Input path
<out-path> Output path
<site-name> Site name (e.g. emile.space)
Deployment
The following subsections contain some example for small shell scripts that might be useful for Deployment.
build.sh
Remove the output dir, build it from scratch and update the perms.
I'm actually considering rebuilding vokobe with incremental builds in mind, as it can take a bit to create some really large projects.
rm -rf out/
vokobe -a ./in ./out emile.space
chmod -R +r out/
sync.sh
Syncronize the generated output to the remote host for hosting it.
rsync -avz --delete <out-path>/* <user>@<host>:<path>
publish.sh
Build and Syncronize.
./build.sh
./sync.sh
host.sh
Host the local version
python3 -m http.server 8081 -d <outpath>/ -b 0.0.0.0
watchbuild.sh
rebuild on changes
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p fd entr
while sleep 0.5; do
fd . in | entr -d ./build.sh
done
local.sh
run a script updating it on changes and one hosting the output.
sh ./watchbuild.sh &
sh ./host.sh
Contributing
Send patches!