| Treatises | Engines Of War | Engineering | Battles | Spare Parts | Plunder |
| Web Site Tech | |||||||
|
Are you wondering how a web-site like Siege-Engine.com is maintained? Here's a primer on the tech needed to build this website, and how I managed to make it easy to maintain.
Kevin and Eric both take a lot of pictures, plus I collect a lot of pictures from other folks as well. All these pictures are stored in a custom image gallery manager written by Eric on a Linux machine. All images are stored by category, and then by date. They are indexed and given descriptions. The image gallery is then pillaged for all pictures on this web site which are run through the gimp. The Gimp has been tweaked to make cropping and scaling a speedy operation. The gallery images are also indexed directly by the Team Log and Random Chunk Picture.
All text is written directly in TWiki. TWiki is a wiki, with a simplified text formatter. For example, bold is just asterisks around a word group. The great thing about TWiki is that I, and any other member of the team, can manage the text from just about anywhere, and the simple formatting language is easily extended by regular HTML. When renaming pages, it can automatically find all the other references, and fix them. Spiffy! The TWiki formatting language was then extended by Eric to include image and movie management, autolinking between pages based on English text, spell checking, and anchors.
The Team Log is a side-effect of normal operations of Team Tormentum. Our team organizes all our information in the TWiki as well. We keep our schedules, plans, finances, to-do lists and favorite links and shopping places organized there. Our Team Log is also kept there. It is extracted, and converted for the External Website. The image gallery is examined for any matching dates. If a date matches, the summary image thumbnail is downloaded for use on the external web site.
While TWiki does have its own formatter program, Eric wrote a new one that manages a subset of the TWiki formatter in Emacs Lisp. I'm sure there is some head scratching going on with that one. I happen to love programming in Emacs Lisp, and have my own projects for Emacs that are unrelated to siege engines. The Emacs TWiki Formatter manages the HTML formatting and auto-linking. The text styles are all managed through HTML cascading style sheets which are autogenerated from a TWiki page. The overall shape of every web page is automatically constructed using the Apache web server's SSI extension (Server Side Includes.) Each page is made up of about 15 different HTML pages that are automatically assembled by Apache every time a page is downloaded.
Chapters and sections are all managed through a master index page that lays out the entirety of the Siege-Engine.com website. A Borne Shell Script then processes the master index page, and creates a master dependency list, all the chapter sections, subsections, menus, side-bars and groovy stuff like that. The Born Scripts end up creating more TWiki formatted text that is run through the Emacs formatter.
What better way to manage dependencies than through GNU Make? A master makefile creates all the dependencies and rebuilds all relevant sections automatically. A nightly Cron job then resolves any modified story pages, and reconstructs all the chapters and summaries. Once that is complete, every page is check-summed, and uploaded to the official Siege-Engine.com web server if it has changed. All hail Amy and her online store Sew Shoppe for providing a great place for Siege-Engine.com to live.
|
|
Contact: Team Tormentum Copyright © 2000-THISYEAR Eric M. Ludlam All rights reserved. Twas' brillig, and the slithy toves did gyre and gimble in the wabe... | Last Modified: 12/13/07 |