improve example scripts, add to build (Makefile) - stagit - static git page generator
 (HTM) git clone git://git.codemadness.org/stagit
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit bdcf38baa40fd508a9b890afb0a75e53f0819a37
 (DIR) parent 4e307d3076d88b0a8e096e23df8c78077542ab3e
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Sun, 30 Jul 2017 17:21:42 +0200
       
       improve example scripts, add to build (Makefile)
       
       Diffstat:
         M Makefile                            |       8 +++++---
         M README                              |       2 +-
         D example.sh                          |      43 ------------------------------
         A example_create.sh                   |      43 ++++++++++++++++++++++++++++++
         M example_post-receive.sh             |      21 +++++++++++----------
       
       5 files changed, 60 insertions(+), 57 deletions(-)
       ---
 (DIR) diff --git a/Makefile b/Makefile
       @@ -40,7 +40,7 @@ dist:
                mkdir -p ${NAME}-${VERSION}
                cp -f ${MAN1} ${HDR} ${SCRIPTS} ${SRC} ${COMPATSRC} ${DOC} \
                        Makefile config.mk favicon.png logo.png style.css \
       -                example.sh \
       +                example_create.sh example_post-receive.sh \
                        ${NAME}-${VERSION}
                # make tarball
                tar -cf - ${NAME}-${VERSION} | \
       @@ -68,7 +68,8 @@ install: all
                cp -f style.css\
                        favicon.png\
                        logo.png\
       -                example.sh\
       +                example_create.sh\
       +                example_post-receive.sh\
                        README\
                        ${DESTDIR}${PREFIX}/share/${NAME}
                # installing manual pages.
       @@ -84,7 +85,8 @@ uninstall:
                        ${DESTDIR}${PREFIX}/share/${NAME}/style.css\
                        ${DESTDIR}${PREFIX}/share/${NAME}/favicon.png\
                        ${DESTDIR}${PREFIX}/share/${NAME}/logo.png\
       -                ${DESTDIR}${PREFIX}/share/${NAME}/example.sh\
       +                ${DESTDIR}${PREFIX}/share/${NAME}/example_create.sh\
       +                ${DESTDIR}${PREFIX}/share/${NAME}/example_post-receive.sh\
                        ${DESTDIR}${PREFIX}/share/${NAME}/README
                -rmdir ${DESTDIR}${PREFIX}/share/${NAME}
                # removing manual pages.
 (DIR) diff --git a/README b/README
       @@ -114,7 +114,7 @@ git post-receive hook (repo/.git/hooks/post-receive):
                # ...
                #fi
        
       -        # see example.sh for normal creation of the files.
       +        # see example_create.sh for normal creation of the files.
        
        
        Create .tar.gz archives by tag
 (DIR) diff --git a/example.sh b/example.sh
       @@ -1,43 +0,0 @@
       -#!/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.sh
       -
       -# path must be absolute.
       -reposdir="/var/www/domains/git.codemadness.nl/home/src"
       -curdir=$(pwd)
       -
       -# make index.
       -stagit-index "${reposdir}/"*/ > "${curdir}/index.html"
       -
       -# 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}"
       -        stagit -c ".cache" "${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
       -
       -        printf "done\n"
       -done
 (DIR) diff --git a/example_create.sh b/example_create.sh
       @@ -0,0 +1,43 @@
       +#!/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="/var/www/domains/git.codemadness.nl/home/src"
       +curdir="$(pwd)"
       +
       +# make index.
       +stagit-index "${reposdir}/"*/ > "${curdir}/index.html"
       +
       +# 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}"
       +        stagit -c ".cache" "${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
 (DIR) diff --git a/example_post-receive.sh b/example_post-receive.sh
       @@ -9,8 +9,8 @@
        # this is the directory of the repo when called from the post-receive script.
        
        name="$1"
       -if test "$name" = ""; then
       -        name="$(basename $(pwd))"
       +if test "${name}" = ""; then
       +        name=$(basename $(pwd))
        fi
        
        # config
       @@ -23,17 +23,17 @@ destdir="${htmldir}${stagitdir}"
        cachefile=".htmlcache"
        # /config
        
       -if ! test -d "$dir"; then
       -        echo "$dir does not exist" >&2
       +if ! test -d "${dir}"; then
       +        echo "${dir} does not exist" >&2
                exit 1
        fi
       -cd "$dir" || exit 1
       +cd "${dir}" || exit 1
        
        # detect git push -f
        force=0
        while read -r old new ref; do
       -        hasrevs=$(git rev-list "$old" "^$new" | sed 1q)
       -        if test -n "$hasrevs"; then
       +        hasrevs=$(git rev-list "${old}" "^${new}" | sed 1q)
       +        if test -n "${hasrevs}"; then
                        force=1
                        break
                fi
       @@ -47,14 +47,15 @@ printf "[%s] stagit HTML pages... " "${d}"
        mkdir -p "${destdir}/${d}"
        cd "${destdir}/${d}" || exit 1
        
       -# remove commits and $cachefile on git push -f, this recreated later on.
       -if test "$force" = "1"; then
       +# remove commits and ${cachefile} on git push -f, this recreated later on.
       +if test "${force}" = "1"; then
                rm -f "${cachefile}"
                rm -rf "commit"
        fi
        
        # make index.
        stagit-index "${reposdir}/"*/ > "${destdir}/index.html"
       +
        # make pages.
        stagit -c "${cachefile}" "${reposdir}/${r}"
        
       @@ -62,4 +63,4 @@ ln -sf log.html index.html
        ln -sf ../style.css style.css
        ln -sf ../logo.png logo.png
        
       -printf "done\n"
       +echo "done"