my-homelab-configs/apps/website/render-static-pages.sh

33 lines
1020 B
Bash

#!/bin/sh
set -eu
root="${1:-/var/www/localhost/htdocs}"
render_page() {
lang="$1"
source="$2"
output="$3"
request_uri="$4"
mkdir -p "$(dirname "$output")"
# shellcheck disable=SC2016
php -r '
parse_str($argv[1], $_GET);
$_SERVER["HTTP_ACCEPT_LANGUAGE"] = $argv[2];
$_SERVER["REQUEST_METHOD"] = "GET";
$_SERVER["REQUEST_URI"] = $argv[3];
$_SERVER["PHP_SELF"] = "/" . $argv[4];
chdir($argv[5]);
include $argv[5] . "/" . $argv[4];
' "lang=$lang" "$lang" "$request_uri" "$source" "$root" > "$output"
}
for lang in en nah; do
static_dir="$root/static-pages/$lang"
render_page "$lang" index.php "$static_dir/index.html" "/?lang=$lang"
render_page "$lang" cv.php "$static_dir/cv.html" "/cv.php?lang=$lang"
render_page "$lang" blog.php "$static_dir/blog.html" "/blog.php?lang=$lang"
render_page "$lang" demos.php "$static_dir/demos.html" "/demos.php?lang=$lang"
render_page "$lang" homelab-tree.php "$static_dir/homelab-tree.html" "/homelab-tree.php?lang=$lang"
done