My wife is starting her own business and needs a web presence for it. Since I am the only geek she knows, I was her first choice in being the one to create her website. I expressed my absolute willingness to do whatever she wanted me to do, but I warned her that it would probably look like the droppings of a Siberian mountain goat. For some odd reason, that didn’t dissuade her.
So, what tool was I going to use to create my^H^Hher website? I looked into Nvu, but I wasn’t overly impressed with what I saw. I mentioned what I was doing to my boss, Tony, and he brought up FrontPage, whipped up a simple demo site in navigation view, and threw a navigation bar on one of the pages. Tada! That’s all there is to it. I’ve got to admit that I was pretty impressed by what I saw FrontPage doing. FP 2003 wasn’t at all the toy I remember some of the older versions being, so I decided to give it a try.
The first thing I did was lay out the site in navigation view and created all the pages that she needed. Next I began trying to figure out how to insert a navigation bar onto all the pages. I’m sure there is an easier way to do it, and I’m also pretty sure that one of you will chime in and point me in the right direction, but the best way that I found was to use frames and insert the navigation bar in the top frame. Well, I don’t particularly want to use frames. I could create a page template and create all the other pages from that page template, but what would happen I wanted to change the template? Would changes from the page template populate to all the child pages? I really don’t know.
The “ease of use” promise of Microsofty products was quickly fading for me. Each failed attempt to get things working in FrontPage added to my frustration and subtracted from the time I have to work on this site. I decided to scrap the idea of using FrontPage. It was turning out to be way too much work. Maybe the initial learning curve eventually pays off, but I doubt it would pay off for me. At least it wouldn’t pay off for this one website.
If I didn’t use FrontPage, what would I use? It should be pretty easy to write a script or two to manage the site navigation and put all the pieces of the website together. I did a quick search on Google and SourceForge to see if someone else had created something like this, but I came up empty. Not totally, but it looked like the projects which did what I was looking for hadn’t been updated in a couple of years. I decided to hack together a really simple, site-specific templating script to throw Debra’s site together. I began with the layout for most of the pages on the site. There would be a top area for navigation and maybe a logo. I also wanted an optional region on the left side of the page for navigation within a specific area of the site. The content for each page would occupy the majority of the middle-right section of each page. And the very bottom would a footer area.
The architecture for this templating system is pretty simple. So simple, that I’m almost ashamed to call it a “templating system”. There is an XML file which describes the structure of the site. There are individual XML files for the header, left pane, content of each page, and footer region. Each page can either use the default header, footer, and left pane, or it can specify its own. I could have used plain Python code instead of XML, but decided to use XML instead, just in case I wanted to use this templating system again. I then created a Python script to parse the XML files and create the HTML files.
So far, it’s working pretty well. I can add new pages and automatically have the page added to the overall navigation of the site. If I change the site-wide header, I just have to re-run my Python script and it updates all the files in the site.
Sure, I could have looked into using includes, but I would have to specify includes in each page. Plus, the navigation structure, specifically the optional left pane, would have been a little work to manage.
FrontPage might still have have its uses. I might use it for some page-specific design details. I can only believe that it will help this design-challenged hacker.
What does all this say about me? Either I’m too stupid or impatient to figure out FrontPage, or I’m just unwilling to be stuck in the range of ways of doing things which FrontPage provides. I hope it’s the latter.
What does all this say about FrontPage? It’s a fine tool as long as you’re willing to work within what it provides. And even if you don’t use it for website management (which was the biggest issue I had with it), you can still at least use it to help lay out individual pages.