Content and automated setup of iankelling.org * Setup setup.sh sets up apache and gitweb build.rb does static site generation Dependencies for running ./setup.sh DOMAIN: A modern debian based system (tested on debian 8, and debian 8 testing). Some shell scripts need to be sourced before running setup.sh: https://iankelling.org/git/?p=distro-functions;a=summary And some programs need to be in PATH: https://iankelling.org/git/?p=basic-https-conf;a=summary https://sallymae.club/git/?p=acme-tiny-wrapper;a=summary chost from https://iankelling.org/git/?p=fai;a=summary This repo does not include the repos under /git. In my own version, under /git are links to the .git dirs of the respective repos under the hardcoded directory in setup.sh: gitroot=/a/bin/githtml. These directories are managed separately, mostly by rsyncing them. Only the latest version of resume is kept in the resume branch which gets rebased on master. ./build.rb is not a generalized site generator, it has some content files specific to my site that it expects. Dates in the blog directory can be generated with date +%F * Comments New comments are stored in a sqlite database. There is a system for moderating, rate limiting, and handling comments based on previously seen ips. See _site/cgi/comment. Ones that are not moderated for spam etc, are stored to disk for checkin on the next run of build.rb. get-comments, set-comments, and iank-mod.el are for moderating new comments. With one emacs command, you get a buffer of the new comments, with keybinds to mark them for publishing, moderatation, banning, and execute changes. * Inspirations http://blog.zorinaq.com/release-of-hablog-and-new-design/? https://mjg59.dreamwidth.org/ http://bettermotherfuckingwebsite.com https://eduardoboucas.com/blog/2015/05/11/rethinking-the-commenting-system-for-my-jekyll-site.html * License Non-software is cc-by-sa 4 unless stated otherwise. Software is under GPLv2 or later unless stated otherwise. I'd use gplv3 or agpl, but it's simpler to use the same license as the gitweb javascript. The elisp is GPLv3 because emacs is. The opensans font is Apache2 licensed, from google fonts, the license is included in the LICENSE file.