From 2dbea8e72f3c6c31e0426b59b943df44052dcc9f Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Wed, 4 Jun 2025 12:19:43 -0500 Subject: feat: add build process --- export.sh | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 export.sh (limited to 'export.sh') diff --git a/export.sh b/export.sh new file mode 100755 index 0000000..f5756a8 --- /dev/null +++ b/export.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +set -e + +SRC_ROOT="${1:-$(pwd)/templates}" +DEST_ROOT="$(pwd)/.build" +CSS_SRC="$(pwd)/assets/styles.css" +CSS_DEST="$DEST_ROOT/assets/styles.css" + +# Clean and recreate build directory +rm -rf "$DEST_ROOT" +mkdir -p "$DEST_ROOT/assets" +cp "$CSS_SRC" "$CSS_DEST" + +# Export and relocate +find "$SRC_ROOT" -name "*.org" | while read -r org_file; do + # Relative path from templates root + rel_path="${org_file#$SRC_ROOT/}" + rel_dir=$(dirname "$rel_path") + base_name=$(basename "$org_file" .org) + + # Temporary output will go next to source + echo "Exporting: $rel_path" + + emacs "$org_file" \ + --batch \ + --eval '(require '\''ox-html)' \ + --eval "(setq org-html-head \"\")" \ + --eval '(org-html-export-to-html)' + + # Move output file to .build + mkdir -p "$DEST_ROOT/$rel_dir" + mv "$(dirname "$org_file")/${base_name}.html" "$DEST_ROOT/$rel_dir/" +done + +echo "Export complete. Output is in .build/" \ No newline at end of file -- cgit v1.2.3-70-g09d2