summaryrefslogtreecommitdiffhomepage
path: root/git/archive/stagit.sh
blob: f2f422705fcdc759accda2b9956e3917806534e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/bash
# - Makes index for repositories in a single directory.
# - Makes static pages for each repository directory.
#
# NOTE, things to do manually (once) before running this script:
# - copy style.css, logo.png and favicon.png manually, a style.css example
#   is included.
#
# - write clone URL, for example "git://git.codemadness.org/dir" to the "url"
#   file for each repo.
# - write owner of repo to the "owner" file.
# - write description in "description" file.
#
# Usage:
# - mkdir -p htmldir && cd htmldir
# - sh example_create.sh

ORIG_DIR=`pwd`

# path must be absolute.
reposdir="/srv/git"
curdir="/srv/git/www"

cd ${curdir}

# make files per repo.
for dir in "${reposdir}/"*/; do
	# strip .git suffix.
	r=$(basename "${dir}")
	d=$(basename "${dir}" ".git")
	printf "%s... " "${d}"

	mkdir -p "${curdir}/${d}"
	cd "${curdir}/${d}" || continue

    test -f ${dir}/owner || echo `whoami` >${dir}/owner
    test -f ${dir}/url || echo git://git.topo.tw/${d} >${dir}/url

	stagit -c ".cache" -u "https://git.codemadness.nl/$d/" "${reposdir}/${r}"

	# symlinks
	ln -sf log.html index.html
	ln -sf ../style.css style.css
	ln -sf ../logo.png logo.png
	ln -sf ../favicon.png favicon.png

	echo "done"
done

# make index.
stagit-index "${reposdir}/"*/ > "${curdir}/index.html"

cd ${ORIG_DIR}