commit ecbac75848acfcd7ed4bba624358ffd62624344b
parent 65a2b9768d412317adabc0d6e99894842b7738ba
Author: Oscar Benedito <oscar@oscarbenedito.com>
Date:   Mon, 22 Jun 2020 23:29:40 +0200

Add my assets

Diffstat:
Mexample_create.sh | 65++++++++++++++++++++++++++++++++++++++++-------------------------
Mexample_post-receive.sh | 60++++++++++++++++++++++++++++--------------------------------
Mfavicon.ico | 0
Mlogo.png | 0
Mstyle.css | 50++++++++++++++++++++++++++++++++++++++++----------
5 files changed, 108 insertions(+), 67 deletions(-)

diff --git a/example_create.sh b/example_create.sh @@ -15,29 +15,44 @@ # - 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}" || continue - 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.ico favicon.ico - - echo "done" +# path must be absolute +reposdir="/srv/git" +webdir="/srv/git/html" +defaultdir="/usr/local/share/doc/stagit" + +mkdir -p "$webdir" || exit 1 + +# set assets if not already there +ln -s "$defaultdir/style.css" "$webdir/style.css" 2> /dev/null +ln -s "$defaultdir/logo.png" "$webdir/logo.png" 2> /dev/null +ln -s "$defaultdir/favicon.ico" "$webdir/favicon.ico" 2> /dev/null + +# clean +for dir in "$webdir/"*/; do + rm -rf "$dir" done + +repos="" + +# make files per repo +for dir in "$reposdir/"*.git/; do + [ ! -f "$dir/git-daemon-export-ok" ] && continue + repos="$repos $dir" + + # strip .git suffix + r=$(basename "$dir") + d=$(basename "$dir" ".git") + printf "%s... " "$d" + + mkdir -p "$webdir/$d" + cd "$webdir/$d" || continue + stagit -c ".stagit-build-cache" "$reposdir/$r" + + # symlinks + ln -sf log.html index.html + + echo "done" +done + +# make index +echo "$repos" | xargs stagit-index > "$webdir/index.html" diff --git a/example_post-receive.sh b/example_post-receive.sh @@ -14,60 +14,56 @@ export LC_CTYPE="en_US.UTF-8" name="$1" if test "${name}" = ""; then - name=$(basename "$(pwd)") + name=$(basename "$(pwd)") fi -# config -# paths must be absolute. -reposdir="/home/src/src" +# paths must be absolute +reposdir="/srv/git" dir="${reposdir}/${name}" -htmldir="/home/www/domains/git.codemadness.org/htdocs" -stagitdir="/" -destdir="${htmldir}${stagitdir}" -cachefile=".htmlcache" -# /config +destdir="/srv/git/html" +cachefile=".stagit-build-cache" if ! test -d "${dir}"; then - echo "${dir} does not exist" >&2 - exit 1 + echo "${dir} does not exist" >&2 + exit 1 fi cd "${dir}" || exit 1 +[ -f "${dir}/git-daemon-export-ok" ] || exit 0 + # detect git push -f force=0 while read -r old new ref; do - test "${old}" = "0000000000000000000000000000000000000000" && continue - test "${new}" = "0000000000000000000000000000000000000000" && continue + test "${old}" = "0000000000000000000000000000000000000000" && continue + test "${new}" = "0000000000000000000000000000000000000000" && continue - hasrevs=$(git rev-list "${old}" "^${new}" | sed 1q) - if test -n "${hasrevs}"; then - force=1 - break - fi + hasrevs=$(git rev-list "${old}" "^${new}" | sed 1q) + if test -n "${hasrevs}"; then + force=1 + break + fi done -# strip .git suffix. +# strip .git suffix r=$(basename "${name}") d=$(basename "${name}" ".git") printf "[%s] stagit HTML pages... " "${d}" +# remove folder if forced update +[ "${force}" = "1" ] && printf "forced update... " && rm -rf "${destdir}/${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 - rm -f "${cachefile}" - rm -rf "commit" -fi - -# make index. -stagit-index "${reposdir}/"*/ > "${destdir}/index.html" - -# make pages. +# make pages stagit -c "${cachefile}" "${reposdir}/${r}" - ln -sf log.html index.html -ln -sf ../style.css style.css -ln -sf ../logo.png logo.png + +# make index +repos="" +for dir in "$reposdir/"*.git/; do + [ -f "$dir/git-daemon-export-ok" ] && repos="$repos $dir" +done +echo "$repos" | xargs stagit-index > "${destdir}/index.html" echo "done" diff --git a/favicon.ico b/favicon.ico Binary files differ. diff --git a/logo.png b/logo.png Binary files differ. diff --git a/style.css b/style.css @@ -1,7 +1,41 @@ +:root { + --diff-green: #181; + --diff-red: #e02; + --links: #00c; + --code-border: #d2d2d2; + --gray: #777; + --hover-bg: #eee; +} + body { color: #000; background-color: #fff; font-family: monospace; + max-width: 900px; + margin: 8px auto; + padding: 5px; +} + +#content { + max-width: 800px; + overflow-x: auto; + margin: auto; +} + +#log, #index { + min-width: 600px; + overflow-x: auto; +} + +pre { + overflow-x: auto; + border: 1px solid var(--code-border); + border-radius: 4px; + padding: 10px; +} + +a { + color: var(--links); } h1, h2, h3, h4, h5, h6 { @@ -29,7 +63,7 @@ a.line { } #blob a { - color: #777; + color: var(--gray); } #blob a:hover { @@ -55,7 +89,7 @@ table td { #index tr:hover td, #log tr:hover td, #files tr:hover td { - background-color: #eee; + background-color: var(--hover-bg); } #index tr td:nth-child(2), @@ -70,12 +104,12 @@ td.num { } .desc { - color: #777; + color: var(--gray); } hr { border: 0; - border-top: 1px solid #777; + border-top: 1px solid var(--gray); height: 1px; } @@ -83,20 +117,16 @@ pre { font-family: monospace; } -pre a.h { - color: #00a; -} - .A, span.i, pre a.i { - color: #070; + color: var(--diff-green); } .D, span.d, pre a.d { - color: #e00; + color: var(--diff-red); } pre a.h:hover,