initial insertion - stagit-gopher - A git gopher frontend. (mirror) | |
git clone git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2h… | |
Log | |
Files | |
Refs | |
Tags | |
README | |
LICENSE | |
--- | |
commit acd240004960dbbce6081b338ee4ed1775acfd1e | |
Author: Hiltjo Posthuma <[email protected]> | |
Date: Fri, 4 Dec 2015 16:58:04 +0100 | |
initial insertion | |
Diffstat: | |
A README | 1 + | |
A TODO | 15 +++++++++++++++ | |
A logo.png | 0 | |
A style.css | 23 +++++++++++++++++++++++ | |
A urmoms | 117 +++++++++++++++++++++++++++++… | |
5 files changed, 156 insertions(+), 0 deletions(-) | |
--- | |
diff --git a/README b/README | |
@@ -0,0 +1 @@ | |
+to use urmom is quite easy... | |
diff --git a/TODO b/TODO | |
@@ -0,0 +1,15 @@ | |
+- be smarter about changes (an existing commit can never change the diff page). | |
+- add raw link to latest files: raw/file... | |
+- add summary page? | |
+- add diffstat to diff page? + and - lines summary? | |
+- escape < > ' " etc, maybe even use CDATA ? | |
+- shorter date format for logs.html page. | |
+- speed up generating files. | |
+- add stylesheet + 2f30/suckless logo. | |
+- for files link to the commit but make the filename a link anchor. | |
+- default to log view (stateless). | |
+- link to lines in file view! / commit log? | |
+- show all the tags and branches as list. | |
+- show commits for all tags and branches??? | |
+- no tarballs, snapshots and such. | |
+- able to add link to git url: git://url... per project. | |
diff --git a/logo.png b/logo.png | |
Binary files differ. | |
diff --git a/style.css b/style.css | |
@@ -0,0 +1,23 @@ | |
+body { | |
+ font-family: sans-serif; | |
+ color: #00ff00; | |
+ background-color: #000; | |
+} | |
+ | |
+h1 { | |
+ vertical-align: middle; | |
+} | |
+ | |
+a { | |
+ color: #00ff00; | |
+} | |
+ | |
+hr { | |
+ color: #00ff00; | |
+ background-color: #00ff00; | |
+ border-top: 1px solid #00ff00; | |
+} | |
+ | |
+pre { | |
+ font-family: monospace; | |
+} | |
diff --git a/urmoms b/urmoms | |
@@ -0,0 +1,117 @@ | |
+#!/bin/sh | |
+ | |
+# DEBUG | |
+#set -e -x | |
+ | |
+baseurl="http://cow.codemadness.org/gitlog/" | |
+# TODO: read .git/description. | |
+description="sbase" | |
+logdir="../gitlog" | |
+ | |
+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>${description}</title> | |
+<base href="${baseurl}" /> | |
+<link rel="stylesheet" type="text/css" href="style.css" /> | |
+</head> | |
+<body> | |
+<center> | |
+<h1><img src="logo.png" alt="" /> ${description}</h1> | |
+<a href="index.html">Tree</a> | | |
+<a href="log.html">Log</a> | | |
+<a href="stats.html">Stats</a> | | |
+<a href="readme.html">README</a> | | |
+<a href="license.html">LICENSE</a> | |
+</center> | |
+<hr/> | |
+<pre> | |
+!__EOF__ | |
+} | |
+ | |
+footer() { | |
+ cat <<!__EOF__ | |
+</pre> | |
+<hr/> | |
+<i><center>Powered by urmoms vibrator</center></i> | |
+</body> | |
+</html> | |
+!__EOF__ | |
+} | |
+ | |
+mkdir -p "${logdir}" | |
+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 "${logdir}/file/${file}.html" && continue | |
+ | |
+ d=$(dirname "${file}") | |
+ mkdir -p "${logdir}/file/${d}" | |
+ | |
+ header > "${logdir}/file/${file}.html" | |
+ git show "${firstcommit}"...master "${file}" | \ | |
+ sed -E 's@^commit (.*)$@commit <a href="commit/\1.html">\1</a>… | |
+ footer >> "${logdir}/file/${file}.html" | |
+done | |
+ | |
+# make log with all commits. | |
+header > "${logdir}/log.html" | |
+printf '<table border="0">' >> "${logdir}/log.html" | |
+git log --pretty='<tr><td align="right">%cD</td><td><a href="commit/%H.html">%… | |
+printf '</table>' >> "${logdir}/log.html" | |
+footer >> "${logdir}/log.html" | |
+ | |
+# make diff for each commit (all files). | |
+mkdir -p "${logdir}/commit" | |
+git log --pretty='%H' | while read -r commit; do | |
+ test -e "${logdir}/commit/${commit}.html" && continue | |
+ header > "${logdir}/commit/${commit}.html" | |
+ git show "${commit}" >> "${logdir}/commit/${commit}.html" | |
+ footer >> "${logdir}/commit/${commit}.html" | |
+done | |
+ | |
+# make index with file links. | |
+header >> "${logdir}/index.html" | |
+git ls-tree -r master | sed -E 's@ (.*)$@ <a href="file/\1.html"… | |
+footer >> "${logdir}/index.html" | |
+ | |
+# readme page | |
+# find README file. | |
+readme="" | |
+for f in README README.md readme.md; do | |
+ test -e "${f}" && readme="${f}" | |
+done | |
+# make page. | |
+header > "${logdir}/readme.html" | |
+if test x"${readme}" != x""; then | |
+ cat "${readme}" >> "${logdir}/readme.html" | |
+else | |
+ echo "no README file found" >> "${logdir}/readme.html" | |
+fi | |
+footer >> "${logdir}/readme.html" | |
+ | |
+# license page | |
+# find LICENSE file. | |
+license="" | |
+for f in LICENSE LICENSE.md; do | |
+ test -e "${f}" && license="${f}" | |
+done | |
+# make page. | |
+header > "${logdir}/license.html" | |
+if test x"${readme}" != x""; then | |
+ cat "${license}" >> "${logdir}/license.html" | |
+else | |
+ echo "unknown license" >> "${logdir}/license.html" | |
+fi | |
+footer >> "${logdir}/license.html" | |
+ | |
+# stats (authors). | |
+header > "${logdir}/stats.html" | |
+git shortlog -n -s >> "${logdir}/stats.html" | |
+footer >> "${logdir}/stats.html" |