simple HTTP publishing of Git repositories

   For my public [1]Git repositories, I still mostly use third party
   services like [2]Bitbucket, [3]Gitlab, [4]Notabug, and [5]Github. The
   advantage of course is that these services are well-known, and they
   keep traffic away from a private server or something like SDF.

   On the other hand, providing your code through these services will get
   them data about your visitors, and it also makes your publication
   dependent on them. At least as a backup, it would be nice to serve your
   code through an independent facility, but you may not want to run a Git
   server (Gogs, Gitlab, etc). In principle, you can directly use a
   webserver, but you need to correctly set up the folders; just making a
   clone world-readable will not suffice.

   In short, you have to run git update-server-info in each repository, as
   I recently learned from a nice little post by "Solene" with the title
   [6]How to publish a git repository on http.

   I'm using the following script to update the repositories on my [7]gits
   webpage, but I still need to pull all content from third party sides
   together; only the most important repos are already included.

   ( poorkyll.sh is a script contained in my "plog" repo: it basically
   runs Markdown.pl on all *.md files with some HTML header and body
   stuff, and also generates my phlog/glog/blog entries, in combination
   with lynx. )
     __________________________________________________________________

#!/bin/sh
index=index.md
wdir=yargo.sdf.org/gits
cd $HOME/html/gits
cat README.md > $index
cat << EOH >> $index

---

## repositories:

EOH
for nn in *
do if test -d $nn
then cd $nn
 git update-server-info
 poorkyll.sh ../y.css
 cd -
 echo "- [$nn]( $nn/README.html )  " >> $index
 echo "  \`git clone http://$wdir/$nn/.git $nn\`" >> $index
fi
done

cat << EOH >> $index

---

_(generated `date -u`)_
EOH

poorkyll.sh y.css
     __________________________________________________________________

   .:.

References

   1. https://git-scm.com/
   2. https://bitbucket.org/
   3. https://gitlab.com/
   4. https://notabug.org/
   5. https://github.com/
   6. gopher://perso.pw/0/solene/article-23.txt
   7. http://yargo.sdf.org/gits