Sources:
An authoritive source of information on HTML is available from W3C in their HTML-4.01 specification. Cascading Style Sheets are very useful also in creating compact and consistent web-pages. W3C also provide a specification to help you create your CSS media.The Open Source Web Design pages are a good place to start, as they have lots of nice pages you can use as the basis of your own. These pages were based on a design by Dan Hersam, which I got here. His design was in turn derived from another!
Lately (as in early 2002) I have been very much impressed by the merits of CSS. These pages used to be done using a table based layout. It is possible to simplify the html greatly by using CSS to achieve the desired layout. A good tutorial can be found here, which explains how to go from tables to CSS. There are also several good links in that article.
Software:
There are many pieces of software available to help you in creating HTML. Try VIM (Vi IMproved). It is a fine editor, and makes most editing tasks easier. Netscape also provides Netscape Composer, which you can use to produce web content. It has its uses.Producing graphics is very software dependent. Any graphics I have created for these pages were produced using The Gimp. It is generally considered to be the best graphics package for GNU-Linux. The main background I have used is called chickensongs and is from the propaganda set of tileable backgrounds. I don't have the name of the guy/gal who produced it, but it was produced using the Gimp.
Remember, you should try to make your pages readable by as many browsers (and hence users) as possible. A list of browsers is included in the links panel. Also bear in mind that some users are visually impaired and may be using reading software. It helps if you make sure to put in alt information for any images you use, and try to avoid convoluted table layouts more concerned with appearance than structure.