The output of mkhomepg -h on sdf, (when run by user hobnail) is as follows:
usage: mkhomepg (initial setup)
mkhomepg -p (set appropriate file permissions)
mkhomepg -a (set or unset your custom URL)
mkhomepg -d (set or unset http://sdf.org/~hobnail)
mkhomepg -t (toggles SDF cluster/MetaArray hosting)
The default url mkhomepg would setup for user hobnail is
hobnail.sdf.org. Run with the -d flag, it toggles the url to
sdf.org/~hobnail. The -a flag lets you set a custom url, like
hobnail.com. The -p flag (as used by user hobnail) invokes chmod 644 or chmod 640, I think on the whole /www/hobnail directory, which is symlinked to the html folder in $HOME. It might do more. The -t flag is used for moving the site to a different host.
There is a short tutorial on building a website on SDF with mkhomepg. I think email@example.com is the author of mkhomepg. He might be willing to share its source code. It’s a delightful little utility. SDF uses .htaccess to allow per-user configuration of the Apache server by normal users without admin access.
Gopher on SDF is similarly managed by the mkgopher command, written by smj in 2003. It allows help, creation, and maintenence of a gopherhole in the $HOME/gopher directory, which it symlinks (for user hobnail) to /ftp/pub/users/hobnail, and serves from gopher://sdf.org:70/1/users/hobnail/.
I think the branchable codebase is just ikiwiki plus ikiwiki-hosting. It seems like ikiwiki may run on git or svn by default. I only became aware I could manage my wiki by git when I started using branchable, thanks to branchable’s good documentation of how to use it via git.