diff options
Diffstat (limited to 'www')
| -rwxr-xr-x | www/generate/src/gomod | 35 | ||||
| -rwxr-xr-x | www/generate/src/stagit | 18 |
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 + } +} |