44 lines
806 B
Bash
Executable file
44 lines
806 B
Bash
Executable file
#!/usr/bin/env bash
|
|
# Required Binaries:
|
|
# | simple-http-server
|
|
# | sass
|
|
|
|
# ===== Configuration ===== #
|
|
ADDR="127.0.01" # bind address
|
|
PORT="8000" # bind port
|
|
WEBROOT="www" # root web directory
|
|
USE_INDEX=true
|
|
NO_CACHE=true
|
|
declare -a SRV_ARGS=()
|
|
|
|
SCSS_PATH="$WEBROOT/scss"
|
|
CSS_PATH="$WEBROOT/css"
|
|
# ========================= #
|
|
|
|
# Watch .sass/.scss files and compile on change
|
|
function watch_scss {
|
|
# watch format "SCSS_PATH:OUT_PATH"
|
|
sass --watch "$SCSS_PATH:$CSS_PATH"
|
|
}
|
|
|
|
function host {
|
|
local args=$@
|
|
# Apply Flags
|
|
if [[ "$NO_CACHE" == true ]]; then
|
|
args+=("--nocache")
|
|
fi
|
|
if [[ "$USE_INDEX" == true ]]; then
|
|
args+=("--index")
|
|
fi
|
|
|
|
# Apply Options
|
|
args+=(--ip "$ADDR" --port "$PORT")
|
|
|
|
simple-http-server $args $@ -- "$WEBROOT"
|
|
}
|
|
|
|
set -ueo pipefail
|
|
set -x
|
|
|
|
watch_scss &
|
|
hostwww
|