33 lines
1020 B
Bash
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
|