Ok, so here it is. The new and (vastly) improved family website. So what’s behind the scenes?
To start with, the server is running [Gentoo Linux][gentoo] on an old [Athlon][amd] box in my basement. I’ve been running Gentoo for years, since the 1.0 days. While it does take some time to compile an entire Linux box from scratch, the ease of getting exactly what you want, avoiding RPM hell, and the (usually) intuitive system configuration makes Gentoo a clear winner for me.
The website is built with the [Apache][] web server, [MySQL][] database, and [PHP][] scripting language. This is pretty much a de-facto standard these days, so who am I to argue? My coding expertise is in some pretty low level stuff, so I’m not going to reinvent the wheel.
The site itself is built around [WordPress][], an amazingly well designed, easy to install, configure, use, and customize piece of software. Although it probably took me a bit more than the claimed 5 minutes to get it up and running, most of that was due to time spent fighting through the cobwebs surrounding the Database Administrator portion of my brain. Once I gave up trying to remember the SQL commands I needed and installed [phpmyadmin][] I was up and running in no time.
One of the great features of [WordPress][] is the easy customization through themes and plug ins. After some time browsing various online repositories I settled on the [Dark Maple][] theme (nice, fall feel, no?), which I spent some time customizing to get the final details just right (any inconsistencies in layout are my fault).
The quotes in the sidebar have been languishing away in a rarely-viewed text file for quite some time. They are finally seeing the light of day on a regular basis thanks to [DonkieQuote][]. The author of this plug-in runs some interesting-looking sites, [Kick the Donkey][KTD] will be on my reading list for a while.
The Upcoming Events list and calendar on the sidebar are provided by [Event Calendar][]. WordPress allows you to schedule posts for future dates (for example, to post a weekly column while you are on vacation), but these post-dated posts don’t show up until the scheduled time. Event Calendar allows you to designate a category for scheduled events, then makes this category’s entries appear regardless of the date.
I’m writing this post with the aid of [Markdown][], a nice little formatting engine that allows cleaner semantics than HTML, allowing an author to focus on content rather than markup. If you remember the days of ASCII-only email, where \*’s and \_’s were used for emphasis and /’s for italics, then you know Markdown.
I’m still not much of a speller (this dates back to 1st grade), so I’m relying on the [Ajax Spell Checker][Ajax] plug-in to catch my snafus before they are out there for the world to see.
Last, but certainly not least, the sidebar images and other photo stuff is driven by [WPG2][], which integrates the excellent [Gallery][] photo site software into WordPress. This, some minor tweaking of the Gallery themes, and a [Gallery 2 Dark Maple color pack][g2darkmaple] I put together makes for smoothly integrated site (IMHO
).
The one remaining site element I needed was not available with WordPress. In the blog world links are used for a blogroll – a list of sites the current site’s author reads on a regular basis. WordPress’ links facility is very much based around this concept. I wanted something more akin the [Google Directory][], where sites are organized hierarchically by topic. Essentially, I want to be able to maintain my bookmarks no matter what PC I might be using, and want to be able to add new entries easily at any time. I found what I was looking for with [LinksCaffe 3.0][linkscaffe]. Again, some minor template and stylesheet customization resulted in a clean integration between the [Links][] pages and the rest of the site.
[gentoo]: http://www.gentoo.org/ “Gentoo Linux”
[amd]: http://www.amd.com/ “AMD”
[apache]: http://httpd.apache.org/ “Apache Web Server”
[mysql]: http://www.mysql.com/ “MySQL Database Server”
[php]: http://www.php.net/ “PHP Shell Interpreter”
[wordpress]: http://wordpress.org/ “WordPress Content Management”
[donkiequote]: http://dev.wp-plugins.org/wiki/DonkieQuote “DonkieQuote WordPress Plug-in”
[ktd]: http://kick.hopto.org/ “Kick the Donkey”
[Event Calendar]: http://blog.firetree.net/2005/07/18/eventcalendar-30/trackback/ “Event Calendar”
[Markdown]: http://www.michelf.com/projects/php-markdown/ “PHP Markdown”
[Ajax]: http://www.lab4games.net/zz85/blog/live-spell-checker/ “Ajax Spell Checker”
[WPG2]: http://wpg2.ozgreg.com/ “WPG2 WordPress/Gallery2 Integration”
[Gallery]: http://gallery.menalto.com/ “Gallery Photo Management”
[g2darkmaple]: /gallery/modules/colorpack/packs/darkmaple/color.css “Dark Maple Gallery 2 ColorPack”
[Google Directory]: http://directory.google.com/ “Google Directory”
[linkscaffe]: http://gonafish.com/ “LinksCaffe 3.0″
[Links]: /links “Links Directory”
[phpmyadmin]: http://www.phpmyadmin.net/ “Web-based administration for MySQL database in PHP”
[Dark Maple]: http://www.transycan.net/blogtest/2005/03/05/dark-maple-theme-2/trackback/ “Dark Maple Theme”