web: Do not build an index.
[gnupg-doc.git] / tools / build-website.sh
1 #!/bin/sh
2
3 set -e
4
5 pgm=build-website.sh
6 root_dir="$(pwd)/gnupg-doc/web"
7 stage_dir="$(pwd)/gpgweb-stage"
8
9 if [ ! -d "${root_dir}" ]; then
10    echo "$pgm: directory '${root_dir}' missing" >&2;
11    exit 1
12 fi
13 if [ ! -d "${stage_dir}" ]; then
14    echo "$pgm: directory '${stage_dir}' missing" >&2;
15    exit 1
16 fi
17 cd "${root_dir}"
18
19 rev="$(git rev-parse --verify HEAD)"
20 if [ -z "$rev" ]; then
21    echo "$pgm: No git revision found" >&2;
22    exit 1
23 fi
24 revlast="$(head -1 ${stage_dir}/.revlast 2>/dev/null || true)"
25 if [ x"$rev" = x"$revlast" ]; then
26    echo "$pgm: No need to build" >&2;
27    exit 0
28 fi
29
30
31 echo "========================================================"
32 echo "gpgweb site building started on $(date -u -Iseconds)"
33 echo "========================================================"
34
35 emacs23 -q --batch  \
36   --eval "(require 'assoc)" \
37   --eval "(require 'org)" \
38   --eval "(setq make-backup-files nil)" \
39   --eval "(setq vc-handled-backends nil)" \
40   --eval "(setq gpgweb-root-dir  \"${root_dir}/\")" \
41   --eval "(setq gpgweb-stage-dir \"${stage_dir}/\")" \
42   --eval "(require 'gpgweb (concat gpgweb-root-dir \"share/gpgweb.el\"))" \
43   --eval "(setq org-publish-use-timestamps-flag nil)" \
44   --eval "(setq org-export-html-toplevel-hlevel 1)" \
45   --eval "(setq org-export-html-coding-system 'utf-8)" \
46   --eval "(gpgweb-setup-project)" \
47   --eval "(org-publish-initialize-cache \"gpgweb\")" \
48   --eval "(setq debug-on-error nil)" \
49   --eval "(org-publish \"gpgweb\" t nil)"
50
51 echo "$rev" > ${stage_dir}/.revlast
52
53 echo "========================================================="
54 echo "gpgweb site building finished on $(date -u -Iseconds)"
55 echo "========================================================="