diff options
Diffstat (limited to 'urmoms')
-rwxr-xr-x | urmoms | 135 |
1 files changed, 0 insertions, 135 deletions
@@ -1,135 +0,0 @@ -#!/bin/sh - -# DEBUG -#set -e -x - -usage() { - printf '%s <repodir> <htmldir>\n' "$0" - exit 1 -} - -header() { - cat <<!__EOF__ -<!DOCTYPE HTML> -<html dir="ltr" lang="en"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> -<meta http-equiv="Content-Language" content="en" /> -<title>${name} - ${description}</title> -<link rel="stylesheet" type="text/css" href="style.css" /> -</head> -<body> -<center> -<h1><img src="${relpath}logo.png" alt="" /> ${name}</h1> -<span class="desc">${description}</span><br/> -<a href="${relpath}log.html">Log</a> | -<a href="${relpath}files.html">Files</a> | -<a href="${relpath}stats.html">Stats</a> | -<a href="${relpath}readme.html">README</a> | -<a href="${relpath}license.html">LICENSE</a> -</center> -<hr/> -<pre> -!__EOF__ -} - -footer() { - cat <<!__EOF__ -</pre> -</body> -</html> -!__EOF__ -} - -# usage: repodir and htmldir must be set. -if test x"$1" = x"" || test x"$2" = x""; then - usage -fi - -# make absolute path to htmldir. -htmldir="$(readlink -f $2)" -mkdir -p "${htmldir}" - -# repodir must be a directory to go to. -cd "$1" || usage - -# default index page (symlink). -indexpage="log.html" - -# project name, if bare repo remove .git suffix. -name=$(basename "$(pwd)" ".git") - -# read .git/description. -description="" -test -f ".git/description" && description="$(cat '.git/description')" - -# make diff for each commit (all files). -relpath="../" -mkdir -p "${htmldir}/commit" -git log --pretty='%H' | while read -r commit; do - test -e "${htmldir}/commit/${commit}.html" && continue - - header > "${htmldir}/commit/${commit}.html" - git show --pretty=full "${commit}" | \ - sed -E 's@^commit (.*)$@commit <a href="'${relpath}'commit/\1.html">\1</a>@g' >> "${htmldir}/commit/${commit}.html" - footer >> "${htmldir}/commit/${commit}.html" -done - -# make log with all commits. -relpath="" -header > "${htmldir}/log.html" -printf '<table border="0">' >> "${htmldir}/log.html" -git log --pretty='<tr><td align="right">%cr</td><td><a href="'${relpath}'commit/%H.html">%H</a></td><td>%an</td><td>%s</td></tr>' >> "${htmldir}/log.html" -printf '</table>' >> "${htmldir}/log.html" -footer >> "${htmldir}/log.html" - -# make index with file links. -relpath="" -header >> "${htmldir}/files.html" -printf '<table><tr><td><b>Mode</b></td><td><b>Name</b></td><td><b>Size</b></td><td></td></tr>' >> "${htmldir}/files.html" -git ls-tree -r -l master | while read -r mode type object size file; do - git log -1 --pretty='<tr><td>'${mode}'</td><td><a href="'${relpath}'commit/%H.html#file-'${file}'">'${file}'</a></td><td>'${size}'</td><td><a href="file/'${file}'">[plain]</a></td></tr>' "${file}" -done >> "${htmldir}/files.html" -printf '</table>' >> "${htmldir}/files.html" -footer >> "${htmldir}/files.html" - -# readme page -# find README file. -relpath="" -readme="" -for f in README README.md readme.md; do - test -e "${f}" && readme="${f}" -done -# make page. -header > "${htmldir}/readme.html" -if test x"${readme}" != x""; then - cat "${readme}" >> "${htmldir}/readme.html" -else - echo "no README file found" >> "${htmldir}/readme.html" -fi -footer >> "${htmldir}/readme.html" - -# license page -# find LICENSE file. -relpath="" -license="" -for f in LICENSE LICENSE.md; do - test -e "${f}" && license="${f}" -done -# make page. -header > "${htmldir}/license.html" -if test x"${readme}" != x""; then - cat "${license}" >> "${htmldir}/license.html" -else - echo "unknown license" >> "${htmldir}/license.html" -fi -footer >> "${htmldir}/license.html" - -# stats (authors). -relpath="" -header > "${htmldir}/stats.html" -git shortlog -n -s >> "${htmldir}/stats.html" -footer >> "${htmldir}/stats.html" - -# symlink to index page. -ln -sf "$indexpage" "${htmldir}/index.html" |