summaryrefslogtreecommitdiff
path: root/tools/copland/scripts/preview.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/copland/scripts/preview.sh')
-rwxr-xr-xtools/copland/scripts/preview.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/tools/copland/scripts/preview.sh b/tools/copland/scripts/preview.sh
new file mode 100755
index 0000000..c82bec8
--- /dev/null
+++ b/tools/copland/scripts/preview.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+root_dir=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
+source_root=$(CDPATH= cd -- "$root_dir/../.." && pwd)
+source "$root_dir/scripts/fossil-env.sh"
+preview_dir="$source_root/.copland-preview"
+nix_repository="$source_root/.repository/nix.fossil"
+port=${PORT:-8080}
+
+require_org_fossil
+"$root_dir/scripts/create-demo.sh" "$preview_dir"
+verify_org_mime "$preview_dir/repositories/alpha.fossil"
+
+if [[ ! -f "$nix_repository" ]]; then
+ printf 'Nix documentation repository not found: %s\n' "$nix_repository" >&2
+ exit 1
+fi
+ln -sfn "$nix_repository" "$preview_dir/repositories/nix.fossil"
+verify_org_mime "$preview_dir/repositories/nix.fossil"
+
+printf 'Copland preview: http://127.0.0.1:%s/\n' "$port"
+printf 'Nix wiki: http://127.0.0.1:%s/nix/wiki\n' "$port"
+printf 'Press Ctrl-C to stop the server.\n'
+FOSSIL_REPOLIST_TITLE=Copland exec "$FOSSIL" server \
+ --localhost \
+ --localauth \
+ --port "$port" \
+ --repolist \
+ --skin copland \
+ "$preview_dir/repositories"