Personal build of stagit static git page generator.
log | files | refs | readme | license

stagit-create.sh (1106B)

      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
#!/bin/sh
# - 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

# path must be absolute.
reposdir="/home/git"
curdir="$(pwd)"

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

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

	mkdir -p "${curdir}/pub/${d}"
	cd "${curdir}/pub/${d}" || continue
	stagit -c ".cache" -u "https://git.skec.site/pub/${d}/" "${reposdir}/pub/${d}"

	# 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