Removed sourcehut aka sr.ht for banning me (fuck you), improved and fixed errors in helper scripts, etc

This commit is contained in:
Dionysus 2023-11-08 16:56:31 -05:00
parent 17b5dc39b0
commit edd38e0cc4
Signed by: acidvegas
GPG Key ID: EF4B922DB85DC9DE
4 changed files with 61 additions and 41 deletions

View File

@ -1,39 +1,34 @@
# stagit
> static git page generator
## Information
#### Information
This is my personal fork of [stagit](https://codemadness.org/stagit.html) which is running [git.acid.vegas](https://git.acid.vegas/)
## Dependencies
- C compiler *(C99)*
- libc *(tested with OpenBSD, FreeBSD, NetBSD, Linux: glibc & musl)*
- [libgit2](https://github.com/libgit2/libgit2) *(v0.22+)*
- [md4c](https://github.com/mity/md4c) *(v0.4.4+)*
- POSIX make *(optional)*
## Setup
```shell
cd stagit
make
sudo make install
```
## Features & Issues
###### Features
- Markdown rendering to HTML for README files
- ~~Syntax hilighting~~
- Repository categories
- Direct download to repository tar.gz
- Style changes
- ~~Raw file viewing~~
**NOTE**: The [/assets/](https://github.com/acidvegas/stagit/tree/master/assets) directory contains various scripts for deployment usage.
###### New Features
- [X] Markdown rendering to HTML for README files
- [ ] Syntax hilighting
- [X] Repository categories
- [X] Direct download to repository tar.gz
- [X] Style changes
- [ ] Raw file viewing *(will tackle this one next commit)*
###### Fixes
###### Issues
- [ ] Clickable heading *(h1-h6)* links in README *(md4c does not FULLY transform markdown)*
- [ ] Top/bottom padding for multi-lined `<code>` blocks
- [ ] Missing image references in README files *(md4c does not look in /files/ for the .screens directory)*
- [ ] Generating html for binary content is pointless. No links at all for these files.
###### Props
## Props
- Hiltjo Posthuma *(orignal author of [stagit](https://codemadness.org/git/stagit/))*
- Larry Burns *([stagit-md](https://github.com/lmburns/stagit-md))*
- Oscar Benedito *([md4c implementation](https://oscarbenedito.com/blog/2020/08/adding-about-pages-to-stagit/))*
___
###### Mirrors
[acid.vegas](https://git.acid.vegas/stagit) • [GitHub](https://github.com/acidvegas/stagit) • [GitLab](https://gitlab.com/acidvegas/stagit) • [SuperNETs](https://git.supernets.org/acidvegas/stagit)

View File

@ -7,8 +7,18 @@ CLONE_URL="git://$URL"
COMMIT_LIMIT=100
HTML_DIR="/srv/http"
DIR=$PWD
REPO=$(basename $DIR .git)
mkdir -p $HTML_DIR/$REPO && cd $HTML_DIR/$REPO && stagit -l $COMMIT_LIMIT -u "$PROTO://$URL/$REPO" $DIR
ln -sf log.html index.html
git --git-dir $DIR archive --format=tar.gz -o "$HTML_DIR/$REPO/archive.tar.gz" --prefix="$REPO/" HEAD
DIR="$PWD"
REPO=$(basename "$DIR" .git)
command -v stagit >/dev/null 2>&1 || { echo "stagit not found" >&2; exit 1; }
mkdir -p "$HTML_DIR/$REPO" || { echo "Failed to create directory $HTML_DIR/$REPO" >&2; exit 1; }
if cd "$HTML_DIR/$REPO"; then
stagit -l "$COMMIT_LIMIT" -u "$PROTO://$URL/$REPO" "$DIR" || { echo "stagit failed to generate static pages" >&2; exit 1; }
ln -sf log.html index.html
git --git-dir="$DIR" archive --format=tar.gz -o "$HTML_DIR/$REPO/archive.tar.gz" --prefix="$REPO/" HEAD || { echo "git archive failed" >&2; exit 1; }
else
echo "Failed to change directory to $HTML_DIR/$REPO" >&2
exit 1
fi

View File

@ -1,16 +1,31 @@
#!/bin/sh
# git-shell-commands helper for stagit - developed by acidvegas (https://git.acid.vegas/stagit)
[ ! "$#" = '1' ] && echo "invlid arguments (use -c or -d)" && exit 1
if [ $1 = '-c' ]; then
[ -d $2.git ] && echo "repository already exists" && exit 1
[ ! -f post-receive ] && "missing post-receive script" && exit 1
mkdir $2.git && git init --bare $2.git
touch $2.git/git-daemon-export-ok
ln /srv/git/git-shell-commands/post-receive $2.git/hooks/post-receive
echo "git://git.acid.vegas/$2.git" > $2.git/url
elif [ $1 = '-d' ]; then
[ ! -d $2.git ] && echo "repository does not exist" && exit 1
rm -rf $2.git
else
echo "invlid arguments (use -c or -d)" && exit 1
if [ "$#" -ne 2 ]; then
echo "invalid arguments (use -c or -d)" >&2
exit 1
fi
if [ "$1" = '-c' ]; then
if [ -d "$2.git" ]; then
echo "repository already exists" >&2
exit 1
fi
if [ ! -f post-receive ]; then
echo "missing post-receive script" >&2
exit 1
fi
mkdir "$2.git" && git init --bare "$2.git" || exit 1
touch "$2.git/git-daemon-export-ok"
ln /srv/git/git-shell-commands/post-receive "$2.git/hooks/post-receive" || exit 1
echo "git://git.acid.vegas/$2.git" > "$2.git/url"
elif [ "$1" = '-d' ]; then
if [ ! -d "$2.git" ]; then
echo "repository does not exist" >&2
exit 1
fi
rm -rf "$2.git"
else
echo "invalid arguments (use -c or -d)" >&2
exit 1
fi

View File

@ -83,7 +83,7 @@ void writeheader(FILE *fp) {
fputs("<center>\n<img src=\"/assets/acidvegas.png\"><br>\n<img src=\"/assets/mostdangerous.png\"><br><br>\n", fp);
fputs("<div class=\"container\">\n\t<center>\n\t<table>\n\t\t<tr><td>\n"
"<b>contact</b> : <a href=\"https://discord.gg/BCqRZZR\">discord</a> &bull; <a href=\"ircs://irc.supernets.org/superbowl\">irc</a> &bull; <a href=\"mailto://acid.vegas@acid.vegas\">mail</a> &bull; <a href=\"https://twitter.com/acidvegas\">twitter</a>\n"
"<br><b>mirrors</b> : <a href=\"https://github.com/acidvegas\">github</a> &bull; <a href=\"https://gitlab.com/acidvegas\">gitlab</a> &bull; <a href=\"https://git.sr.ht/~acidvegas\">sourcehut</a> &bull; <a href=\"https://git.supernets.org/acidvegas\">supernets</a>\n"
"<br><b>mirrors</b> : <a href=\"https://github.com/acidvegas\">github</a> &bull; <a href=\"https://gitlab.com/acidvegas\">gitlab</a> &bull; <a href=\"https://git.supernets.org/acidvegas\">supernets</a>\n"
"\t\t</td></tr>\n\t</table>\n\t</center>\n</div>\n<br>\n", fp);
fputs("<div id=\"content\">\n\t<table id=\"index\">\n\t\t<thead>\n\t\t\t<tr><td>Name</td><td>Description</td><td>Last commit</td></tr>\n\t\t</thead>\n\t\t<tbody>", fp);
}