samhuri.net/bin/compile

65 lines
1.4 KiB
Bash
Executable file

#!/bin/bash
# bail on errors
set -e
THIS_DIR=$(dirname "$0")
SOURCE_DIR="$1"
TARGET_DIR="$2"
function main() {
echo "* copy files from $SOURCE_DIR to $TARGET_DIR"
mkdir -p "$TARGET_DIR"
cp -rp "$SOURCE_DIR"/* "$TARGET_DIR"
# echo "* compile rss feed"
# compile_feeds
# echo "* harp compile $SOURCE_DIR $TARGET_DIR"
# rm -rf "$TARGET_DIR/*" "$TARGET_DIR/.*"
# "$HARP" compile "$SOURCE_DIR" "$TARGET_DIR"
# clean up temporary feeds
# rm $SOURCE_DIR/public/feed.xml
# rm $SOURCE_DIR/public/feed.json
# echo "* munge html files to make them available without an extension"
# munge_html
# echo "* inline CSS"
# ruby -w $THIS_DIR/inline-css "$TARGET_DIR"
# echo "* minify js"
# minify_js
}
function compile_feeds() {
ruby -w $THIS_DIR/feeds $SOURCE_DIR/public
}
function munge_html() {
for FILE in "$TARGET_DIR"/*.html "$TARGET_DIR"/posts/*/*/*.html "$TARGET_DIR"/posts/drafts/*.html "$TARGET_DIR"/projects/*.html; do
FILENAME="${FILE##*/}"
case "$FILENAME" in
index.html)
continue
;;
missing.html)
continue
;;
esac
# make posts available without an .html extension
FILE_DIR="${FILE%.html}"
mkdir -p "$FILE_DIR"
mv "$FILE" "$FILE_DIR/index.html"
done
}
# function minify_js() {
# for FILE in "$TARGET_DIR"/js/*.js; do
# $THIS_DIR/minify-js.sh "$FILE" > /tmp/minified.js && mv /tmp/minified.js "$FILE" || echo "* failed to minify $FILE"
# done
# }
main