These pages describe the methods I've devised to create and manage the sourgumdrop.org.uk web site. Their function is to help those interested in adapting the same methods for their own site, and the content is pitched at a level which assumes these people know even less about the subject than I do. Perhaps the most useful first step is to look at the example web page. This should make it clear that there is a lot more to a web page than what is shown in the browser, and more importantly, how little of this you need concern yourself with if you use the methods described here.
Readers should decide for themselves if their needs are best satisfied by a content management system like WordPress, or the methods I'm describing here.
To summarise: This web site is written using Extensible HyperText Markup Language (XHTML), Cascading Style Sheets(CSS) and two bits of javascript. I've written three programs which greatly simplify the work involved in maintaining the site. The first make_menu takes a simple textual description of a menu and generates the corresponding XHTML ready to form part of the web pages. The second make_pages takes a simple text file which contains a list of the site's files and generates completed web pages. This involves combining page content, menus, page-specific keywords, titles, banner images, social networking links and so on. The third program check_pages analyses the completed web pages to check that the pages addressed by internal and external links exist, and also sends the pages to the W3C validator site.
I've attempted to explain how the methods are used, giving links to my own summaries of the technologies involved, and these summaries give links to more complete descriptions.
The code that constitutes a web page has several functions. The primary requirement is to provide browsers with content plus instructions for the display of the content. The second is to provide search engines with data to enable the page to be indexed appropriately. In addition, the page should contain suitable data for use when the page is summarised in the results of a search (eg by Google), and also to be used when the page is bookmarked in a browser or social bookmarking site. Generally a large proportion of a page's code is used to satisfy these secondary requirements.
To those who cannot understand why I don't simply use something like OpenOffice or Word: the code generated will not comply with XHTML standards, will probably look very different in different browsers, will be very inefficient, will not even attempt to satisfy the important secondary functions, and would be a nightmare to maintain.
These methods were devised to make it easier for me to create and maintain the SourGumdrop web site. I only know a subset of the languages involved and even forget that between periods of page creation. It was therefore important to simplify and automate as much as possible.
First I chose XHTML for coding the page content as it was then the most recent W3C recommendation. Next it was important to use Cascading Style Sheets(CSS) to deal with the look of the pages. This would save a lot of work and provide a uniform look between pages. Once it was written I would rarely need to remember how to code it: to write a new page I'd simply copy the CSS from earlier pages.
I also knew that a lot of the code constituting a proper web page was not for display in the browser, but was used for helping the browser and for aiding search engines. Much of this code would be identical or similar for each page and it would be complicated and laborious to write separately for every page. I wanted to get this stuff right but not waste time on it. Time should be spent on writing the content.
Here is a time saving example. At the time of writing, this site consists of 74 pages. Suppose I need to change a single item in the top menu. If I was managing the site using only an editor I'd have to edit 74 files. With the methods described here I only need to edit a single menu description file. Instead of visually checking 74 pages for errors, I'd only need to check 1 as the same change would have been made to all. In addition, to check that the code validated correctly and that the links were correct, instead of checking 74 files I run a single program.
Then there was the design of the site. I do not like flashy sites with lots of unnecessary features, and neither do I like sites that are difficult to navigate. I like to know all the pages a site contains and how to get to them from any other page. So every page on my site must have an appropriate set of menus. Earlier versions of the site had a long menu down the left edge of each page, but at the time of writing I am using dropdown menus and a look and layout derived from a WordPress design produced by Brian Gardner. I already knew that Stu Nicholls had worked out a way to code CSS and XHTML to produce dropdown menus that used valid code and performed as desired in the most popular browsers.
Also, I believe strongly in open standards. Without them the web would not exist. So the pages should be coded according to open standards and checked for validity.




