Introduction
Introduction Statistics Contact Development Disclaimer Help
timprovements: - stagit - static git page generator
git clone git://src.adamsgaard.dk/stagit
Log
Files
Refs
README
LICENSE
---
commit bda4633633a0701bbd2f7861674a8e612d961fb7
parent 5734f7aca10abefa680497a5cb0bdaf538b6476a
Author: Hiltjo Posthuma <[email protected]>
Date: Sat, 5 Dec 2015 00:37:31 +0100
improvements:
- nicer file list.
- relative urls, dont use base href.
- add link to plain files, files should be checked out in "file" dir.
- strip .git from bare repos.
- simplify part of commit per file, just link to commit + file anchor (WIP).
Diffstat:
M urmoms | 74 +++++++++++++----------------…
1 file changed, 32 insertions(+), 42 deletions(-)
---
diff --git a/urmoms b/urmoms
t@@ -16,18 +16,17 @@ header() {
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Language" content="en" />
<title>${name} - ${description}</title>
-<base href="${baseurl}" />
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<center>
-<h1><img src="logo.png" alt="" /> ${name}</h1>
+<h1><img src="${relpath}logo.png" alt="" /> ${name}</h1>
<span class="desc">${description}</span><br/>
-<a href="log.html">Log</a> |
-<a href="files.html">Files</a> |
-<a href="stats.html">Stats</a> |
-<a href="readme.html">README</a> |
-<a href="license.html">LICENSE</a>
+<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>
t@@ -37,8 +36,6 @@ header() {
footer() {
cat <<!__EOF__
</pre>
-<hr/>
-<i><center>Powered by urmoms vibrator</center></i>
</body>
</html>
!__EOF__
t@@ -56,58 +53,49 @@ mkdir -p "${htmldir}"
# repodir must be a directory to go to.
cd "$1" || usage
-# project name
-# TODO: if bare repo just remove .git suffix?
-name=$(basename "$(pwd)")
+# 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')"
-# TODO: make configurable.
-baseurl="http://cow.codemadness.org/gitlog/"
-
-indexpage="log.html"
-
-firstcommit=$(git log | grep '^commit ' | tail -n 1 | cut -f 2 -d ' ')
-
-# make log per file.
-# TODO: just link to commit/commit? save some space and time?
-git ls-tree -r --name-only master | while read -r file; do
- test -e "${htmldir}/file/${file}.html" && continue
-
- d=$(dirname "${file}")
- mkdir -p "${htmldir}/file/${d}"
-
- header > "${htmldir}/file/${file}.html"
- git show "${firstcommit}"...master "${file}" | \
- sed -E 's@^commit (.*)$@commit <a href="commit/\1.html">\1</a>…
- footer >> "${htmldir}/file/${file}.html"
-done
-
-# make log with all commits.
-header > "${htmldir}/log.html"
-printf '<table border="0">' >> "${htmldir}/log.html"
-git log --pretty='<tr><td align="right">%cD</td><td><a href="commit/%H.html">%…
-printf '</table>' >> "${htmldir}/log.html"
-footer >> "${htmldir}/log.html"
-
# 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 "${commit}" >> "${htmldir}/commit/${commit}.html"
+ git show --pretty=full "${commit}" | \
+ sed -E 's@^commit (.*)$@commit <a href="'${relpath}'commit/\1.…
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}'commi…
+printf '</table>' >> "${htmldir}/log.html"
+footer >> "${htmldir}/log.html"
+
# make index with file links.
+relpath=""
header >> "${htmldir}/files.html"
-git ls-tree -r master | sed -E 's@ (.*)$@ <a href="file/\1.html"…
+printf '<table><tr><td><b>Mode</b></td><td><b>Name</b></td><td><b>Size</b></td…
+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}'co…
+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}"
t@@ -123,6 +111,7 @@ footer >> "${htmldir}/readme.html"
# license page
# find LICENSE file.
+relpath=""
license=""
for f in LICENSE LICENSE.md; do
test -e "${f}" && license="${f}"
t@@ -137,6 +126,7 @@ fi
footer >> "${htmldir}/license.html"
# stats (authors).
+relpath=""
header > "${htmldir}/stats.html"
git shortlog -n -s >> "${htmldir}/stats.html"
footer >> "${htmldir}/stats.html"
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.