User Tools

Site Tools


resources_for_website_builders

This is an old revision of the document!


Resources for Developing Your Website

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.

The Golden Rule

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.

Strategy

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.

Editing Text

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.

Help With HTML

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. You can make editing easier by using an editor that has syntax hightlighting, as can be added to nano

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:

Cascading Stylesheets (CSS)

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:

Javascript

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.

Other Resources

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.

  • Safe CGI - at the User level, you can run CGI scripts in your web space, but it can be tricky, so you should consult this guide
    • if you want to try bash CGI, bashlib is an old tool that may help
  • Don't use the old CGI.pm for perl CGI anymore - At ARPA level, you can write CGI scripts in perl, but you shouldn't use old perl CGI package recipes to do so, because like bash CGI, it's not very safe. Instead, use one of the following modern replacements:
    • Use CGI::Tiny, a non-framework modern replacement for standalone perl CGI: Perl CGI But I Don't Want to Use a Framework. You can easily install in your user perl library, and it works great! Mojo Templates are installed on both the SDF cluster and on the metaarray, and CGI::Tiny works with that to prevent XSS, plus other template engines which the docs have examples for.
    • Use Plack, it can be set up in your SDF space and run as CGI even thought it's designed around a web framework and its own webservers.
    • Use Mojolicious, or Mojolicious Lite. Another framework that is meant to work with its own webserver, but can work for standalone CGI as well. There may be some version issues in the cluster.
  • PHP FAQ at php.net - Server-side Scripting Language
  • MySQL - Database Software

Books

For those of you who find it beneficial to work with books in addition to online resources, here are some 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.

Friendly Introduction

  • Head First HTML with CSS & XHTML, Elisabeth Freeman & Eric Freeman, O'Reilly & Associates

References

  • HTML: The Definitive Guide, Chuck Musciano & Bill Kennedy, O'Reilly & Associates
  • Cascading Style Sheets: The Definitive Guide, Eric A. Meyer, O'Reilly & Associates
  • Javascript: The Definitive Guide, David Flanagan, O'Reilly & Associates
  • Web Design in a Nutshell: A Desktop Quick Reference, Jennifer Niederst Robbins, O'Reilly & Associates

Traditional link (using RCS): http://sdf.org/?tutorials/resources4web ,v 1.2 2006/05/22 16:02:59 jboy

resources_for_website_builders.1651283141.txt.gz · Last modified: 2022/04/30 01:45 by peteyboy