summaryrefslogtreecommitdiff
path: root/www/generate/src
diff options
context:
space:
mode:
Diffstat (limited to 'www/generate/src')
-rwxr-xr-xwww/generate/src/gomod35
-rwxr-xr-xwww/generate/src/stagit18
2 files changed, 53 insertions, 0 deletions
diff --git a/www/generate/src/gomod b/www/generate/src/gomod
new file mode 100755
index 0000000..4973b88
--- /dev/null
+++ b/www/generate/src/gomod
@@ -0,0 +1,35 @@
+#!/bin/rc
+
+domain = $1
+gitdir = /var/git
+if (~ $domain ()) {
+ domain = `hostname
+}
+wwwdir = /var/www/htdocs/go.$domain
+
+
+tmpdir = `{mktemp -d}
+if (!cd $tmpdir) {
+ exit 1
+}
+
+fn sigexit {
+ rm -rf $tmpdir
+}
+
+for (repo in $gitdir/*) {
+ name = `{basename $repo}
+ dest = $wwwdir/$name
+
+ if (test -e go.mod) {
+ rm go.mod
+ }
+
+ if (git archive --remote=$repo HEAD go.mod >[2]/dev/null | tar -xf - >[2]/dev/null) {
+ echo GEN $name
+ mkdir -p $dest
+ modname = `{head -1 go.mod | sed 's/^module //'}
+ printf '<!DOCTYPE html><html><head><meta name="go-import" content="%s git %s"></head></html>' \
+ $modname https://src.$domain/$name > $dest/index.html
+ }
+}
diff --git a/www/generate/src/stagit b/www/generate/src/stagit
new file mode 100755
index 0000000..ceefc88
--- /dev/null
+++ b/www/generate/src/stagit
@@ -0,0 +1,18 @@
+#!/bin/rc
+
+gitdir = /var/git
+wwwdir = /var/www/htdocs/src.hhvn.uk
+
+stagit-index $gitdir/* > $wwwdir/index.html
+
+for (repo in $gitdir/*) {
+ base = `{basename $repo}
+ echo GEN $base
+
+ mkdir -p $wwwdir/$base
+ cd $wwwdir/$base
+ stagit -c .cache -u 'https://src.hhvn.uk/'$base $repo
+ if (!test -e index.html) {
+ ln -s log.html index.html
+ }
+}