HyperText Markup Language. A platform independent technique of distributing
formatted documents via the web.
You can get help with html problems with the alt.html
newsgroup. The FAQ
for the newsgroup is also a useful source of HTML information. For CSS, use a
different newsgroup: comp.infosystems.www.authoring.stylesheets.
Dreamweaver is the tool most professionals use to
edit HTML.
MoveableType and CityDesk
are tools to allow a team of people to collaboratively maintain an rapidly
changing website.
Editing HTML is somewhat more complicated when in has embedded Javascript,
JSP or Freemarker, XHTML,
XML. Before you buy an editor check how well your tool
deals with the complications you will be dealing with. Profession web design is
focussed around CSS style sheets. Make sure it handles those effortlessly.
How These Web Pages Were Produced
I use a number of tools, some I created myself to maintain these web pages.
-
I compose the pages themselves with SlickEdit, an
ordinary text editor, using CSS style sheets. This
produces much cleaner HTML than any automatic tool I have seen.
-
I verify with CSE HTML Validator.
-
If you examine the source code for these pages you will see code of the form:
which are used to generate a lot of the boilerplate, such as headers, footers,
book referrals, references to the JRE and JDK, international currency references,
lists of browsers etc. I invented my own macro generator where the macros are
written in Java. I have no far not packaged htmlmacro
for distribution. I did not want to get into trying to support it for non-programmers.
This unusual approach to generated content has several advantages:
-
I don't need any server side code or Servlet womb. I can run my website on a
completely vanilla, stable, easily mirrorable, HTTP server.
-
My code is much simpler and easier to debug than JSP or Servlets. It is just a
vanilla Java application.
-
I can provide a local mirror copy of the website to my readers that stays up to
date, but requires no local webserver.
-
The pages download faster since they are fully prepared in advance, including
compacting out unnecessary white space.
-
I don't need to rely on buggy, browser dependent JavaScript.
-
I have the full flexibility and speed of Jet-natively-compiled Java code to
create my content, with no RAM or response time worries.
-
Google likes my site, ranking it highly and spidering it often, possibly because
the page date does not change unless the page really has changed. That feature
and the compaction saves them time spidering.
The disadvantages of my approach are:
-
My pages don't interact with the user, other than via Applets. There are no
FORMS. FORMS have to be handled separately.
-
Since I usually avoid JavaScript, my pages lack pizzazz. I have done that
deliberately to create a slightly old-fashioned, more personal look. I wanted to
avoid anything that shouted "sales". That is not what my site is about.
-
Global changes not handled by CSS trigger massive uploads.
Here are some examples of the output of the macros:
If you do a view source on those pages, you can see the macro and the expansion.
-
I wrote custom code qf to generate the master
index and letter indexes that parses looking for <dt>...</dt>.
I have not released this. The code is too specific to my site.
-
I wrote a generic program called the Compactor that
removes excess whitespace. I have not yet released this code. It needs a little
more polishing. Details of how it works.
-
I wrote a generic program called Untouch that redates
files that have not really changed. I have not yet released this code. Details
of how it works.
-
I wrote a program called The Replicator
that delivers the website, just the recent changes you don't have yet, as a set
of zip files that are automatically expanded. This program is available as
shareware, and has untouch logic built in. You can use the client half of it
free to download my website (and keep your
copy up to date).
-
I don't use XML in any way to generate the website. I have a very dim view of XML.
-
After I make a series of changes, I just run a bat file called publish.bat
that runs these utilities in order, and uploads the changed files to my server.
-
I have done a fairly good job. I aim for functionality rather than gee whiz. The
site looks a little on pedestrian side (that was deliberate), but I have
incorporated many suggestions to make it less frustrating to navigate. A local
university uses my website to teach the principles of good web design. They like
my automatically generated you are here feature. Google tends to rank me
high. This is because my pages tend to be small and stick to a single topic. I
don't do anything consciously to try to manipulate the rankings. Also many
people have links into my glossaries for their own quick reference. Google
notices this and ups my ranks.