Web Development

HTML Editor

The first tool you need for developing web pages is a good editor. Many people have these glitsy WYSIWYG HTML editors, but I prefer really knowing what HTML codes are in my pages. Hey, I'm an engineer, I like knowing what's under the hood.

With that in mind you will undertand why I use Emacs to construct all the web pages you are browsing. I also recomend using html-helper-mode while editing HTML files.

Standards are a Good Thing

One of the goals of the Web is enabling as many browser clients as possible to accurately render web pages. To accomplish this the World Wide Web Consortium has written standards defining what is correct HTML and what is not.

Another useful standard from the Dublin Core is the Dublin Core Metadata for Resource Discovery (aka RFC2413) which describes a common set of META tags. The Metadata Element Set is an update to the definitions in the RFC.

Internationalization

To get your web pages to render correctly with other character sets there are some pitfalls with current browsers. A tutorial on character code issues is a great article on getting things working.

All the magic for displaying the funny looking characters is done using Universal Transformation Formats.

A great demonstration for seeing multiple languages on one page is presented as an advert for the Tenth International Unicode Conference.

Web Tools

There are many tools available for helping in the creation of web pages. These are the ones I use to create my web pages.

m4 Macro Processor

While it may take a bit to get a handle of the syntax for this package, it can be a very powerful tool. I currently use m4 as the template engine for all my web pages.

First I define a skeletal HTML file that will be the basis for my page, a template if you will, that m4 will parse and include the body part from another file. It took me a bit of time to get this working the way I like (actually most of the time was getting it into shape so that my wife could also use it) but it works very well now. Well enough to generate all my wife's pages and mine.

Markdown

I used to write all my web pages by hand in HTML so that I had the greatest amount of control over the content of my web pages (I just hate it when WYSISYG editors cram lots of junk in my HTML). I have softened a bit in my old age and now allow Markdown to do most of the heavy lifting.

What I like about Markdown is that you can maintain very readable e-mail-like text that Markdown converts into HTML. And for the tasks Markdown is not up to, it will pass over inline HTML so you still can have the control of the output you want. The best of both worlds.

Webcheck

Webcheck is a tool for validating that all the internal and external links on a web page are still good (i.e., not dead links).

Webcheck is based on linbot which was bullied out of existance. The original author of linbot appears to have passed the torch on to a new maintainer who changed the name of the program to avoid the same treatment as linbot.

Resources

Standards and Scripting has some good links to standards and discusses some implications to JavaScript.

One problem the web has is that its data is too transient. Your favorite site that that you read everyday can just one day drop of the face of the earth and you kick yourself for not mirroring all pages you use for reference. Fear not, the Internet Archive probably mirrored that site for you.