Reference Developer Tutorial 1 Introduction 2 Macros 3 Typesetting 4 Example 5 Hints 6 Examples 7 Webmaking SEARCH

7.1 Introduction

How can FunnelWeb be used to make webs? Easy! Here's how it works. You create a single file called (say) `daves_web.fw` containing a Funnelweb output file macro (`@O`) for each page in the the web that you want to create. The `daves_web.fw` file contains the entire web. When you feed it through FunnelWeb, FunnelWeb generates all the HTML files in your web.

                     +--------------+
                     | daves_web.fw |
                     +--------------+
                            |
                            V
                   o-------------------o
                   | FunnelWeb Program |
                   o-------------------o
                            |
                            V
           +----------------+----------------+
           |                |                |
    +--------------+  +------------+  +------------+
    | contact.html |  | index.html |  | links.html |
    +--------------+  +------------+  +------------+

Here are some key points about this application:

- First, FunnelWeb can only generate the text files in your web (such as the `.html` files). You will still need to create the image files using the image manipulation tools you usually use; FunnelWeb does not help with the graphics, nor does it provide a GUI. You have to write raw HTML. However, FunnelWeb provides power tools for writing the HTML.
- Second, this is not a literate-programming application of webs. Here, FunnelWeb is being used purely as a macro preprocessor, and there will never be any cause to use FunnelWeb to generate documentation files (weaving). The files generated as above are FunnelWeb output files, not FunnelWeb HTML documentation produced by the FunnelWeb weaver. This is a raw macro preprocessor application.

So what benefit is there in converting one's web to a single FunnelWeb file? If you have just a small number of pages in your web (as in the above diagram), there is probably not much benefit. However, if you have several pages in your web, FunnelWeb can provide huge benefits by enabling you to control the relationships between the various parts of your web and to parameterize it in whatever ways you want to. The result is a consistent style, a reduction of errors, and the power to execute broad ranging changes to the web with very little fuss. For example, FunnelWeb makes it easy to change the background of each page in your web, or to add a copyright notice at the bottom of every page.

The advantages of using FunnelWeb to make webs are as follows:

- Web is represented by a single file.
- No more multiple-file replace operations!
- Define a consistent style for the web.
- Parameterize the web. Make global changes easily.
- Use the power of HTML without the messy HTML syntax.
- Eliminates many syntax and spelling errors.
- Eliminates bad (internal) links.
- Eliminates form/CGI cross reference errors.
- A flexible text power tool always available.

The disadvantages of using FunnelWeb to make webs are as follows:

- No GUI interface. You have to write your web directly.
- It is more difficult to position graphics precisely.
- FunnelWeb files can look cryptic and messy.
- You have to run FunnelWeb between changing your web and viewing the changed pages.

Thus, if you make webs that are highly graphics intensive, or if you are uncertain about writing HTML, you should probably not use FunnelWeb. However, if you are generating large webs with many similar pages, FunnelWeb will eliminate much of the hassle in managing the whole complex. For large webs, this management capability is invaluable.

Whatever its advantages and disadvantages, FunnelWeb is certainly a practical production-quality webmaking tool. It has been used to make all of the webs in the following web spaces (each of which contains several subwebs):

Ross Williams
Rocksoft
Veracity

Webmaster Copyright © Ross N. Williams 1992,1999. All rights reserved.