So, you've followed the instructions. You've run mkhomepg
.
You've created your first html document, and you've got as far as
displaying "Hello, World" in a browser for all to see. So far so
good. But what next? This brief tutorial aims to help you take that
next step, so you can create a web page that looks good,
performs well, and may even accomplish whatever goal you have for it.
Unless your aim is simply (and exclusively) to learn how to code a
web page, the most important consideration going into your project is
content. In general, the purpose of any web page is to provide
information or interaction of some sort. It could be to share photos
with family and friends. It could be to exchange ideas with like minded
individuals about some interest or hobby. It could be a blog for your
fevered rantings.
The nature of the content is naturally up to you - that's the beauty
of it. And as it is up to you, a discussion of content beyond this simple
admonishment is beyond the scope of this tutorial. But it is
important to remember that without interesting or useful content, there simply is no point.
I won't pretend that I can teach you all you need to know about
making a web page. But as someone who has been working with web
pages for more than five years, I do know my way around. My strategy
in this tutorial is to bring up topics of interest and then direct
you to online resources of high quality and free availability,based
on open standards.
This strategy is designed to be in accord with the goals and ethos
of SDF. So while you won't find much here about what to do - I
hope you will benefit from my suggestions on where to look.
At their most basic level, web pages are text files. Thus, you need a way of editing the text that will make up your web pages. If you wish to build your web page from within your SDF shell account, numerous text editors are available. To see a list, enter the following commands at your shell prompt:
$ faq g basics t 9
As you can see, there are quite a few to choose from. Some are
simple, and some are complex and quite amazingly powerful. I find
pico
convenient and easy to use. Many on SDF like
nano
. And for those who are willing to learn them there
are much more powerful editors like vi
, vim
and emacs
which offer an unmatched degree of
customization. What is important is to choose an editor that you are
comfortable working with, as you will be spending considerable time
using it.
Some folks, myself included, may find it easier to do their editing
in their desktop environment. If you are an ARPA lifetime member
(one-time fee of $36), this presents no obstacle as ftp (and sftp) is
available for transfering your finished work to your
html folder on SDF.
Hypertext Markup Language (HTML) is the primary language of the
world wide web. In its simplest terms, it provides for structuring
the text of your web page, through the use of various "tags" which
"mark" your text with structural attributes.
For example, text which falls between the opening tag <h1> and
the closing tag </h1> is interpreted by a web browser as being a
level one heading.
A full description of HTML is well beyond the scope of a basic tutorial, yet it is important that you have access to complete information. Fortunately, what you need is indeed freely available on the web. If you choose to ignore everything else in this tutorial, I would like you nontheless to heed this advice. The website of the World Wide Web Consortium (who set the standards and conventions for the World Wide Web) is your friend. Visit it. Get to know it. Learn to love it.
Some specific HTML related pages on the W3C site which may be helpful to you are listed below:
Of these, perhaps the most important is the Validator. By using the validator to check your work, you can ensure that your web page is standards compliant - built to work in a wide variety of browsers on any number of platforms. You'll find it also catches your typos (in your HTML, not your content).
Other HTML resources you may find useful:
Although HTML provides rudimentary formating capabilities through
various tags and attributes, the preferred method of setting
properties such as margins, text size, colors and other such goodies
is through the use of stylesheets. Not only do stylesheets provide
more power and flexibility than is available through pure HTML, they
also make it much easier to maintain or adjust the appearance of your
web pages. What is more, the use of style sheets can actually save
bandwidth, thus decreasing the size of and increasing the
responsiveness of you site.This is generally considered a
Good Thing.
The W3C again provides a wealth of materials. I find the following
links useful:
At its core, HTML is simply a markup language, a derivative of SGML. Even with the help of Cascading Stylesheets, it is not really a fully functional as a layout design tool. Rather it aims at page description - identifying your document heirarchy, describing lists and tables, and so on. For more elaborate construction work, it is often useful to employ a scripting language to expand your design capabilities. Several are available, but perhaps the most popular is the client-side running javascript.
HTML, CSS, Javascript - these are all well established parts of your "general purpose" web design toolkit. There are lots of more specialized tools available as well. I will just list a few here that you can explore in case you are interested.
For those of you who, like me, find it beneficial to work with books in addition to online resources, I offer the following suggestions. You may purchase these books directly from O'Reilly, or from a discount bookstore like BookPool, or you can locate a used copy from ABE Books or Alibris.