1
@!345678901234567890123456789012345678901234567890123456789012345678901234567890
2
@!******************************************************************************
5
@t title titlefont centre "FunnelWeb Pages"
7
@t title smalltitlefont centre "by Ross N. Williams"
8
@t title smalltitlefont centre "15 January 1997"
10
@t title smalltitlefont centre "Copyright (C) Ross N. Williams 1997."
13
@t title titlefont centre "Contents"
18
@!******************************************************************************
19
@!******************************************************************************
23
This document contains the FunnelWeb source for a web.
24
When processed by FunnelWeb, this file will
25
generate all the @{.html@} files in the web.
27
@!******************************************************************************
29
@B@<Copyright Notice@>
31
This FunnelWeb source file and all works derived from it (including, but
32
not limited to, the output files and printed documentation that can be
33
extracted using the FunnelWeb preprocessor) are copyright as shown below,
34
and the copyright message in the copyright macro
35
applies to all of these works. The enclosing macro is called at the start of
36
each FunnelWeb output file so that the copyright message appears in each
37
output file as well as in this FunnelWeb source file.
39
@$@<Copyright notice@>@Z@M@{@-
40
Copyright (C) Ross N. Williams 1992,1999. All rights reserved.@}
42
@$@<Copyright notice/HTML@>@Z@M@{@-
43
Copyright @<(C)@> Ross N. Williams 1992,1999. All rights reserved.@}
45
Permission is granted to make and distribute verbatim copies of this
46
FunnelWeb manual provided that all notices (including, without
47
limitation, the copyright notice, this permission notice, any record
48
of modification, and all legal notices) are preserved on all copies.
49
Modified versions of this manual, including translations to other
50
languages, may be distributed under the same terms, provided that each
51
modification made to the manual since its original release by Ross N.
52
Williams (www.ross.net) is identified on the page on which it occurs,
53
and the front page of the manual carries a notice notifying the reader
54
that changes have been made, and referring the reader to the official
55
FunnelWeb website at www.ross.net/funnelweb/.
57
To the extent permitted by law there is ABSOLUTELY NO WARRANTY.
59
@!******************************************************************************
61
@p maximum_input_line_length = 500
62
@p maximum_output_line_length = 500
64
@!******************************************************************************
69
15-Jan-1997: Created this web.
70
21-Jan-1997: This FunnelWeb web was first placed online.
71
29-Sep-1997: Adrian Corston changed the FunnelWeb mailing list to
72
...@@ross.net. The old addresses will work too.
73
29-Sep-1997: Updated Tony Coates URLs.
74
29-Sep-1997: Added code to suppress hyperlink underlining.
75
06-Mar-1998: I added Glauber Ribeiro's Win32 executable.
76
25-Apr-1998: faq.html: Modified the UNTAB program.
77
05-Aug-1998: Added user manual in PDF form.
78
05-Aug-1998: Added XML to links page.
79
24-Apr-1999: Reworked the entire web.
80
15-May-1999 RNW Uploaded the new improved web.
81
15-Jun-1999 RNW Added AIX executable.
82
30-Jun-1999 RNW Eliminated reference to non-existence background.gif file.
83
29-Sep-1999 RNW Updated mailing list page for new mailing list addresses.
84
29-Dec-1999 RNW Added sidebar image strut to stop it collapsing.
85
30-Dec-1999 RNW Amended the Tony Coates links on the links page.
86
03-Jan-2000 RNW Added Paul Wanis quote to testimonial page and sidebar quotes.
87
03-Jan-2000 RNW Changed the wording on the home page a little.
90
@!******************************************************************************
94
@$@<Things to do@>@Z@{
98
* Register with search engines.
99
* Add to the Literate Programming Web Ring.
100
http://www.tummy.com/LiterateProgramming/
104
* Put up DVI forms of the user manuals.
108
09-Jul-1992 Work on FunnelWeb abandoned.
112
$ zip -v fw.zip fw.exe
114
..... (in=196608) (out=78447) (deflated 60%)
115
total bytes=196608, compressed=78447 -> 60% savings
119
@!******************************************************************************
121
@B@<Graphic Design Notes@>
123
Sometimes when one needs to modify or duplicate the style of the original
124
graphics, it's very hard to remember how they were originally made. This
125
section contains notes on graphics in the FunnelWeb web.
127
@$@<Graphic Design Notes@>@Z@{
129
Bookman SSi 60pt Black
132
Take Macintosh FunnelWeb Icon
134
Glass: Big Lumps (I think).
137
Start with 100x25. Fill it in with (204,204,204).
138
Bookman SSi, 18pt, Bold, Anti.
141
Veracity shadow with blur=1
142
Convert to SYSTEM colour pallete in Photoshop.
143
(If you convert using adaptive, the grey background gets
144
set to 206 instead of 204 and netscape dithers it when it
148
11-Jul-1999 I'm pretty sure these came from Web Explosion:Bullets.
151
@!******************************************************************************
152
@!******************************************************************************
153
@!******************************************************************************
156
<BODY BGCOLOR=@<White@>
162
@$@<FunnelWeb WWW@>@Z@M@{@}
163
@$@<FunnelWeb Reference WWW@>@Z@M@{reference/@}
164
@$@<FunnelWeb Tutorial WWW@>@Z@M@{tutorial/@}
165
@$@<FunnelWeb Developer WWW@>@Z@M@{developer/@}
167
@$@<Page border colour@>@M@{#CCCCCC@}
169
@! The following macro is used in strings and so must be on one line.
170
@! @$@<Body/PERL@>@Z@M@{<BODY BGCOLOR=\"#FFFFFF\" TEXT=\"#000033\" VLINK=\"#660000\" LINK=\"#FF0000\" ALINK=\"#CC0000\">@}
172
@$@<FormWidth@>@Z@M@{35@}
174
@!******************************************************************************
178
The following macros provide macros to set up the top and bottom of pages.
180
@!------------------------------------------------------------------------------
182
@$@<Go to any page bar@>@M@{@-
184
<SELECT NAME="apage" SIZE=1
185
onChange="location.replace(this.options[this.selectedIndex].value); return true;">
186
@<FWOption@>@(@,Find any page.@)
187
@<FWOption@>@(@<Index FILE@>@,_______________@)
188
@<FWOption@>@(@<Index FILE@>@,HOME@)
189
@<FWOption@>@(@<Copyright FILE@>@,Copyright@)
190
@<FWOption@>@(@<Overview FILE@>@,_______________@)
191
@<FWOption@>@(@<Overview FILE@>@,OVERVIEW@)
192
@<FWOption@>@(@<Stability FILE@>@,Stability@)
193
@<FWOption@>@(@<FAQ FILE@>@,FAQ@)
194
@<FWOption@>@(@<Testimonials FILE@>@,Testimonials@)
195
@<FWOption@>@(@<Install FILE@>@,_______________@)
196
@<FWOption@>@(@<Install FILE@>@,INSTALL@)
197
@<FWOption@>@(@<Manuals FILE@>@,_______________@)
198
@<FWOption@>@(@<Manuals FILE@>@,MANUALS@)
199
@<FWOption@>@(@<Support FILE@>@,_______________@)
200
@<FWOption@>@(@<Support FILE@>@,SUPPORT@)
201
@<FWOption@>@(@<Mailing_list FILE@>@,Mailing List@)
202
@<FWOption@>@(@<Links FILE@>@,_______________@)
203
@<FWOption@>@(@<Links FILE@>@,LINKS@)
204
@<FWOption@>@(@<FunnelWeb_search FILE@>@,_______________@)
205
@<FWOption@>@(@<FunnelWeb_search FILE@>@,SEARCH@)
210
@$@<FWOption@>@(@2@)@M@{<OPTION VALUE="@1">@2@}
212
@!------------------------------------------------------------------------------
214
Page = Sidebar + Body + Rightline
215
Body = leftmargin + text + rightmargin
217
@$@<Page WIDTH@>@M@{535@}
218
@$@<Sidebar WIDTH@>@M@{120@}
219
@$@<Body WIDTH@>@M@{405@}
220
@$@<Rightline WIDTH@>@M@{10@}
222
@$@<Body leftmargin WIDTH@>@M@{20@}
223
@$@<Body text WIDTH@>@M@{365@}
224
@$@<Body rightmargin WIDTH@>@M@{20@}
226
@$@<Begin FunnelWeb generic page@>@(@3@)@M@{
233
@<Suppress hyperlink underlining@>
241
<TABLE WIDTH=@<Page WIDTH@> BORDER=0 CELLSPACING=0 CELLPADDING=0>
244
<TD COLSPAN=3 BGCOLOR=@<Page border colour@> VALIGN="bottom">@<Banner IMAGE/left@>
248
@<Go to any page bar@></TD>
252
<TD BGCOLOR=@<Page border colour@> ROWSPAN=2 WIDTH=@<Sidebar WIDTH@> VALIGN=top ALIGN=left>
253
@<HStrut@>@(@<Sidebar WIDTH@>@)@<BR@>
254
@<Space(w,h)/left@>@(7@,1@)@<RossNet linklogo IMAGE@>@<BR@>
259
@<Dynamic sidebar note@>
261
<TD BGCOLOR=@<Page border colour@> ALIGN=CENTER>
264
<TD BGCOLOR=@<Page border colour@>>@<_@></TD>
268
<TD WIDTH=@<Body WIDTH@> BGCOLOR=#FFFFFF>
270
<TABLE WIDTH=@<Body WIDTH@> BORDER=0 CELLPADDING=0 CELLSPACING=0>
271
<TR><TD WIDTH=@<Body leftmargin WIDTH@>> </TD><TD WIDTH=@<Body text WIDTH@> VALIGN="top">
275
@!------------------------------------------------------------------------------
277
@$@<End FunnelWeb page@>@M@{
279
@<Go to any page bar@>
282
<A HREF="@<Index FILE@>">HOME</A>
284
<A HREF="mailto:@<Ross webmaster EMAIL@>">Webmaster</A>
286
<A HREF="@<Copyright FILE@>">@<Copyright notice/HTML@></A><BR>
290
<TD WIDTH=@<Body rightmargin WIDTH@>> </TD>
295
<TD WIDTH=@<Rightline WIDTH@> BGCOLOR=@<Page border colour@>> </TD>
299
<TR><TD COLSPAN=3 BGCOLOR=@<Page border colour@>> </TD></TR>
312
@$@<Buttons/home@>@M@{
314
@<Label_home_b IMAGE@>@<BR@>
315
@<Label_overview_a IMAGE@>@<BR@>
316
@<Label_install_a IMAGE@>@<BR@>
317
@<Label_manuals_a IMAGE@>@<BR@>
318
@<Label_support_a IMAGE@>@<BR@>
319
@<Label_links_a IMAGE@>@<BR@>
320
@<Label_search_a IMAGE@>@<BR@>
324
@$@<Buttons/overview@>@M@{
326
@<Label_home_a IMAGE@>@<BR@>
327
@<Label_overview_b IMAGE@>@<BR@>
328
@<Label_install_a IMAGE@>@<BR@>
329
@<Label_manuals_a IMAGE@>@<BR@>
330
@<Label_support_a IMAGE@>@<BR@>
331
@<Label_links_a IMAGE@>@<BR@>
332
@<Label_search_a IMAGE@>@<BR@>
336
@$@<Buttons/install@>@M@{
338
@<Label_home_a IMAGE@>@<BR@>
339
@<Label_overview_a IMAGE@>@<BR@>
340
@<Label_install_b IMAGE@>@<BR@>
341
@<Label_manuals_a IMAGE@>@<BR@>
342
@<Label_support_a IMAGE@>@<BR@>
343
@<Label_links_a IMAGE@>@<BR@>
344
@<Label_search_a IMAGE@>@<BR@>
348
@$@<Buttons/manuals@>@M@{
350
@<Label_home_a IMAGE@>@<BR@>
351
@<Label_overview_a IMAGE@>@<BR@>
352
@<Label_install_a IMAGE@>@<BR@>
353
@<Label_manuals_b IMAGE@>@<BR@>
354
@<Label_support_a IMAGE@>@<BR@>
355
@<Label_links_a IMAGE@>@<BR@>
356
@<Label_search_a IMAGE@>@<BR@>
360
@$@<Buttons/support@>@M@{
362
@<Label_home_a IMAGE@>@<BR@>
363
@<Label_overview_a IMAGE@>@<BR@>
364
@<Label_install_a IMAGE@>@<BR@>
365
@<Label_manuals_a IMAGE@>@<BR@>
366
@<Label_support_b IMAGE@>@<BR@>
367
@<Label_links_a IMAGE@>@<BR@>
368
@<Label_search_a IMAGE@>@<BR@>
372
@$@<Buttons/links@>@M@{
374
@<Label_home_a IMAGE@>@<BR@>
375
@<Label_overview_a IMAGE@>@<BR@>
376
@<Label_install_a IMAGE@>@<BR@>
377
@<Label_manuals_a IMAGE@>@<BR@>
378
@<Label_support_a IMAGE@>@<BR@>
379
@<Label_links_b IMAGE@>@<BR@>
380
@<Label_search_a IMAGE@>@<BR@>
384
@$@<Buttons/search@>@M@{
386
@<Label_home_a IMAGE@>@<BR@>
387
@<Label_overview_a IMAGE@>@<BR@>
388
@<Label_install_a IMAGE@>@<BR@>
389
@<Label_manuals_a IMAGE@>@<BR@>
390
@<Label_support_a IMAGE@>@<BR@>
391
@<Label_links_a IMAGE@>@<BR@>
392
@<Label_search_b IMAGE@>@<BR@>
396
@!------------------------------------------------------------------------------
398
@$@<Begin FunnelWeb page/index@>@(@1@)@Z@M@{
399
@<Begin FunnelWeb generic page@>@(@1@,@<FunnelWeb keywords and decription@>@,@<Buttons/home@>@)
402
@!------------------------------------------------------------------------------
404
@$@<Begin FunnelWeb page/home@>@(@1@)@Z@M@{
405
@<Begin FunnelWeb generic page@>@(@1@,@,@<Buttons/home@>@)
406
@<FunnelWeb heading@>@(@1@)
409
@!------------------------------------------------------------------------------
411
@$@<Begin FunnelWeb page/overview@>@(@1@)@Z@M@{
412
@<Begin FunnelWeb generic page@>@(@1@,@,@<Buttons/overview@>@)
413
@<FunnelWeb heading@>@(@1@)
416
@!------------------------------------------------------------------------------
418
@$@<Begin FunnelWeb page/install@>@(@1@)@Z@M@{
419
@<Begin FunnelWeb generic page@>@(@1@,@,@<Buttons/install@>@)
420
@<FunnelWeb heading@>@(@1@)
423
@!------------------------------------------------------------------------------
425
@$@<Begin FunnelWeb page/manuals@>@(@1@)@Z@M@{
426
@<Begin FunnelWeb generic page@>@(@1@,@,@<Buttons/manuals@>@)
427
@<FunnelWeb heading@>@(@1@)
430
@!------------------------------------------------------------------------------
432
@$@<Begin FunnelWeb page/support@>@(@1@)@Z@M@{
433
@<Begin FunnelWeb generic page@>@(@1@,@,@<Buttons/support@>@)
434
@<FunnelWeb heading@>@(@1@)
437
@!------------------------------------------------------------------------------
439
@$@<Begin FunnelWeb page/links@>@(@1@)@Z@M@{
440
@<Begin FunnelWeb generic page@>@(@1@,@,@<Buttons/links@>@)
441
@<FunnelWeb heading@>@(@1@)
444
@!------------------------------------------------------------------------------
446
@$@<Begin FunnelWeb page/search@>@(@1@)@Z@M@{
447
@<Begin FunnelWeb generic page@>@(@1@,@,@<Buttons/search@>@)
448
@<FunnelWeb heading@>@(@1@)
451
@!******************************************************************************
455
@$@<Banner IMAGE/left@>@M@{@-
456
<A HREF="@<Index FILE@>"><IMG SRC="@<Bin@>title.gif"
457
WIDTH="300" HEIGHT="60" ALT="FunnelWeb" BORDER="0" HSPACE=10 VSPACE=5 ALIGN="left"></A>@}
459
@!******************************************************************************
461
@B@<General FunnelWeb Macros@>
463
@$@<FunnelWeb Webmaster@>@M@{@-
464
@<Link@>@(mailto:@<Ross webmaster EMAIL@>@,FunnelWeb Webmaster@)@}
466
@$@<FunnelWeb heading@>@(@1@)@Z@M@{@-
467
@<P@>@<BR@>@<Size6@>@(@1@)@<BR@>@}
469
@$@<FunnelWeb heading/nospace@>@(@1@)@Z@M@{@-
470
@<Size6@>@(@1@)@<BR@>@}
472
@$@<FunnelWeb subheading@>@(@1@)@Z@M@{@-
473
@<P@>@<BR@>@<Size4@>@(@<B@>@(@1@)@)@<BR@>@}
475
@$@<FunnelWeb subsubheading@>@(@1@)@Z@M@{@-
476
@<P@>@<BR@>@<Size3@>@(@<B@>@(@1@)@)@<BR@>@}
478
@$@<FunnelWeb heading/center@>@(@1@)@Z@M@{@-
481
@<Size5@>@(@<B@>@(@1@)@)@<BR@>
485
@$@<Bar30@>@Z@M@{<P><CENTER><HR WIDTH="30%"></CENTER>@}
487
@$@<Back to the home page@>@Z@M@{
490
@<B@>@(<A HREF="@<Index FILE@>">Back to the FunnelWeb Home Page</A>@)@<BR@>
493
@$@<Label_home_a IMAGE@>@M@{@<VLabel@>@(Home@,label_home_a.gif@,@<Index FILE@>@)@}
494
@$@<Label_home_b IMAGE@>@M@{@<VLabel@>@(Home@,label_home_b.gif@,@<Index FILE@>@)@}
496
@$@<Label_overview_a IMAGE@>@M@{@<VLabel@>@(Overview@,label_overview_a.gif@,@<Overview FILE@>@)@}
497
@$@<Label_overview_b IMAGE@>@M@{@<VLabel@>@(Overview@,label_overview_b.gif@,@<Overview FILE@>@)@}
499
@$@<Label_install_a IMAGE@>@M@{@<VLabel@>@(Install@,label_install_a.gif@,@<Install FILE@>@)@}
500
@$@<Label_install_b IMAGE@>@M@{@<VLabel@>@(Install@,label_install_b.gif@,@<Install FILE@>@)@}
502
@$@<Label_manuals_a IMAGE@>@M@{@<VLabel@>@(Manuals@,label_manuals_a.gif@,@<Manuals FILE@>@)@}
503
@$@<Label_manuals_b IMAGE@>@M@{@<VLabel@>@(Manuals@,label_manuals_b.gif@,@<Manuals FILE@>@)@}
505
@$@<Label_support_a IMAGE@>@M@{@<VLabel@>@(Support@,label_support_a.gif@,@<Support FILE@>@)@}
506
@$@<Label_support_b IMAGE@>@M@{@<VLabel@>@(Support@,label_support_b.gif@,@<Support FILE@>@)@}
508
@$@<Label_links_a IMAGE@>@M@{@<VLabel@>@(Links@,label_links_a.gif@,@<Links FILE@>@)@}
509
@$@<Label_links_b IMAGE@>@M@{@<VLabel@>@(Links@,label_links_b.gif@,@<Links FILE@>@)@}
511
@$@<Label_search_a IMAGE@>@M@{@<VLabel@>@(Search@,label_search_a.gif@,@<FunnelWeb_search FILE@>@)@}
512
@$@<Label_search_b IMAGE@>@M@{@<VLabel@>@(Search@,label_search_b.gif@,@<FunnelWeb_search FILE@>@)@}
514
@$@<VLabel@>@(@3@)@M@{<A HREF="@3"><IMG SRC="@<Bin@>@2" HEIGHT=25 WIDTH=100 BORDER=0 ALT="@1"></A>@}
516
@$@<Red_pin IMAGE/left@>@Z@M@{<IMG SRC="@<Bin@>rd_pin.gif" HEIGHT="21" WIDTH="21" ALIGN="left" ALT="*">@}
518
@$@<Rossnet_logo IMAGE@>@Z@M@{@-
519
<A HREF="@<Ross root WWW@>">
523
SRC="@<Bin@>rossnet_logo.gif" HEIGHT="32" WIDTH="64">
526
@$@<FunnelWeb_logo IMAGE@>@Z@M@{@-
527
<A HREF="@<FunnelWeb WWW@>">
531
SRC="@<Bin@>linklogo.gif" HEIGHT="32" WIDTH="64">
534
@$@<Spider_up IMAGE@>@Z@M@{@-
535
<IMG SRC="@<Bin@>fw_up.gif" WIDTH=32 HEIGHT=32 ALT="*">@}
537
@$@<Spider_up IMAGE/left@>@Z@M@{@-
538
<IMG SRC="@<Bin@>fw_up.gif" WIDTH=32 HEIGHT=32 ALT="*" ALIGN="left">@}
540
@$@<Spider_up IMAGE/right@>@Z@M@{@-
541
<IMG SRC="@<Bin@>fw_up.gif" WIDTH=32 HEIGHT=32 ALT="*" ALIGN="right">@}
543
@$@<Spider_down IMAGE@>@Z@M@{@-
544
<IMG SRC="@<Bin@>fw_down.gif" WIDTH=32 HEIGHT=32 ALT="*">@}
546
@$@<Spider_left IMAGE@>@Z@M@{@-
547
<IMG SRC="@<Bin@>fw_left.gif" WIDTH=32 HEIGHT=32 ALT="*">@}
549
@$@<Spider_left IMAGE/right@>@Z@M@{@-
550
<IMG SRC="@<Bin@>fw_left.gif" WIDTH=32 HEIGHT=32 ALT="*" ALIGN="right">@}
552
@$@<Spider_right IMAGE@>@Z@M@{@-
553
<IMG SRC="@<Bin@>fw_right.gif" WIDTH=32 HEIGHT=32 ALT="*">@}
555
@$@<Spider_right IMAGE/left@>@Z@M@{@-
556
<IMG SRC="@<Bin@>fw_right.gif" WIDTH=32 HEIGHT=32 ALT="*" ALIGN="left">@}
558
@$@<Spider_right IMAGE/right@>@Z@M@{@-
559
<IMG SRC="@<Bin@>fw_right.gif" WIDTH=32 HEIGHT=32 ALT="*" ALIGN="right">@}
561
@!******************************************************************************
563
@$@<FunnelWeb keywords and decription@>@{
564
<META NAME="description"
565
CONTENT="FunnelWeb is a portable literate-programming macro preprocessor
566
that enables you to weave code and documentation together."
568
<META NAME="keywords"
569
CONTENT="funnelweb,funnel,web,FunnelWeb,Funnelweb,
570
literate programming,literate, programming,literate-programming,
571
macro,macros,preprocessor,macro preprocessor,
572
software,free,freeware,gnu,copyleft,
573
web,development,tool,web tool,
574
ross,williams,ross williams,
575
ross n williams,Ross,Williams,Ross Williams">
578
@!==============================================================================
581
<IMG SRC="@<Bin@>fw_icon.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="[Icon]">
584
@$@<FWIcon/para@>@Z@M@{
585
<IMG SRC="@<Bin@>fw_icon.gif"
586
HEIGHT="32" WIDTH="32"
587
BORDER="0" ALT="[Icon]"
588
ALIGN="left" HSPACE="5">
591
@$@<Tick16 IMAGE@>@Z@M@{@-
592
<IMG SRC="@<Bin@>tick_red.gif"
593
WIDTH="16" HEIGHT="16" HSPACE=2 VSPACE=0 ALT="*" BORDER="0">@}
595
@$@<Tick IMAGE@>@Z@M@{@-
596
<IMG SRC="@<Bin@>tick_red_12.gif"
597
WIDTH="12" HEIGHT="12" HSPACE=4 VSPACE=0 ALT="*" BORDER="0">@}
599
@!******************************************************************************
600
@!******************************************************************************
602
@$@<Home FILE@>@Z@M@{index.shtml@}
603
@$@<Index FILE@>@Z@M@{index.shtml@}
604
@O@<index.shtml@>@{@-
605
@<Begin FunnelWeb page/index@>@(The FunnelWeb Literate Programming Tool@)
609
<FONT COLOR=#993300 SIZE=2>
610
@<Boldthing@>@(Note:@) This is a copy of the FunnelWeb
611
website as it was on @<CopyDate@>. This copy may now be
612
out of date. The official FunnelWeb website can be found
613
at @<WindowLink@>@(@<FunnelWeb WWW/abs@>@,@-
614
@<FunnelWeb WINDOWNAME@>@,@<FunnelWeb WWW/abs@>@)
622
@<P@>@<Spider_up IMAGE/right@>Welcome to the FunnelWeb Home Page.
624
powerful literate-programming macro preprocessor that
625
enables you to weave programs and documentation together.
626
FunnelWeb is a @<B@>@(production quality@) tool that was
627
specifically engineered for practical everyday use:
631
@<Tick IMAGE@>Can be used with any programming language.@<BR@>
632
@<Tick IMAGE@>Runs on most platforms (including GNU/Linux).@<BR@>
633
@<Tick IMAGE@>Free of charge; entirely non-commercial.@<BR@>
634
@<Tick IMAGE@>Source available under a GNU licence.@<BR@>
635
@<Tick IMAGE@>Reference, tutorial, and developer manuals.@<BR@>
636
@<Tick IMAGE@>Mature and essentially bug-free (released 1992).@<BR@>
637
@<Tick IMAGE@>Simple; specifically designed to minimize errors.@<BR@>
638
@<Tick IMAGE@>High speed; doesn't stretch the development cycle.@<BR@>
639
@<Tick IMAGE@>Used to create the @<Veracity@> data integrity product.@<BR@>
640
@<Tick IMAGE@>Generates documentation in HTML and TeX forms.@<BR@>
641
@<Tick IMAGE@>FunnelWeb user community mailing list.@<BR@>
644
@<P@>@<Spider_right IMAGE/left@>But FunnelWeb is also
645
a powerful @<B@>@(general
646
purpose@) text file preparation tool that has found many
647
applications outside the area of literate programming. For
648
example, FunnelWeb was used to create the web you are
649
reading. Check out the @<User Testimonials@>.
651
@<P@>@<Spider_left IMAGE/right@>If
652
you are looking for a solid literate-programming
653
tool, or if you are curious about how FunnelWeb's macro
654
capabilities can help you in your everyday computing, I
655
hope that you will take the time to
656
@<Link@>@(@<Install FILE@>@,try out FunnelWeb.@)
659
@<Ross Williams@>@<BR@>
660
Author of FunnelWeb@<BR@>
661
Adelaide, May 1999.@<BR@>
665
PS: If you found this page because you were looking for the
666
Funnelweb web traffic analysis tool, you should visit the
667
@<Active Concepts@> web instead.
670
@<End FunnelWeb page@>
673
@!******************************************************************************
675
@$@<Overview FILE@>@Z@M@{overview.shtml@}
676
@O@<overview.shtml@>@{
677
@<Begin FunnelWeb page/overview@>@(Overview Of FunnelWeb@)
679
@<P@>@<Spider_right IMAGE/right@>FunnelWeb
680
is a essentially a macro preprocessor. It reads
681
in an input file containing a list of macros and generates one
682
or more output files that are defined in terms of the macros.
683
In between the macro definitions, you can add explanatory text,
684
enabling the entire document to be typeset as code documentation.
685
For this reason, FunnelWeb is best described as a
686
"Literate Programming Macro Preprocessor".
688
@<P@>FunnelWeb has the following features:
692
@<Item@>A simple macro preprocessor facility.
693
@<Item@>Generates documentation in TeX and HTML formats.
694
@<Item@>Runs on a variety of platforms.
695
@<Item@>Portable C source code available under GNU licence.
696
@<Item@>Comprehensive documentation.
697
@<Item@>Input-programming-language independent.
698
@<Item@>Allows complete control over the output text.
701
@<P@>FunnelWeb can be used in a variety of roles, but in particular
705
@<Item@>Writing complicated computer programs.
706
@<Item@>Preparing related collection of text files.
707
@<Item@>Preparing text files in a cryptic language.
710
@<P@>@<Spider_right IMAGE/left@>In
711
particular, these properties make FunnelWeb perfect for
712
generating webs. In fact, this FunnelWeb web was generated
713
using FunnelWeb. For more information, see the chapter on this
714
topic in the @<FunnelWeb Tutorial Manual@>.
716
@<P@>FunnelWeb is in use all around the world in a wide variety of
717
roles. To see some comments that FunnelWeb users have made about
718
FunnelWeb, see the @<FunnelWeb Testimonials@> page.
720
@<P@>To get started with FunnelWeb, visit the
721
@<FunnelWeb Installation@> page. If you're worried about the
722
stability and availabity of FunnelWeb, visit the
723
@<Link@>@(@<Stability FILE@>@,Stability Page@).
725
@<P@>There is a @<Frequently Asked Questions@> page too.
727
@<End FunnelWeb page@>
730
@!******************************************************************************
732
@$@<Stability FILE@>@Z@M@{stability.shtml@}
733
@O@<stability.shtml@>@{
734
@<Begin FunnelWeb page/overview@>@(FunnelWeb Stability@)
736
@<P@>@<Spider_right IMAGE/left@>One
737
of the dangers of becoming involved with a language
738
tool such as FunnelWeb is that you become dependent upon it.
739
If FunnelWeb were to stop working for some reason, your
740
@<TT@>@(.fw@) files would become unuseable. This can happen
741
because of operating system upgrades, copyright problems,
742
unfixable bugs, or just the inability of the program to be
743
ported to a new target platform.
745
@<P@>I am critically aware of these issues, and have taken
746
the following steps to ensure that FunnelWeb provides a
747
stable base upon which to build software:
749
@<Narrowthing@>@(Open source:@,FunnelWeb's C source code has
750
been released under GNU General Public License Version 2.
751
This means not only that FunnelWeb is available free of
752
charge, but that the source code to FunnelWeb is available
753
to you free of charge too. If a FunnelWeb executable ever
754
stops working, you can compile a new version on your
755
platform. If ever you run up against a serious bug, you can
758
@<Narrowthing@>@(Portability:@,FunnelWeb has been designed
759
and written to be extremely portable. First, all FunnelWeb
760
really does is read and write text files, which are very
761
portable operations. Second, FunnelWeb is written in the C
762
programming language with portability as a major design
763
goal. Third, FunnelWeb has already been ported to many
764
popular platforms (including Windows, Macintosh, Solaris,
765
and OpenVMS) and will probably compile on many others, with
766
almost no change. Fourth, FunnelWeb comes with a
767
comprehensive automated regression test suite that makes it
768
easy to pinpoint problems when it is moved to a new
769
platform. All this amounts to an assurance that if you have
770
to migrate to a new platform, FunnelWeb can migrate with
773
@<Narrowthing@>@(Quality:@,The FunnelWeb source code is
774
stable high quality code. Design decisions have not been
775
taken lightly. FunnelWeb V3.0 has been in daily use since
776
its release in 1992, and the few bugs that were found were
777
all fixed in FunnelWeb V3.2.@)
779
@<Narrowthing@>@(Documentation:@,FunnelWeb is comprehensively
781
the @<FunnelWeb Reference Manual@>,
782
the @<FunnelWeb Tutorial Manual@>
783
and the @<FunnelWeb Developer Manual@>.
784
These manuals, plus the source code, provide the
785
ultimate reference for any questions about FunnelWeb
788
@<Narrowthing@>@(Language stability:@,To protect your
789
investment in the FunnelWeb language, I intend to ensure
790
that future versions of the official version of FunnelWeb
791
maintain backwards compatibility so that existing FunnelWeb
792
files can always be processed. Having done most of my
793
programming since 1986 using FunnelWeb, I am not in a
794
position to compromise on backwards compatibility!@)
796
@<P@>It is my hope that together these elements will
797
eliminate any fears you may have about the stability
798
and availability of the FunnelWeb language.
800
@<End FunnelWeb page@>
803
@!******************************************************************************
805
@$@<FAQ@>@Z@M@{@<Link@>@(@<FAQ FILE@>@,FAQ@)@}
806
@$@<Frequently Asked Questions@>@Z@M@{@<Link@>@(@<FAQ FILE@>@,FAQ@)@}
807
@$@<FAQ FILE@>@M@{faq.shtml@}
809
@<Begin FunnelWeb page/overview@>@(Frequently Asked Questions@)
811
@<FunnelWeb subheading@>@(What Is FunnelWeb?@)
813
@<P@>FunnelWeb is a essentially a macro preprocessor. It reads
814
in an input file containing a list of macros and generates one
815
or more output files that are defined in terms of the macros.
816
In between the macro definitions, you can add explanatory text,
817
enabling the entire document to be typeset as documentation for
818
the code. For this reason, FunnelWeb is best describes as a
819
"Literate Programming Macro Preprocessor".
821
@<FunnelWeb subheading@>@(How Much Does FunnelWeb Cost?@)
823
@<P@>FunnelWeb is free and distributed under a GNU licence.
824
You can download executables for a wide range of platforms,
825
or compile FunnelWeb yourself.
827
@<FunnelWeb subheading@>@(I Was Expecting A Web Log Analysis Tool!@)
829
@<P@>In about 1997, the Australian company
830
@<Active Concepts@> named its webserver logfile analysis tool
831
@<DQ@>@(Funnel Web@). If you were looking for that tool, visit
832
the @<Active Concepts@> web site. From what I have heard, their
833
FunnelWeb is an excellent webserver logfile analysis tool.
835
@<P@>Note: The FunnelWeb of the site you are reading was named
836
in 1986, long before the world wide web even existed.
838
@<End FunnelWeb page@>
841
@!******************************************************************************
843
@$@<User Testimonials@>@M@{@<Link@>@(@<Testimonials FILE@>@,User Testimonials@)@}
845
@$@<FunnelWeb Testimonials@>@M@{@<Link@>@(@<Testimonials FILE@>@,FunnelWeb Testimonials@)@}
847
@$@<FWTestimonial@>@(@2@)@M@{@-
858
@$@<Testimonials FILE@>@Z@M@{testimonials.shtml@}
859
@O@<testimonials.shtml@>@{@-
860
@<Begin FunnelWeb page/overview@>@(FunnelWeb User Testimonials@)
863
@<P@>Praise for FunnelWeb:
867
@<Spider_up IMAGE/left@>@<FunnelWeb subheading@>@(Power@)
870
"I've been fooling around with FunnelWeb for about three days now, and
871
I'm convinced that this is one of the most powerful tools I have
872
encountered in almost two decades of programming. I'm in the process
873
of converting several thousand lines of very repetitive code to
874
FunnelWeb macros; I can't believe how EASY it is, and how GOOD the
875
resulting source code and documentation are. Thank you for this tool!"
877
Jerry Callen (jcallen@@world.std.com)@<BR@>
878
Runtime Engineer,@<BR@>
879
Thinking Machines Corporation,@<BR@>
881
22-Jun-1992 (Authorized to be quoted 16-Oct-1992).
884
@<Spider_up IMAGE/left@>@<FunnelWeb subheading@>@(Quality@)
887
"I really like the 'quality' of the FW distribution. Well done Ross!
888
I cannot call it 'professional quality' because much of the
889
'professional' software I have seen has been VERY POOR. Your package
890
is better than 'professional', but I don't know of an appropriate
893
George Vokalek (gvokalek@@augean.eleceng.adelaide.edu.au).@<BR@>
894
Hardware Engineer,@<BR@>
895
University of Adelaide,@<BR@>
896
South Australia, Australia.@<BR@>
897
14-Jun-1992 (Authorized to be quoted 18-Oct-1992).
900
@<Spider_up IMAGE/left@>@<FunnelWeb subheading@>@(Correctness@)
903
"I have used FunnelWeb on two ASSEMBLER modules. Written for a
904
microcontroller with NO DEBUGGING POSSIBLE, so correctness and
905
emphasis on getting it right was important.@<BR@>
907
I found it forced me to reorganise the code a bit, to get my concepts
908
straight. By the time I did this, and documented what I was doing,
909
[including a C version of an algorithm in one module] It looked good,
910
and worked in a few passes.@<BR@>
912
I am VERY happy with the results. ...@<BR@>
914
And, I got a very nice listing to present the customer!!"
916
John Skaller (maxtal@@extro.ucc.su.oz.au)@<BR@>
917
Maxtal Pty Ltd,@<BR@>
918
Sydney, Australia.@<BR@>
919
09-Jul-1992 (Authorized to be quoted 17-Oct-1992).
922
@<Spider_up IMAGE/left@>@<FunnelWeb subheading@>@(User Manual@)
925
"...the manual is about 10 times better than any other user manual
928
Barry Dwyer (dwyer@@cs.adelaide.edu.au)@<BR@>
929
Senior Lecturer, Department of Computer Science,@<BR@>
930
The University of Adelaide.@<BR@>
932
17-Jun-1992 (Authorized to be quoted 21-Oct-1992).
935
@<Spider_up IMAGE/left@>@<FunnelWeb subheading@>@(Portability@)
938
"I've done the regression testing, and it worked without a hitch.
939
You've done a nice job making the sucker portable. My system is a mono
940
NeXTstation running NeXTSTEP 2.1 with 16 MB of RAM."
942
John Dawson (john@@arissoft.com)@<BR@>
943
Software Developer,@<BR@>
944
Arissoft Development Corporation,@<BR@>
946
11-Jun-1992. (Authorized to be quoted 17-Oct-1992).
949
@<Spider_up IMAGE/left@>@<FunnelWeb subheading@>@(Coolness@)
952
"I use FunnelWeb for everything from my FutureBASIC programming to
953
maintaining my web pages. It is a cool tool, and one of the few
954
literate programming environments that are (1) language-independent
955
and (2) available on the Mac. I couldn't be more pleased with it."
957
Ron Hale-Evans (rwhe@@apocalypse.org)@<BR@>
958
Author/Publisher,@<BR@>
959
Lexington, Kentucky, USA.@<BR@>
960
20-Oct-1996. (Authorized to be quoted 20-Oct-1996).
963
@<Spider_up IMAGE/left@>@<FunnelWeb subheading@>@(Style@)
966
"Let me say that FunnelWeb is the most impressive
967
literate programming tool I have yet seen. The language
968
is powerful, the tutorial manual excellent, and I really
969
love the new weave facility to output both TeX and HTML
970
(both of which are very visually appealing -- a rare feat
973
Paul Wanis (wanis@@hotmail.com)@<BR@>
974
Electrical Engineer,@<BR@>
975
San Diego, CA USA.@<BR@>
976
04-Jun-1999. (Authorized to be quoted 30-Dec-1999).
981
@<P@>@<BR@>Convinced that FunnelWeb is
982
@<Link@>@(@<Install FILE@>@,worth checking out?@)
988
@<End FunnelWeb page@>
991
@!******************************************************************************
993
@$@<FunnelWeb Installation@>@M@{@-
994
<A HREF="install.shtml">FunnelWeb Installation</A>@}
996
@$@<Install FILE@>@Z@M@{install.shtml@}
997
@O@<install.shtml@>@{@-
998
@<Begin FunnelWeb page/install@>@(Installing FunnelWeb@)
1000
@<P@>FunnelWeb is available free of charge for a wide range of platforms.
1001
Just follow these steps.
1003
@<FunnelWeb subheading@>@(1. FTP A FunnelWeb Executable@)
1005
@<P@>Download a FunnelWeb executable now for any or all of
1006
the following platforms:
1009
@<FWDownload@>@(funnelweb_v320_mac.hqx@,FunnelWeb V3.2 for Macintosh-68K (147K)@)
1010
@<FWDownload@>@(funnelweb_v320_win32.zip@,FunnelWeb V3.2 for Windows 95/NT (126K)@)
1011
@<FWDownload@>@(funnelweb_v320_msdos.zip@,FunnelWeb V3.2 for MS-DOS (189K)@)
1012
@<FWDownload@>@(funnelweb_v320_bsdos.tar.Z@,FunnelWeb V3.2 for BSD/OS (168K)@)
1013
@<FWDownload@>@(funnelweb_v320_digunix.tar.Z@,FunnelWeb V3.2 for Digital Unix (161K)@)
1014
@<FWDownload@>@(funnelweb_v320_freebsd.tar.Z@,FunnelWeb V3.2 for FreeBSD (119K)@)
1015
@<FWDownload@>@(funnelweb_v320_irix.tar.Z@,FunnelWeb V3.2 for IRIX (168K)@)
1016
@<FWDownload@>@(funnelweb_v320_redhat.tar.Z@,FunnelWeb V3.2 for Red Hat Linux (119K)@)
1017
@<FWDownload@>@(funnelweb_v320_solaris.tar.Z@,FunnelWeb V3.2 for Solaris (133K)@)
1018
@<FWDownload@>@(funnelweb_v320_aix.tar.Z@,FunnelWeb V3.2 for AIX (166K)@)
1021
@<P@>FunnelWeb is provided under an open source GNU licence,
1022
so if your platform is not listed above, you are welcome to
1023
download the C source code and compile it on whatever
1024
platform you have. You can find instructions on how to
1025
compile FunnelWeb in the @<FunnelWeb Developer Manual@>.
1027
@<Source download list@>
1029
@<FunnelWeb subheading@>@(2. FTP The FunnelWeb Manuals@)
1031
@<P@>The documentation for FunnelWeb consists of this main
1032
FunnelWeb web and three manuals, also in web form, which are
1033
online. You can browse them in a new browser window by clicking
1038
@<FunnelWeb Main Web@>@<BR@>
1039
@<FunnelWeb Tutorial Manual@>@<BR@>
1040
@<FunnelWeb Reference Manual@>@<BR@>
1041
@<FunnelWeb Developer Manual@>@<BR@>
1044
@<P@>An alternative is to download all the manuals as an archive file
1045
and install them on your disk so that you can access them quickly, without
1046
going through the internet.
1049
@<Manual download list@>
1051
@<FunnelWeb subheading@>@(3. Work Through The Tutorial@)
1053
@<P@>To get started with FunnelWeb, work through the tutorial
1058
@<FunnelWeb Tutorial Manual@>@<BR@>
1061
@<P@>Once you've done that, you should try using FunnelWeb
1062
on a small project to get used to it. Then, once you're
1063
comfortable with FunnelWeb, try using it on a production
1066
@<P@>If you want to see a real-world example, there is a
1067
complete package written using FunnelWeb at:
1071
@<URL@>@(@<FunnelWeb FTP@>examples/except/@)
1074
@<P@>The package provides Ada-like exceptions for the
1075
C programming language. Among other things, the package
1076
demonstrates how FunnelWeb can be used to assist in the
1077
documentation of tricky code.
1079
@<FunnelWeb subheading@>@(4. Subscribe To The FunnelWeb Mailing List@)
1081
@<P@>@<Spider_left IMAGE/right@>If
1082
you like FunnelWeb, you can join the
1083
@<FunnelWeb Mailing List@>. This is a low-traffic mailing
1085
you're unsure, you should subscribe. If you're not on the
1086
mailing list, you won't hear about new versions or other
1087
happenings that might happen!
1089
@<End FunnelWeb page@>
1092
@$@<Manual download list@>@M@{@-
1095
@<Link@>@(@<FunnelWeb FTP@>funnelweb_v320/funnelweb_v320_manuals_d.hqx@,@-
1096
FunnelWeb Manuals (Macintosh @<TT@>@(.hqx@) ~1.2M)@)@<BR@>
1098
@<Link@>@(@<FunnelWeb FTP@>funnelweb_v320/funnelweb_v320_manuals_d.zip@,@-
1099
FunnelWeb Manuals (Wintel @<TT@>@(.zip@) ~0.8M)@)@<BR@>
1101
@<Link@>@(@<FunnelWeb FTP@>funnelweb_v320/funnelweb_v320_manuals_d.tar.Z@,@-
1102
FunnelWeb Manuals (Unix @<TT@>@(.tar.Z@) ~0.8M)@)@<BR@>
1104
@<Link@>@(@<FunnelWeb FTP@>funnelweb_v320/funnelweb_v320_manuals_d.tar.gz@,@-
1105
FunnelWeb Manuals (Unix @<TT@>@(.tar.gz@) ~0.5M)@)@<BR@>
1110
@$@<Source download list@>@M@{@-
1113
@<Link@>@(@<FunnelWeb FTP@>funnelweb_v320/funnelweb_v320_source.hqx@,@-
1114
FunnelWeb Source Code (Macintosh @<TT@>@(.hqx@) ~0.7M)@)@<BR@>
1116
@<Link@>@(@<FunnelWeb FTP@>funnelweb_v320/funnelweb_v320_source.zip@,@-
1117
FunnelWeb Source Code (Wintel @<TT@>@(.zip@) ~0.6M)@)@<BR@>
1119
@<Link@>@(@<FunnelWeb FTP@>funnelweb_v320/funnelweb_v320_source.tar.Z@,@-
1120
FunnelWeb Source Code (Unix @<TT@>@(.tar.Z@) ~0.7M)@)@<BR@>
1122
@<Link@>@(@<FunnelWeb FTP@>funnelweb_v320/funnelweb_v320_source.tar.gz@,@-
1123
FunnelWeb Source Code (Unix @<TT@>@(.tar.gz@) ~0.3M)@)@<BR@>
1128
@$@<FWDownload@>@(@2@)@M@{@-
1129
<A HREF="@<FunnelWeb FTP@>funnelweb_v320/@1">@2</A><BR>@}
1131
@!******************************************************************************
1133
@$@<FunnelWeb Manuals@>@M@{@<Link@>@(@<Manuals FILE@>@,FunnelWeb Manuals@)@}
1134
@$@<Manuals FILE@>@Z@M@{manuals.shtml@}
1135
@O@<manuals.shtml@>@{
1136
@<Begin FunnelWeb page/manuals@>@(FunnelWeb Manuals@)
1138
@<P@>FunnelWeb's documentation is organized into this
1139
main FunnelWeb web plus three subwebs.
1141
@<P@>To browse one of these webs in a new window, just click on its
1146
@<P@>@<Spider_up IMAGE/left@>@<B@>@(@<FunnelWeb Tutorial Manual@>:@)
1147
This manual contains an introductory
1148
tutorial to assist you in learning FunnelWeb. It also contains
1149
a description of some application and some general hints on using
1152
@<P@>@<Spider_up IMAGE/left@>@<B@>@(@<FunnelWeb Reference Manual@>:@)
1153
This manual contains a concise
1154
definition of the entire functionality of FunnelWeb. Refer to this manual
1155
when you have a specific question about FunnelWeb's features or if
1156
you want to find out about FunnelWeb's more obscure features.
1158
@<P@>@<Spider_up IMAGE/left@>@<B@>@(@<FunnelWeb Developer Manual@>:@)
1159
This manual is for those who
1160
want to obtain the FunnelWeb source code and compile their own
1161
version of FunnelWeb. This manual contains compilation instructions
1162
and a discussion of the licensing and language definition issues.
1166
@<P@>You can also FTP an archive file of the webs and install them
1167
on your local disk for high-speed offline browsing.
1170
@<Manual download list@>
1172
@<End FunnelWeb page@>
1175
@!******************************************************************************
1177
@$@<Support FILE@>@Z@M@{support.shtml@}
1178
@O@<support.shtml@>@{@-
1179
@<Begin FunnelWeb page/support@>@(FunnelWeb Support@)
1181
@<FunnelWeb subheading@>@(FunnelWeb Documentation@)
1183
@<P@>In addition to this main FunnelWeb web, three
1184
@<FunnelWeb Manuals@> are available online:
1188
@<FunnelWeb Tutorial Manual@>@<BR@>
1189
@<FunnelWeb Reference Manual@>@<BR@>
1190
@<FunnelWeb Developer Manual@>@<BR@>
1193
@<P@>You can search this web and these manuals by keyword by
1194
visiting the @<Link@>@(@<FunnelWeb_search FILE@>@,search@)
1195
page of this web. These manuals can be downloaded too. See
1196
the @<FunnelWeb Manuals@> page for more information.
1198
@<FunnelWeb subheading@>@(Mailing List@)
1200
@<P@>Your next point of call after the manuals should be
1201
the @<FunnelWeb Mailing List@> to which many FunnelWeb
1202
users have subscribed. Post a message describing the
1203
problem you've encountered and see if you get a reply.
1205
@<FunnelWeb subheading@>@(Informal Support@)
1207
@<P@>You are welcome to @<email me@> questions about
1208
FunnelWeb, particularly about possible bugs. However, I can
1209
make absolutely no guarantees about how quickly I can
1210
respond to such questions as I receive a constant barrage of
1211
email in relation to the webs I have created. You are more
1212
likely to receive a response if you post a message to the
1213
mailing list. I'm on the mailing list anyway!
1215
@<FunnelWeb subheading@>@(Formal Support@)
1217
@<P@>FunnelWeb is not commercial software and no formal
1218
support @<DQ@>@(product@) is available. However, if for some
1219
reason, you require high quality responsive
1220
support, and are willing to pay for it, try emailing
1221
@<Email@>@(@<Rocksoft support EMAIL@>@) quoting the URL
1222
of this page and this paragraph, and perhaps they will be
1225
@<End FunnelWeb page@>
1228
@!******************************************************************************
1230
@$@<FunnelWeb mailinglist EMAIL@>@M@{fw-users@@lists.internode.on.net@}
1231
@$@<FunnelWeb majordomo EMAIL@>@M@{majordomo@@lists.internode.on.net@}
1232
@$@<FunnelWeb mailinglist owner EMAIL@>@M@{owner-fw-users@@lists.internode.on.net@}
1233
@$@<FunnelWeb majorcool WWW@>@M@{http://lists.internode.on.net/@}
1234
@$@<FunnelWeb MAILINGLISTID@>@Z@M@{fw-users@}
1235
@$@<FunnelWeb web EMAIL@>@Z@M@{@<Ross web EMAIL@>@}
1237
@$@<FunnelWeb Mailing List@>@M@{@-
1238
@<Link@>@(@<Mailing_list FILE@>@,FunnelWeb Mailing List@)@}
1240
@$@<Mailing_list FILE@>@Z@M@{mailing_list.shtml@}
1241
@O@<mailing_list.shtml@>@{@-
1242
@<Begin FunnelWeb page/support@>@(FunnelWeb Mailing List@)
1244
@<P@>@<Spider_left IMAGE/right@>The FunnelWeb Mailing List
1245
carries announcements about FunnelWeb, and general
1246
discussions about FunnelWeb by FunnelWeb users. The
1247
FunnelWeb Mailing List is a fairly low traffic mailing list,
1248
so if you want to be notified of new FunnelWeb developments,
1249
don't be afraid to subscribe!
1253
@<Begin border@>@(1@)
1255
@<Row2/bold@>@(Name@,FunnelWeb Mailing List@)
1256
@<Row2/bold@>@(Address@,@<Email@>@(@<FunnelWeb mailinglist EMAIL@>@)@)
1257
@<Row2/bold@>@(Majordomo@,@<Email@>@(@<FunnelWeb majordomo EMAIL@>@)@)
1258
@<Row2/bold@>@(Human@,@<Email@>@(@<FunnelWeb mailinglist owner EMAIL@>@)@)
1259
@<Row2/bold@>@(Web interface@,@<URL@>@(@<FunnelWeb majorcool WWW@>@)@)
1264
@<P@>You can subscribe or unsubscribe using the Majordomo
1265
email interface, the MajorCool web interface, or by filling
1266
in the following form:
1269
@<Begin form/action@>@(@<Mailing_list_modify CGIFILE@>@)
1271
@<Row2/bold@>@(Email:@,@<Form textfield@>@(@<Arg_Email@>@,30@)@)
1274
<INPUT TYPE="submit" NAME="@<Arg_Action@>" VALUE="@<Action_Unsubscribe@>">
1275
<INPUT TYPE="submit" NAME="@<Arg_Action@>" VALUE="@<Action_Subscribe@>">
1276
@<End form/nosubmitbutton@>
1280
@<Strong@>@(Note:@) All messages posted to the FunnelWeb mailing
1281
list will be considered to be public postings that can be freely
1282
copied, archived, forwarded, reposted and in other ways disseminated,
1283
without permission having to be granted by the message's author.
1287
@<Boldthing@>@(Note:@) This subscription web form is
1288
@<Blink@>@(@<B@>@(UNAVAILABLE@)@) because it invokes PERL
1289
scripts specific to the original web's webserver, and you
1290
are currently browsing a @<B@>@(copy@) of the
1291
original online web. If you wish to use this form, fvisit the
1292
mailing list page in the
1293
@<WindowLink@>@(@<FunnelWeb WWW/abs@>@,@-
1294
@<FunnelWeb WINDOWNAME@>@,Official Online FunnelWeb Website@).
1297
@<End FunnelWeb page@>
1300
@$@<Arg_Email@>@M@{Email@}
1301
@$@<Arg_Action@>@M@{Action@}
1302
@$@<Action_Subscribe@>@M@{Subscribe@}
1303
@$@<Action_Unsubscribe@>@M@{Unsubscribe@}
1305
@!******************************************************************************
1307
@$@<Mailing_list_modify CGIFILE@>@Z@M@{mailing_list_modify.cgi@}
1308
@O@<mailing_list_modify.cgi@>@{@-
1309
@<Begin www.ross.net CGI/PERL script@>
1311
&form_parse_and_clean();
1312
if ($form{'@<Arg_Email@>'} eq '')
1313
{ &html_page('@<Mailing_list_modify_e_e HTFILE@>'); }
1314
if ($form{'@<Arg_Action@>'} eq '')
1315
{ &html_page('@<Mailing_list_modify_e_e HTFILE@>'); }
1317
$email = $form{'@<Arg_Email@>'};
1318
if (!&email_address_is_legal($email))
1319
{ &html_page('@<Mailing_list_modify_e HTFILE@>'); }
1321
$email_from = '@<FunnelWeb web EMAIL@>';
1322
$email_to = '@<FunnelWeb majordomo EMAIL@>';
1323
$email_subj = 'FunnelWeb: Orders from the FunnelWeb web to Major Domo.';
1326
if ($form{'@<Arg_Action@>'} eq "@<Action_Unsubscribe@>")
1327
{ &email_line("unsubscribe @<FunnelWeb MAILINGLISTID@> $email"); }
1329
{ &email_line("subscribe @<FunnelWeb MAILINGLISTID@> $email"); }
1332
&html_page("@<Mailing_list_modify HTFILE@>");
1334
@<End www.ross.net CGI/PERL script@>
1337
@!==============================================================================
1339
@$@<Mailing_list_modify HTFILE@>@M@{mailing_list_modify.txt@}
1340
@O@<mailing_list_modify.txt@>@{
1341
@<Begin FunnelWeb page/support@>@(Mailing List Request Forwarded@)
1343
@<P@>Your mailing list request has been forwarded to the
1344
MajorDomo mailing list server at
1345
@<Email@>@(@<FunnelWeb majordomo EMAIL@>@),
1346
with a copy sent to you. You should
1347
receive a confirmation from the MajorDomo server by email
1350
@<Back button@>@(Back to the mailing list page@)
1352
@<End FunnelWeb page@>
1355
@!==============================================================================
1357
@$@<Mailing_list_modify_e_e HTFILE@>@M@{mailing_list_modify_e_e.txt@}
1358
@O@<mailing_list_modify_e_e.txt@>@{
1359
@<Begin FunnelWeb page/support@>@(Error: A Field Is Empty@)
1361
@<P@>A field in the form was left empty. Please return to the form,
1362
fill in the missing field and try again.
1364
@<Back button@>@(Back to the form@)
1366
@<End FunnelWeb page@>
1369
@!==============================================================================
1371
@$@<Mailing_list_modify_e HTFILE@>@M@{mailing_list_modify_e.txt@}
1372
@O@<mailing_list_modify_e.txt@>@{
1373
@<Begin FunnelWeb page/support@>@(Error: Email Address Has Incorrect Syntax@)
1375
@<P@>The email address that you provided is not a legal email address. Please
1376
return to the form and correct it.
1378
@<P@>If you think that the address you have provided is legal, please email
1379
the @<FunnelWeb Webmaster@>
1380
so that this check can be loosened.
1383
@<Back button@>@(Back to the form@)
1385
@<End FunnelWeb page@>
1388
@!******************************************************************************
1390
@$@<Links FILE@>@Z@M@{links.shtml@}
1391
@O@<links.shtml@>@{@-
1392
@<Begin FunnelWeb page/links@>@(FunnelWeb Links@)
1394
@<FunnelWeb subheading@>@(FunnelWeb Variants@)
1396
@<P@>@<Spider_up IMAGE/left@>@<Tony Coates@> has created a
1397
@<Link/blank@>@(http://www.internetezy.com.au/~abcoates/funnelweb.html@,FunnelWeb variant@)
1398
called FunnelWeb V3.05AC (a variant of FunnelWeb V3.0 - an
1399
earlier version) that provides some extra useful features.
1400
As this is an unofficial version, it's features are not
1401
guaranteed to appear in future official versions of
1404
@<FunnelWeb subheading@>@(Newsgroups@)
1406
@<P@>@<Newsgroup@>@(comp.programming.literate@) - This is the
1407
newsgroup for Literate Programming. It carried quite a bit of
1408
traffic in the early 1990s, but (as at 1999) traffic appears
1411
@<P@>@<Newsgroup@>@(comp.doc@) A newsgroup about documentation.
1412
Again, a very low traffic group.
1414
@<FunnelWeb subheading@>@(Literate Programming Links@)
1416
@<P@>@<Link/blank@>@(http://www.cs.cmu.edu/Groups/AI/html/faqs/lang/lit_prog/faq.html@,@-
1417
The Literate Programming FAQ@) - I think this was the FAQ that was used in
1418
@<Newsgroup@>@(comp.programming.literate@). This FAQ contains what appears to
1419
be a comprehensive list of literate programming tools.
1421
@<P@>@<Link/blank@>@(http://liinwww.ira.uka.de/bibliography/SE/litprog.html@,@-
1422
A Bibliography of Literate Programming@) - A searchable bibliography.
1424
@<P@>@<URL/http@>@(www.literateprogramming.com/home.html@) - Anyone who's bothered
1425
to register a domain called this deserves a link!
1427
@<P@>@<Link/blank@>@(http://www.webring.org/cgi-bin/webring?ring=litprog;list@,@-
1428
The Literate Programming WebRing@) - A collection of literate programming webs
1429
organized into a ring.
1431
@<P@>@<Link/blank@>@(http://dir.yahoo.com/Computers_and_Internet/Programming_Languages/Literate_Programming/@,@-
1432
The Yahoo Literate Programming Page@).
1434
@<P@>@<Link/blank@>@(http://www.ems.uq.edu.au/Seminars/XML_LitProg/@,@-
1435
XML and Literate Programming@)
1437
@<FunnelWeb subheading@>@(Other Literate Programming Tools@)
1439
@<P@>@<Link/blank@>@(http://www.cs.virginia.edu/~nr/noweb/@,NoWeb Home Page@) - A
1440
minimalist literate programming tool.
1442
@<P@>@<Link/blank@>@(http://www.mailbag.com/users/edream/front.html@,@-
1443
The LEO Outlining Literate Programming Tool For Macintosh@) - Sounds
1444
interesting (but I haven't looked at it yet).
1446
@<P@>There are lots of other tools out there too.
1448
@<FunnelWeb subheading@>@(Literate Programming People@)
1450
@<P@>@<Donald Knuth@> - The inventor of literate programming.
1452
@<P@>@<Ross Williams@> - The creator of FunnelWeb.
1454
@<P@>@<Tony Coates@> - Creator of a variant of FunnelWeb (see above).
1457
@<URL/http@>@(www.literateprogramming.com/links.html@)
1458
contains a comprehensive-looking list of people involved
1459
with literate programming.
1461
@<FunnelWeb subheading@>@(Books And Papers@)
1463
@<P@>Knuth@<_@>D.E., @<DQ@>@(The WEB System
1464
of Structured Documentation@), (Web User Manual,
1465
Version@<_@>2.5, November, 1983), Stanford University, 1983.
1467
@<P@>Knuth@<_@>D.E., @<DQ@>@(The TeXbook@),
1468
Addison-Wesley, (ISBN: 0-201-13448-9), 1984.
1470
@<P@>Knuth@<_@>D.E., @<DQ@>@(Literate
1471
Programming@), @<I@>@(The Computer Journal@), Vol.@<_@>27,
1472
No.@<_@>2, pp.@<_@>97-111, 1984. (Reference copied
1473
from SIGPLAN 26(1) p.16). Note: The author of this manual
1474
has not yet obtained this paper.
1476
@<P@>Knuth@<_@>D.E.,
1477
Literate Programming,
1478
CSLI, 1992, @<Link/blank@>@(http://www.amazon.com/exec/obidos/ASIN/0937073806/@,ISBN: 0-9370-7380-6@).
1480
@<P@>Smith@<_@>L.M.C., @<DQ@>@(An Annotated
1481
Bibliography of Literate Programming@), ACM SIGPLAN Notices,
1482
Vol.@<_@>26, No.@<_@>1, January 1991.
1484
@<End FunnelWeb page@>
1487
@!******************************************************************************
1488
@!******************************************************************************
1490
@$@<Copyright FILE@>@M@{copyright.shtml@}
1491
@O@<copyright.shtml@>@{@-
1492
@<Begin FunnelWeb page/home@>@(Copyright and Credits@)
1494
@<FunnelWeb webs copyright page contents@>
1496
@<End FunnelWeb page@>
1499
@!******************************************************************************
1501
@O@<linktome.shtml@>@{@-
1502
@<Begin FunnelWeb page/links@>@(Links To This Web@)
1504
@<P@>Here's how you can link to this web:
1506
@<FunnelWeb subheading@>@(Icon And Text@)
1508
@<P@>If you want to create a graphical link, you can use the
1509
FunnelWeb 32x64 logo:
1511
@<P@><A HREF="@<FunnelWeb WWW@>">
1512
<IMG SRC="@<Bin@>linklogo.gif"
1513
ALT="[FunnelWeb Logo]"
1514
HSPACE="5" VSPACE="5"
1515
HEIGHT="32" WIDTH="64"
1516
BORDER="0" ALIGN="absmiddle">FunnelWeb</A>
1518
@<P@>To do this, simply copy the image file
1521
@<URL@>@(@<FunnelWeb WWW/abs@>@<BinName@>/linklogo.gif@)
1524
@<P@>into your web and then copy the following HTML code.
1527
@<Begin verbatim/size3@>
1528
<A HREF="@<FunnelWeb WWW/abs@>">
1529
<IMG SRC="linklogo.gif"
1530
ALT="[FunnelWeb Logo]"
1531
HSPACE="5" VSPACE="5"
1532
HEIGHT="32" WIDTH="64"
1534
ALIGN="absmiddle">FunnelWeb</A>
1535
@<End verbatim/size3@>
1537
@<FunnelWeb subheading@>@(Text Only@)
1539
@<P@>To add a straightforward link such as
1541
simply cut and paste the following HTML code:
1546
<A HREF="@<FunnelWeb WWW/abs@>">FunnelWeb</A>
1550
@<FunnelWeb subheading@>@(URL Stability@)
1552
@<P@>As these pages may be revised from time to time, it is not guaranteed
1553
that any particular page will have the same name from month to month,
1554
or even that it will persist. So if you want to link to these pages,
1555
it would be best to link to @<URL@>@(@<FunnelWeb WWW/abs@>@) as this
1556
is likely to be this web's most persistent URL.
1558
@<End FunnelWeb page@>
1561
@!******************************************************************************
1563
@B@<Search Form Section@>
1565
The files in this section are all linked in with the FunnelWeb
1568
@O@<search.html@>@{@-
1569
@<Begin FunnelWeb page/search@>@(Search FunnelWeb Documentation@)
1571
@<FunnelWeb search form@>@(checked@,@,@,@)
1573
@<End FunnelWeb page@>
1576
@!==============================================================================
1578
@O@<search_form.cgi@>@{@-
1579
@<FunnelWeb search CGICODE@>
1582
@!==============================================================================
1584
@O@<search_head.txt@>@{@-
1585
@<Begin FunnelWeb page/search@>@(Search Results@)
1589
@!==============================================================================
1591
@O@<search_tail.txt@>@{@-
1593
@<P@>@<Back button@>@(Back To The Search Form@)
1596
@<End FunnelWeb page@>
1599
@!==============================================================================
1601
@O@<search_e_nokeywords.txt@>@{@-
1602
@<Begin FunnelWeb page/search@>@(Error: No Keywords Specified@)
1604
@<P@>You must specify one or more keywords to perform a search.
1606
@<P@>@<Back button@>@(Back To The Search Form@)
1608
@<End FunnelWeb page@>
1611
@!==============================================================================
1613
@O@<search_e_nomanual.txt@>@{@-
1614
@<Begin FunnelWeb page/search@>@(Error: No Manual Selected@)
1616
@<P@>You must specify one or more manuals (using the checkboxes) to
1619
@<P@>@<Back button@>@(Back To The Search Form@)
1621
@<End FunnelWeb page@>
1624
@!******************************************************************************
1626
@$@<Sidebar CGIFILE@>@M@{sidebar.cgi@}
1627
@O@<sidebar.cgi@>@{@-
1628
@<Begin www.ross.net CGI/PERL script@>
1630
# The content header is required even for Server Side Includes.
1631
&html_write_standard_content_header;
1633
# Read in the quotes file.
1634
@@quotes = &file_read_paragraphs("@<Quotes FILE@>");
1636
# Print a random quote.
1637
$quoteno = &random_0_nmo(scalar @@quotes);
1638
print "@@quotes[$quoteno]\n";
1640
@<End www.ross.net CGI/PERL script@>
1643
@!==============================================================================
1645
@$@<Dynamic sidebar note@>@Z@M@{
1647
<TABLE WIDTH="100" BORDER="0">
1650
@<Red_pin IMAGE/left@>
1651
<!--#exec cgi="@<Sidebar CGIFILE@>" -->
1658
@!==============================================================================
1660
@$@<Quotes FILE@>@{quotes.txt@}
1661
@O@<quotes.txt@>@{@-
1663
FunnelWeb can generate TeX and HTML documentation.
1665
FunnelWeb is available free of charge under a GNU licence.
1667
FunnelWeb is available for many different platforms.
1669
FunnelWeb is a language-independent literate programming tool.
1671
"I've been fooling around with FunnelWeb for about three days now, and
1672
I'm convinced that this is one of the most powerful tools I have
1673
encountered in almost two decades of programming" -- Jerry Callen, 1992.
1675
"FunnelWeb forced me to reorganise the code a bit, to get my concepts
1676
straight. By the time I did this, and documented what I was doing, ...
1677
It looked good, and worked in a few passes." -- John Skaller, 1992.
1679
"I use FunnelWeb for everything from my FutureBASIC programming to
1680
maintaining my web pages. It is a cool tool, and one of the few
1681
literate programming environments that are (1) language-independent
1682
and (2) available on the Mac. I couldn't be more pleased with it."
1683
-- Ron Hale-Evans, 1996.
1685
"Let me say that FunnelWeb is the most impressive
1686
literate programming tool I have yet seen. The language
1687
is powerful, the tutorial manual excellent, and I really
1688
love the new weave facility to output both TeX and HTML."
1689
-- Paul Wanis, 1999.
1691
Join the @<FunnelWeb Mailing List@>!
1693
FunnelWeb is free of charge. It's distributed under a GNU licence.
1695
Write your open source software using
1696
FunnelWeb and use it to publish your source code on the web!
1698
"@<B@>@(F@) is for Funnel-web,
1699
Our furry-legged foe.
1700
He sleeps in your slipper,
1701
And breakfasts on toe."
1702
--- Dame Edna Everage, 1991.
1704
Use FunnelWeb's +D argument to suppress
1705
unnecessary Make cascades.
1707
FunnelWeb was created in 1986 before the World Wide
1708
Web was created, but has proven be an excellent
1709
tool for creating webs!
1713
@!******************************************************************************
1715
@O@<protect.cgi@>@{@-
1716
@<Begin www.ross.net CGI/PERL script@>
1718
require('lib_protect.pl');
1720
&protect_dir_binary('.',0755);
1721
&protect_dir_binary('./reference',0755);
1722
&protect_dir_binary('./tutorial',0755);
1723
&protect_dir_binary('./developer',0755);
1726
@<End www.ross.net CGI/PERL script@>
1729
@!******************************************************************************
1731
@O@<0cleanup.vxf@>@{@-
1740
@O@<0cleanup_all.vxf@>@{@-
1748
eneo :developer:*.html
1749
eneo :developer:*.shtml
1750
eneo :developer:*.cgi
1751
eneo :developer:*.txt
1752
eneo :developer:*.lis
1753
eneo :developer:*.pl
1755
eneo :reference:*.html
1756
eneo :reference:*.shtml
1757
eneo :reference:*.cgi
1758
eneo :reference:*.txt
1759
eneo :reference:*.lis
1760
eneo :reference:*.pl
1762
eneo :tutorial:*.html
1763
eneo :tutorial:*.shtml
1764
eneo :tutorial:*.cgi
1765
eneo :tutorial:*.txt
1766
eneo :tutorial:*.lis
1771
@!******************************************************************************
1773
@! Include the FunnelWeb webs master include file.
1779
@!******************************************************************************
1780
@!******************************************************************************