Technical notes

This page is for the benefit of web developers who are curious about how the site is put together, and is also a useful aide memoire for myself. It's strictly for techies who understand HTML, CSS, web design, and PHP.

Page design

The excellent, almost ubiquitous, Twitter Bootstrap framework is used for page design. I've used the Cerulean Bootswatch stylesheet for convenience, though will be rolling my own theme when I get the time. Some useful Bootstrap resources.

Code

Every line of the HTML is lovingly hand-crafted to deliver that artisan experience which is so lacking in today's Web. I've used HTML5 wherever possible, without busting my knackers on intricate and baroque semantic markup. I did use static HTML files on the first redesign pass, but it became too awkward to maintain code and keep the site scalable (SSIs support is rarer than hen's teeth these days) so I've used the PHP framework Codeigniter for the second pass. This also prepares the way for the site to become a proper database-driven repository.

Graphics

Icons come from the Tango Icon set, a very useful open project to deliver a stylistically-consistent set of user interface icons. Clipart is from the Open Clipart project.

Form handling

The chunky and sophisticated Tectite FormMail PHP script is used to handle HTML form submissions, as it has a stack of features, is Open Source, and looks to be fairly secure from crackers and spambots. Email mangling is used server-side to try to confuse spambots, and autorespond is not enabled so that parasites can't use the form to send out spam. The script does support the use of CAPTCHAs but they drive me potty and I'm sure would deter users from contacting me. This will shortly be superseded by Codeigniter forms for added security.

Search engine

I've used the lightweight, Open Source PHP script Sphider as the site search engine. It's quick, because it searches a site index, easy to configure and administer, and is only . Best of all, it's not the ubiquitous Google CSE, which apart from being a PITA to configure and putting data into Google's hands, slows down page loading by contacting insanely busy Google servers. Keep it light and simple, and under your own control, is my principle. The only minor nuisance of Sphider is that I have to remember to re-index the site on occasion, but that's quick and simple enough via the admin interface.

A good, brief guide to site search engine options is available on thesitewizard.com and is worth a read.