example_create.sh - stagit-gemini - Stagit for gemini protocol Openbsd
(HTM) git clone git://thinkerwim.org/stagit-gemini.git
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
example_create.sh (1101B)
---
1 #!/bin/sh
2 # - Makes index for repositories in a single directory.
3 # - Makes static pages for each repository directory.
4 #
5 # NOTE, things to do manually (once) before running this script:
6 # - write clone URL, for example "git://git.codemadness.org/dir" to the "url"
7 # file for each repo.
8 # - write description in "description" file.
9 #
10 # Usage:
11 # - mkdir -p gmidir && cd gmidir
12 # - sh example_create.sh
13
14 # path must be absolute.
15 reposdir="/var/scm/git"
16 geminidir="/var/gemini"
17 stagitdir="/scm"
18 destdir="${geminidir}/${stagitdir}"
19
20 # remove /'s at the end.
21 stagitdir=$(printf "%s" "${stagitdir}" | sed 's@[/]*$@@g')
22
23 # make index.
24 stagit-gemini-index -b "${stagitdir}" "${reposdir}/"*/ > "${destdir}/index.gmi"
25
26 # make files per repo.
27 for dir in "${reposdir}/"*/; do
28 # strip .git suffix.
29 r=$(basename "${dir}")
30 d=$(basename "${dir}" ".git")
31 printf "%s... " "${d}"
32
33 mkdir -p "${destdir}/${d}"
34 cd "${destdir}/${d}" || continue
35 stagit-gemini -b "${stagitdir}/${d}" -c ".cache" \
36 -u "gemini://codemadness.org/1/git/$d/" "${reposdir}/${r}"
37
38 # symlinks
39 ln -sf log.gmi index.gmi
40
41 echo "done"
42 done