Table of Contents
recursive toc v1.4

web technologies and standards for this website

Introduction

World Wide Web Consortium (W3C) logo

This website is developed according to current W3C's CSS/XHTML standards. Websites are seen through client interfaces called browsers, which in turn implement these same standards.

The purpose of all this is that any website developed according to the W3C standards looks exactly the same on every browser.

However reality is a bit different, as not all browsers implement all of the W3C's standards and some even have incorrect or mis-interpreted implementations.

Technologies

W3C's Cascade Style Sheets (or CSS) do most of the job for this website. CSS is used setup the website's appearence and feel, while XHTML is used to describe content. Instead of having statically positioned HTML/XHTML elements and eventually some dynamic PHP scripted, the website is developed through the use of general XHTML elements associated with a class or identifier. The classes and identifiers are defined in the CSS file and determine the layout of the respective elements.

XHTML 1.0 / CSS 2.0

This website is written in Transitional XHTML 1.0/CSS 2.0 enabling a logical separation between data or content (XHTML) and metadata or style (CSS). Pages on this website are simple XHTML source files, with included CSS code to define the page layout - to be interpreted by the browser. The same CSS stylesheet files are used across the whole website so when I decide to change something on the layout, all I have to do is change the stylesheet and every page is then rendered according to the new stylesheet. Not at all a recent technique; these days nearly all internet websites use some form of CSS code.

XHTML/CSS code is essencially browser independent but care must be taken due to the different browser implementations. While some are fairly complete and well written (like Apple's Safari browser), some other are completely and irrecoverably broken (Microsoft's Internet Explorer seems a good example for the bad case).

There's a browser compatibility and rendering correctness report for this website, complete with screenshots that deals with such issues.

The following links could further justify the use of XHTML/CSS:

javascript

Some harmless degradable javascript code is also used to show/hide the table of contents across the website. To achieve this effect I've copied and adapted some GPL'd code from the mediawiki wiki engine. I've used the term degradable to describe the javascript code in this website - it just means that it is not essential for the website layout. Browsers with javascript disabled (or unsupported) will show the same website with the same look and functionalities (apart from the TOC hide/show, of course).

RSS 2 Feed

Recently, I've written an RSS 2.0 Feed for this website and made it available for everyone to use.

RSS stands for Real Simple Syndication and is mainly used by news aggregators (and browsers) to monitor websites news activity without actually revisiting them. As soon as there's a new item pulled from the feed, the news aggregator/browser notifies the user who gets to know that the referred website has new content.

This RSS Feed was written from scratch in about 3 hours (backed by my own code for Recursive Table of Contents and News database management and display) and consists only of (valid) XML code. The following addresses deserve all the credit for the quick howto and testing tips and for giving me the idea to create my RSS 2.0 Feed:

To use this feature, all that's needed is to import the feed into some news aggregator or RSS-aware browser. A good news aggregator is aKregator for Linux. As for browsers, Konqueror, Mozilla Firefox and Opera, all have good support for RSS Feeds, tipically through a small clickable icon (see examples below) that automatically adds the feed into some part of the browser (or external application).

Konqueror 3.5.2 Mozilla Firefox 1.5.0.1 Opera 8.52 Opera 9 Internet Explorer 7 beta3
RSS icon location on Konqueror
Bottom right corner
RSS icon location on Mozilla Firefox
Address bar
RSS icon location on Opera
Address bar
RSS icon location on Opera 9
Address bar
RSS icon location on Internet Explorer 7 beta3
Just below the address bar

You should try it, as it automatically tells you about new content without having to visit the website periodically looking for updates.

Code Integrity

All that's coded on this page was done by hand on a text editor (Vim). Sometimes I make mistakes on the code; typos, unclosed tags and such. Every page has links for W3C CSS validator and W3C XHTML validator for everyone to be able to check for standards compliance. Check bottom right footer of every page for W3C validator buttons. By clicking those, the selected page will be validated and a report will be displayed. Reports about invalid pages are very welcome!

Browser compatibility and rendering correctness

This matter has grown and is now a separate document. See it here: browser compatibility and rendering correctness.

Updates to this page