Commits

Shlomi Fish committed 37f66e5

Importing the files from thewml.org

Comments (0)

Files changed (79)

+package MyNavData;
+
+use strict;
+use warnings;
+
+my $hosts =
+{
+    'thewml' => 
+    {
+        'base_url' => "http://thewml.org/",
+    },
+};
+
+my $tree_contents =
+{
+    'host' => "thewml",
+    'text' => "WML Home",
+    'title' => "Website META Language Homepage",
+    'subs' =>
+    [
+        {
+            'text' => "Title",
+            'url' => "",
+        },
+        {
+            'text' => "About",
+            'url' => "about/",
+            'subs' => 
+            [
+                {
+                    'text' => "Classify",
+                    'url' => "about/class.html",
+                },
+            ],               
+        },
+        {
+            'text' => "News",
+            'url' => "news/",
+            'subs' => 
+            [
+                {
+                    'text' => "Timeline",
+                    'url' => "news/timeline.html",
+                },
+                {
+                    'text' => "ChangeLog",
+                    'url' => "news/changelog.phtml",
+                },
+                {
+                    'text' => "News",
+                    'url' => "news/news.phtml",
+                },
+                {
+                    'text' => "Mailing List",
+                    'url' => "news/list.html",
+                },
+            ],
+        },
+        {
+            'text' => "Docs",
+            'url' => "docs/",
+            'expand' => { 're' => "^docs/", },
+            'subs' =>
+            [
+                {
+                    'url' => "docs/frontend.html",
+                    'text' => "Frontends",
+                    'subs' =>
+                    [
+                        {
+                           'url' => "docs/frontend/wml.html",
+                           'text' => "wml",
+                        },
+                        {
+                           'url' => "docs/frontend/wmk.html",
+                           'text' => "wmk",
+                        },
+                        {
+                           'url' => "docs/frontend/wmd.html",
+                           'text' => "wmd",
+                        },
+                        {
+                           'url' => "docs/frontend/wmb.html",
+                           'text' => "wmb",
+                        },
+                        {
+                           'url' => "docs/frontend/wmu.html",
+                           'text' => "wmu",
+                        },
+                   ],
+                },
+                {
+                    'url' => "docs/backend.html",
+                    'text' => "Backends",
+                    'subs' =>
+                    [
+                        {
+                           'url' => "docs/backend/wml_p1_ipp.html",
+                           'text' => "p1_ipp",
+                        },
+                        {
+                           'url' => "docs/backend/wml_p2_mp4h.html",
+                           'text' => "p2_mp4h",
+                        },
+                        {
+                           'url' => "docs/backend/wml_p3_eperl.html",
+                           'text' => "p3_eperl",
+                        },
+                        {
+                           'url' => "docs/backend/wml_p4_gm4.html",
+                           'text' => "p4_gm4",
+                        },
+                        {
+                           'url' => "docs/backend/wml_p5_divert.html",
+                           'text' => "p5_divert",
+                        },
+                        {
+                           'url' => "docs/backend/wml_p6_asubst.html",
+                           'text' => "p6_asubst",
+                        },
+                        {
+                           'url' => "docs/backend/wml_p7_htmlfix.html",
+                           'text' => "p7_htmlfix",
+                        },
+                        {
+                           'url' => "docs/backend/wml_p8_htmlstrip.html",
+                           'text' => "p8_htmlstrip",
+                        },
+                        {
+                           'url' => "docs/backend/wml_p9_slice.html",
+                           'text' => "p9_slice",
+                        },
+                   ],
+                },
+                {
+                    'url' => "docs/incl.html",
+                    'text' => "Includes",
+                },
+                {
+                    'url' => "docs/aux.html",
+                    'text' => "Auxilliaries",
+                },
+            ],
+        },
+        {
+            'text' => "Example",
+            'url' => "example/",
+            'subs' =>
+            [
+                {
+                    'text' => "Demo Pages",
+                    'url' => "example/demo.html",
+                },
+                {
+                    'text' => "WML Itself",
+                    'url' => "example/myself.html",
+                },
+                {
+                    'text' => "Author Refs",
+                    'url' => "example/author.html",
+                },
+                {
+                    'text' => "User Refs",
+                    'url' => "example/refs.html",
+                },
+            ],
+        },
+        {
+            'text' => "Distrib",
+            'url' => "distrib/index.phtml",
+            'subs' =>
+            [
+                {
+                    'text' => "Patches",
+                    'url' => "distrib/patches.phtml",
+                },
+                {
+                    'text' => "Unpacked",
+                    'url' => "distrib/unpacked.phtml",
+                },
+                {
+                    'text' => "Binaries",
+                    'url' => "distrib/binary.html",
+                },
+                {
+                    'text' => "Bugs",
+                    'url' => "distrib/bugs/index.phtml",
+                },
+                {
+                    'text' => "Modules",
+                    'url' => "distrib/modules/",
+                },
+            ],
+        },
+        {
+            'text' => "Related",
+            'url' => "related/",
+            'subs' => 
+            [
+                {
+                    'text' => "CSS",
+                    'url' => "related/css.html",
+                },
+                {
+                    'text' => "DOM",
+                    'url' => "related/dom.html",
+                },
+                {
+                    'text' => "JavaScript",
+                    'url' => "related/js.html",
+                },
+                {
+                    'text' => "Perl",
+                    'url' => "related/perl.html",
+                },
+                {
+                    'text' => "Design",
+                    'url' => "related/design.html",
+                },
+                {
+                    'text' => "Tools",
+                    'url' => "related/tools.html",
+                },
+            ],
+        },
+    ],
+};
+
+sub get_params
+{
+    return 
+        (
+            'hosts' => $hosts,
+            'tree_contents' => $tree_contents,
+        );
+}
+
+1;
+
+#use wml::tmpl::subnavbar
+
+<snb>
+<snb_button id=descr txt="Description"    url="index.html" />
+<snb_button id=class txt="Classification" url="class.html" />
+</snb>
+

wml/about/class.wml

+#use wml::tmpl::swpage area=about subarea
+<page_title name="About">
+
+#include "about/SNB" area=class
+
+<h2>Program Classification</h2>
+
+<p>
+WML can be classified as follows:
+</p>
+
+<table class="classify">
+<tr class="class_title">
+<td>
+Implementation
+</td>
+<td>
+Requirements
+</td>
+</tr>
+<tr class="details">
+<td>
+<ul>
+    <li>105.000 LoC ANSI C source</li>
+    <li>12.000 LoC Perl 5 source</li>
+    <li>6.700 LoC WML source</li>
+    <li>3.300 LoC POD documentation</li>
+</ul>
+</td>
+<td>
+<ul>
+    <li>ANSI C compiler</li>
+    <li>Perl 5 interpreter</li>
+    <li>Unix derivate</li>
+</ul>
+</td>
+</tr>
+<tr class="class_title">
+<td>
+Availability
+</td>
+<td>
+Status
+</td>
+</tr>
+<tr class="details">
+<td>
+<ul>
+    <li>freely distributable</li>
+    <li>freely useable</li>
+    <li>no charge</li>
+    <li>copyrighted</li>
+    <li>GNU <a href="../distrib/wml-SNAP/COPYING">General Public License</a> v2</li>
+</ul>
+</td>
+<td>
+<ul>
+    <li>genesis: December 1996</li>
+    <li>first release: August 1997</li>
+    <li>no real bugs known, but some restrictions</li>
+    <li>prototype, so a little bit ugly in design and<
+	    lacks good runtime performance</li>
+    <li>active development</li>
+    <li>stable</li>
+</ul>
+</td>
+</tr>
+</table>

wml/about/index.wml

+
+#use wml::tmpl::swpage area=about
+<page_title name="About">
+
+#include "about/SNB" area=descr
+
+#use wml::des::imgdot
+#use wml::des::typography
+#use wml::des::space
+#use wml::std::href
+
+<h2>Abstract</h2>
+
+<b>WML - Website META Language</b>
+
+<h2>Description</h2>
+
+<p>
+WML is a free HTML generation toolkit for Unix, internally consisting of 9
+independent languages. The main idea of WML is a sequential filtering scheme
+where each language provides one of 9 processing passes. So WML reads an input
+file, applies passes 1-9 (or optionally only the passes specified) and finally
+produces one or more output files. 
+</p>
+<p>
+For maximum power WML ships with an already written set of include files
+which define additional higher-level functionality. The same way you can write
+your own custom HTML tagsets for WML to extend its functionality for your
+particular needs.  So, whatever HTML tag you want (and WML not already
+provides), you just can program it yourself in Perl. WML is not a closed
+toolbox, its only the core upon which you can base your HTML generation
+environment.
+</p>
+
+<h2>Intent</h2>
+
+<p>
+It operates as a powerful offline HTML generation toolkit for webmasters.
+While not trivial and idiot proof it provides most of the features real
+hackers always wanted for HTML generation.
+</p>
+
+<h2>Highlight</h2>
+
+<p>
+The trick of WML are its 9 languages which are evaluated in sequence.  
+These are:
+</p>
+
+<ul>
+<li>Pass 1: Source Reading and Include File Expansion (<tt>ipp</tt>)</li>
+<li>Pass 2: HTML Macro Construct Expansion (<tt>mp4h</tt>)</li>
+<li>Pass 3: Perl 5 Programming Construct Expansion (<tt>eperl</tt>)</li>
+<li>Pass 4: M4 Macro Construct Expansion (<tt>gm4</tt>)</li>
+<li>Pass 5: Diversion Filter (<tt>divert</tt>)</li>
+<li>Pass 6: Character and String Substitution (<tt>asubst</tt>)</li>
+<li>Pass 7: HTML Fixup (<tt>htmlfix</tt>)</li>
+<li>Pass 8: Line Stripping and Output Fixup (<tt>htmlstrip</tt>)</li>
+<li>Pass 9: Output Splitting and Final Writing (<tt>slice</tt>)</li>
+</ul>
+
+<h2>This program is for you when...</h2>
+
+<p>
+...you are a <b>real</b> Webdesigner.<br />
+...you really create Web <b>areas</b> and not just single Web <b>pages</b>.<br />
+...your primary HTML creation platform is <b>Unix</b>.<br />
+...you love the idea of HTML <b>generation</b>.<br />
+...you <b>hate</b> the HTML code of WYSIWYG editors.<br />
+...you want to use <b>favorite programming features</b>.<br /> 
+</p>
+
+<h2>This program is NOT for you when...</h2>
+
+<p>
+...you are just a WWW user.<br />
+...you only created a few web pages in your lifetime.<br />
+...your primary HTML creation platform is Windows or Macintosh.<br />
+...you don't know about or hate generation tools.<br />
+...you don't have any problems with WYSIWYG editors.<br />
+...you hate programming languages.<br />
+</p>
+
+<h2>Primary Author</h2>
+
+<p>
+<b><i>Ralf S. Engelschall</i></b><br />
+<href name="<tt>rse@engelschall.com</tt>" url="rse@engelschall.com"><br />
+<href name="<tt>www.engelschall.com</tt>" url="http://www.engelschall.com/"><br />
+</p>
+
+<h2>Current Maintainer</h2>
+
+<p>
+<b><i>Denis Barbier</i></b><br />
+<href name="<tt>barbier@engelschall.com</tt>" url="barbier@engelschall.com"><br />
+</p>
+
+<h2>Copyright</h2>
+
+<p>
+Copyright &copy; 1996-2001 Ralf S. Engelschall<br />
+Copyright &copy; 1999-2001 Denis Barbier
+</p>
+
+<h2>About the Logo</h2>
+
+<p>
+The logo symbolically shows the toothed wheels of WML's passes through which
+the markup code runs. Another important thing is the big "META" because WML
+just is a wrapper around existing languages.
+</p>

wml/com/misc/distrib.wml

+
+#use wml::des::imgdot
+
+#include "VERSION"
+
+<define-tag filelist>
+<pre class="file_list">
+<b>   Bytes      Timestamp       Filename</b>
+<b>________ ____________________ ____________________________</b>
+<?
+$hi = "<get-var PACKAGE_ID>-<get-var VERSION>.tar.gz";
+sub ls {
+    my ($pat) = @_;
+    my ($R, $f, @S, @T);
+    @R = ();
+    foreach $f (glob($pat)) {
+		if ('%1' ne '') {
+			if (! %1 $f) {
+				next;
+			}
+		}
+        @S = stat($f);
+		$f = "$f/" if (-d $f);
+        @T = localtime($S[9]);
+        my @moy = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
+                   'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
+<protect>
+        push(@R, sprintf("%8d %s %2d %02d:%02d:%02d %d %s\n", 
+</protect>
+             $S[7], $moy[$T[4]], $T[3], $T[2], $T[1], $T[0], 1900+$T[5], $f));
+    }
+    return @R;
+}
+@L = &ls("%0");
+foreach $l (@L) {
+    next if ($l =~ m|^\s*$|);
+    $l =~ s|(\s+)(\S+[^/])(\s*\n)$|$1."<"."a href=\"$2\">$2</a>".$3|e;
+    $l =~ s|(\s+)(\S+/)(\s*\n)$|$1."<"."a href=\"$2\"><b>$2</b></a>".$3|e;
+	#
+	$l =~ s|^(.*$hi.*)$|<b class="marked">$1&nbsp;&nbsp;&nbsp;&nbsp;[LATEST]</b>|;
+	$l =~ s|>($hi)<|><b class="marked">$1</b><|;
+    print $l;
+}
+!>
+</pre>
+</define-tag>
+
+<define-tag ftpareas>
+<div class="colored_box">
+<p>
+You can alternatively download the latest distribution
+files from the FTP area of engelschall.com's master servers:
+</p>
+<ul>
+<li>
+<b><href url="ftp://ftp.engelschall.com/sw/"></b> (<b>fast:</b> 8Mb/s, Switch, CH)
+</li>
+<li>
+<b><href url="ftp://ftp.de.engelschall.com/sw/"></b> (<b>slow:</b> 128Kb/s, UUNET, DE)
+</li>
+</ul>
+<p>
+Or from their mirrors:
+</p>
+<ul>
+<li><b><href url="ftp://ftp.hyperreal.org/software/engelschall/"></b></li>
+<li><b><href url="ftp://ftp.dppl.com/pub/engelschall/"></b></li>
+</ul>
+</div>
+</define-tag>
+

wml/com/tmpl/subnavbar.wml

+
+<define-tag snb endtag="required">
+<table class="snb">
+<tr>
+%body
+</tr>
+</table>
+</define-tag>
+
+<define-tag snb_button>
+<preserve id txt url />
+<set-var %attributes />
+<td>
+<a href="<get-var url />"><get-var txt /></a>
+</td>
+<restore id txt url />
+</define-tag>

wml/com/tmpl/swpage.wml

+##
+##  swpage.wml -- Standard Page Template for www.engelschall.com/sw
+##  Copyright (c) 1997 Ralf S. Engelschall, All Rights Reserved. 
+##
+
+
+##
+##  include stuff from WML library
+##
+
+#use wml::std::tags
+# #use wml::std::page
+#use wml::std::info
+#use wml::std::href
+#use wml::des::space
+#use wml::des::gfont
+#use wml::des::rollover
+#use wml::des::navbar
+
+<:{
+use MyNavData;
+use HTML::Widgets::NavMenu;
+use CGI;
+
+my $filename = "$(FILENAME)";
+$filename =~ s!index\.html$!!;
+$filename = "/$filename";
+
+use vars qw($nav_bar);
+
+$nav_bar = HTML::Widgets::NavMenu->new(
+    'path_info' => $filename,
+    'current_host' => "$(SERVER)",
+    MyNavData::get_params(),
+    'ul_classes' => [ "navbarmain", "navbarnested", "navbarnestnest" ],
+    );
+
+my $rendered_results = $nav_bar->render();
+
+use vars qw($nav_links);
+
+$nav_links = $rendered_results->{nav_links};
+
+use vars qw($nav_html);
+
+$nav_html = $rendered_results->{html};
+
+my $leading_path = $rendered_results->{leading_path};
+
+my $render_leading_path_component = sub {
+    my $component = shift;
+    my $title = $component->title();
+    my $title_attr = defined($title) ? " title=\"$title\"" : "";
+    return "<a href=\"" . CGI::escapeHTML($component->direct_url()) .
+        "\"$title_attr>" .
+        $component->label() . "</a>";
+};
+
+use vars qw($leading_path_string);
+
+$leading_path_string =
+    join(" &rarr; ",
+        (map
+        { $render_leading_path_component->($_) }
+        @$leading_path
+        ));
+
+}:>
+
+
+##
+##  create the page skeleton
+##
+
+#   generate the standard HTML page skeleton
+[PAGE_HEAD:\
+;;; <page 
+;;;       vlink="#6060a0" 
+;;;        link="#6060c0" 
+;;;       alink="#6060f0"
+;;;     bgcolor="#ffffff" 
+;;;  background="$(COM)/bg/bg.gif" 
+;;;       title="$(PACKAGE_NAME) ($(PACKAGE_SCUT)), {#PAGE_TITLE#}"
+;;; >
+<:{
+if ("$(PHTML)")
+{
+	print <<'EOF';
+<? print "<" . "?" . "xml version=\"1.0\" encoding=\"utf-8\"" .
+	"?" . ">" . "\n";
+!>
+EOF
+}
+else
+{
+	print qq{<?xml version="1.0" encoding="utf-8"?>\n};
+}
+}:>
+<!DOCTYPE
+    html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
+<head>
+<title>$(PACKAGE_NAME) ($(PACKAGE_SCUT)), {#PAGE_TITLE#}</title>
+<link rel="stylesheet" href="$(ROOT)/style.css" type="text/css" media="screen, projection" title="Normal" />
+<info style=meta copyright="1996-2001 Engelschall, Germany.">
+{#PAGE_HEAD#}
+</head>
+<body>
+<table border=0 cellspacing=0 cellpadding=0>
+<tr>
+  <td class="navbar" align="left" valign="top">
+    <a href="http://swpat.ffii.org/" 
+       title="Stop Software Patents!"><img 
+       src="$(COM)/navbar/no-e-patents.png" alt="Stop Software Patents!"
+    /></a><br />
+
+    <img src="$(COM)/navbar/button-n-sw.gif" alt="Free Software" /><br />
+    <img src="$(COM)/navbar/button-i-$(PACKAGE_ID).gif" alt="WML" /><br /> 
+<:{ print join("\n", @$nav_html); }:>
+  </td>
+
+  <td class="main" valign="top">
+    <table cellspacing="0" cellpadding="0" width="550">
+    <tr>
+      <td valign="top">
+        <: $sc = "$(area)";
+           if ($sc ne "title") {
+               print '<'."img src=\"$(COM)/navbar/headline-$sc.gif\"";
+               print "     alt=\"{#PAGE_TITLE#}\" /><br />\n";
+            }
+        :>
+        <!-- BEGIN OF ACTUAL PAGE CONTENTS -->
+        :PAGE_HEAD]
+        [PAGE_BODY:
+        {#PAGE_BODY#}
+        :PAGE_BODY]
+        [PAGE_FOOT:
+        <!-- END OF ACTUAL PAGE CONTENTS -->
+      </td>
+    </tr>
+    </table>
+  </td>
+</tr>
+</table>
+</body>
+</html>
+{#PAGE_PRELOADS#}
+:PAGE_FOOT]
+
+##
+##  fill the skeleton with the default contents
+##
+
+{#!PAGE_TITLE!#:
+Unknown Page
+:#PAGE_TITLE#}
+
+##
+##  setup commands to fill the skeleton
+##
+
+#   fill PAGE_TITLE
+<define-tag page_title>
+<preserve name>
+<set-var %attributes>
+{#PAGE_TITLE#:<get-var name>:#PAGE_TITLE#}
+<restore name>
+</define-tag>
+
+#   fill PAGE_PRELOADS
+<define-tag page_preloads endtag=required>
+{#PAGE_PRELOADS#:%body:#PAGE_PRELOADS#}
+</define-tag>
+
+#   create SSI footer
+<define-tag ssi_footer>
+<div class="copyright">
+<hr />
+<p>
+Copyright &copy; 1996-2001
+<a href="http://www.engelschall.com/">Ralf S. Engelschall</a>,
+<a href="mailto:rse@engelschall.com"><tt>rse@engelschall.com</tt></a><br />
+Maintained by <a href="mailto:barbier@engelschall.com">Denis Barbier, <tt>barbier@engelschall.com</tt></a><br />
+#Accessed <!--#echo var="URL_COUNT"--> times 
+#   since <!--#echo var="URL_COUNT_RESET"--><br>
+#URL: <!--#echo var="SCRIPT_URI"--><br>
+</p>
+</div>
+</define-tag>
+
+##
+##  finally enter the body
+##
+
+{#PAGE_BODY#:

wml/componentize.pl

+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+my $fn = shift(@ARGV);
+$fn =~ s!^./!!;
+my @args = (split(m!/!, $fn));
+for(my $n=0;$n<@args;$n++)
+{
+print join("/", @args[0 .. $n]), "\n";
+}
+
+#use wml::tmpl::subnavbar
+
+<snb>
+<snb_button id=tarballs txt="Tarballs" url="$(ROOT)/distrib/index.phtml">
+<snb_button id=patches  txt="Patches"  url="$(ROOT)/distrib/patches.phtml">
+<snb_button id=unpacked txt="Unpacked" url="$(ROOT)/distrib/unpacked.phtml">
+<snb_button id=binaries txt="Binaries" url="$(ROOT)/distrib/binary.html">
+<snb_button id=bugs txt="Bugs" url="$(ROOT)/distrib/bugs/index.phtml">
+<snb_button id=wml-mod txt="WML Modules" url="$(ROOT)/distrib/modules/">
+#<snb_button id=user-mod txt="User Modules" url="$(ROOT)/distrib/modules/user.html">
+</snb>
+

wml/distrib/binary.wml

+
+#use wml::tmpl::swpage area=distrib subarea
+<page_title name="Pre-compiled binaries">
+
+#use wml::des::typography
+#use wml::fmt::xtable
+#use wml::std::box
+#use wml::std::href
+
+#include "distrib/SNB" area=binaries
+
+<h2>WML pre-compiled binaries</h2>
+
+<p>
+Here you can find links to WML pre-compiled binaries. These are provided by
+third-party contributors, so please ask them directly if you have trouble
+when installing.
+</p>
+
+<div class="colored_box">
+<p>
+Check the package repository of your distribution for the relevant pacakges.
+</p>
+;;;<xtable border=2 cellspacing=0 cellpadding=5> 
+;;;(*,*) valign=top
+;;;((1,1))
+;;;    WML
+;;;((1,+1))
+;;;    OS
+;;;((1,+1))
+;;;    OS version
+;;;((1,+1))
+;;;    Maintained by
+;;;((1,+1))
+;;;    Link
+;;;(+1,1)
+;;;    2.0.8
+;;;(=,+1)
+;;;    Linux
+;;;(=,+1)
+;;;    SuSE
+;;;(=,+1)
+;;;	Stefan Reinauer
+;;;(=,+1)
+;;;    <href url="http://www.suse.de/~stepan/wml/">
+;;;(+1,1)
+;;;    2.0.2
+;;;(=,+1)
+;;;    Linux
+;;;(=,+1)
+;;;    Red Hat 6.2
+;;;(=,+1)
+;;;	<protect pass=3>\
+;;;	<href url="barbier@engelschall.com" name="Denis Barbier">\
+;;;	</protect>
+;;;(=,+1)
+;;;    <href url="http://www.cmap.polytechnique.fr/~barbier/wml-2.0.2-1.i386.rpm"
+;;;          name="Binary RPM"> |
+;;;    <href url="http://www.cmap.polytechnique.fr/~barbier/wml-2.0.2-1.src.rpm"
+;;;          name="Source RPM">
+;;;(+1,1)
+;;;    1.7.2
+;;;(=,+1)
+;;;    Linux
+;;;(=,+1)
+;;;    Suse 6.2<br>Suse 5.3
+;;;(=,+1)
+;;;    <protect pass=3>\
+;;;	<href url="fuelber@cryogen.com" name="Gerhard F�lber">\
+;;;    </protect>
+;;;(=,+1)
+;;;    <href url="http://www.gfps.purespace.de/misc.html"
+;;;	      name="www.gfps.purespace.de/misc.html">
+;;;</xtable>
+</div>
+
+<ssi_footer>

wml/distrib/bugs/index.wml

+#!wml -odistrib/bugs/index.phtml
+
+#use wml::tmpl::swpage area=distrib subarea
+<page_title name="Known bugs">
+
+#use wml::misc::distrib
+
+#include "SNB" area=bugs
+
+<p>There are no known bugs in the latest release.</p>
+
+#<p>
+#Here you can find patches to fix known bugs in the latest distribution.
+#
+#<p>
+#<filelist *.patch>
+#

wml/distrib/index.wml

+#!wml -o ALL-CURRENT:distrib/index.phtml -o CURRENT:distrib/index.current
+
+#use wml::tmpl::swpage area=distrib
+<page_title name="Distribution">
+
+#use wml::misc::distrib
+
+#include "distrib/SNB" area=tarballs
+
+<p>
+Here you can grab the tarballs of complete distributions containing major
+releases. Not all interim releases are archived, only the initial release of a
+revision (patchlevel 0) and the latest release on this revision (highest
+patchlevel) are kept. For all other releases first grab a tarball and then
+apply one or more of the patch files.
+</p>
+
+#include "VERSION"
+
+[CURRENT:wml-<get-var VERSION>.tar.gz
+:]
+<filelist *.tar.gz />
+
+<ftpareas />

wml/distrib/modules/index.wml

+#!wml -odistrib/modules/index.html
+
+#use wml::tmpl::swpage area=distrib subarea
+<page_title name="WML Modules">
+
+#include "distrib/modules/modules.tmpl"
+
+#include "distrib/SNB" area=wml-mod
+
+<p>
+Here you can find the modules shipped with WML in small pieces. Get those
+files if you do not want to get all the source files.
+</p>
+
+<modulelist />
+

wml/distrib/modules/modules.tmpl

+
+#use wml::des::imgdot
+
+<protect pass=2>
+<:
+my ($description);
+
+open(FP, "< ../latest/wml_frontend/wmd.txt");
+while (<FP>) {
+   s|\s*\n$||;
+   if (m|Includes: (.*) \((.*)\)|) {
+       $description->{'cat'}->{$2} = $1;
+   }
+   if (m|^wml::([^(]*)::([^(]*)\(3\).*<s> (.*)$|) {
+       $description->{$1}->{$2} = $3;
+   }
+}
+close(FP);
+
+sub link_global_file {
+    my ($cat) = @_;
+    my ($f);
+    foreach $f (glob("wml-" . $cat . "-[0-9]*")) {
+        print "<a href=\"$f\">$f</a>";
+    }
+}
+:>
+</protect>
+
+<define-tag show:module>
+<:
+sub link_module {
+    my ($cat) = @_;
+    my ($f, $name, $date);
+    foreach $f (glob("wml-" . $cat . "-[a-zA-Z]*")) {
+		if ('%1' ne '') {
+			if (! %1 $f) {
+				next;
+			}
+		}
+            ($name, $date) = ($f =~ m|^wml-[^-]*-([^-]*)-(.*)\.tar\.gz$|);
+            printf "<"."a href=\"%s\">%-26s  %s\n", $f,
+               "wml::${cat}::${name}</a>", $description->{$cat}->{$name};
+    }
+}
+:>
+
+<tr valign=top bgcolor="#9999cc">
+<td><font color="#ffffff"><b><:= $description->{'cat'}->{'%0'} :></b></font></td>
+</tr>
+<tr valign=top>
+<td width=300 valign=top><b>All modules from this category :</b>
+<hspace 30><: &link_global_file('%0'); :></td>
+</tr>
+<tr valign=top>
+<td width=300 valign=top><b>Standalone modules :</b>
+<pre>
+<b>  Name                    Description</b>
+<b>______________________  ______________________________</b>
+<: &link_module('%0') :>
+</pre>
+</td>
+</tr>
+</define-tag>
+
+<define-tag modulelist>
+<table bgcolor="#666633" cellspacing=0 cellpadding=0>
+<tr><td>
+<table bgcolor="#ccccff" cellspacing=0 cellpadding=5>
+<show:module des>
+<show:module fmt>
+<show:module imp>
+<show:module mod>
+<show:module std>
+<show:module sup>
+<show:module sys>
+</table></td>
+</tr>
+</table>
+</define-tag>

wml/distrib/patches.wml

+#!wml -odistrib/patches.phtml
+
+#use wml::tmpl::swpage area=distrib subarea
+<page_title name="Distribution">
+
+#use wml::misc::distrib
+
+#include "distrib/SNB" area=patches
+
+<p>
+Here you can find inter-release patches, i.e. Bourne-Shell scripts containing
+`diffs' between releases. Use these files when you either need a particular
+release (because not all releases are archived as full tarballs) or when you
+want to upgrade to a newer release from a complete tarball.
+</p>
+
+<filelist *.sh.gz>
+

wml/distrib/unpacked.wml

+#!wml -odistrib/unpacked.phtml
+
+#use wml::tmpl::swpage area=distrib subarea
+<page_title name="Distribution">
+
+#use wml::misc::distrib
+
+#include "distrib/SNB" area=unpacked
+
+<p>
+Here you can find the unpacked source tree of both the latest distribution and
+the development snapshot.  Use this resource when you want to grab a
+particular file, especially from the snapshot tree.
+</p>
+
+<filelist wml-* -d>
+
+
+#use wml::tmpl::subnavbar
+
+<snb>
+<snb_button id=intro      txt="Introduction"   url="index.html" />
+<snb_button id=frontend   txt="Frontends"      url="frontend.html" />
+<snb_button id=backend    txt="Backends"       url="backend.html" />
+<snb_button id=incl       txt="Includes"       url="incl.html" />
+<snb_button id=aux        txt="Auxilliaries"   url="aux.html" />
+</snb>
+
+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation">
+
+#use wml::std::href
+#use wml::des::typography
+
+#include "docs/SNB" area=aux
+
+<h2>Auxilliaries</h2>
+
+These programs are used from within some WML Includes files.
+
+<ul>
+<:
+    foreach $file (glob("docs/aux/*.html")) {
+		$file =~ s!^docs/!!;
+		$name = $file;
+		$name =~ s|^aux/||;
+		$name =~ s|\.html$||;
+		print "<li><"."a href=\"$file\"><b>$name</b></a></li>\n";
+	}
+:>
+</ul>
+

wml/docs/aux/t.pl

+s!(<import src=")!${1}docs/aux/!

wml/docs/aux/wml_aux_freetable.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Auxiliaries / freetable">
+
+#use wml::imp::generic
+#depends 'docs/aux/wml_aux_freetable.pod'
+
+<p>
+#include "docs/SNB" area=aux subarea
+
+{:
+[[s|\&amp;lt;|\&lt;|g]]
+[[s|\&amp;gt;|\&gt;|g]]
+[[s|\&amp;amp;|\&amp;|g]]
+<import src="docs/aux/wml_aux_freetable.pod" format="pod">
+:}
+

wml/docs/aux/wml_aux_htmlinfo.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Auxiliaries / HTMLinfo">
+
+#use wml::imp::generic
+#depends 'docs/aux/wml_aux_htmlinfo.pod'
+
+<p>
+#include "docs/SNB" area=aux subarea
+
+{: [[s|(wml_p.+?)\(([1-7])\)|<a href="$1.html">$1</a>($2)|g]]
+<import src="docs/aux/wml_aux_htmlinfo.pod">
+:}
+

wml/docs/aux/wml_aux_iselect.wml

+#!wml -E ./postpod -o %BASE.html
+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Auxiliaries / iSelect">
+
+#use wml::imp::generic
+#depends 'docs/aux/wml_aux_iselect.pod'
+
+<p>
+#include "docs/SNB" area=aux subarea
+
+{: [[s|(wml_p.+?)\(([1-7])\)|<a href="$1.html">$1</a>($2)|g]]
+[[s|\[:OKEY\]|__OKEY__|g]]
+[[s|\&amp;lt;|\&lt;|g]]
+[[s|\&amp;gt;|\&gt;|g]]
+[[s|\&amp;amp;|\&amp;|g]]
+<import src="docs/aux/wml_aux_iselect.pod">
+:}
+

wml/docs/aux/wml_aux_linklint.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Auxiliaries / LinkLint">
+
+#use wml::imp::generic
+#depends 'docs/aux/wml_aux_linklint.pod'
+
+<p>
+#include "docs/SNB" area=aux subarea
+
+<import src="docs/aux/wml_aux_linklint.pod">
+

wml/docs/aux/wml_aux_map2html.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Auxiliaries / Map2HTML">
+
+#use wml::imp::generic
+#depends 'docs/aux/wml_aux_map2html.pod'
+
+<p>
+#include "docs/SNB" area=aux subarea
+
+{: [[s|(wml_p.+?)\(([1-7])\)|<a href="$1.html">$1</a>($2)|g]]
+<import src="docs/aux/wml_aux_map2html.pod">
+:}
+

wml/docs/aux/wml_aux_tidy.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Auxiliaries / HTML Tidy">
+
+#use wml::imp::generic
+#depends 'docs/aux/wml_aux_tidy.txt'
+
+<p>
+#include "docs/SNB" area=aux subarea
+
+<import src="docs/aux/wml_aux_tidy.txt">
+

wml/docs/aux/wml_aux_txt2html.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Auxiliaries / Txt2HTML">
+
+#use wml::imp::generic
+#depends 'docs/aux/wml_aux_txt2html.txt'
+
+<p>
+#include "docs/SNB" area=aux subarea
+
+<import src="docs/aux/wml_aux_txt2html.txt" format="verbatim">
+

wml/docs/aux/wml_aux_weblint.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Auxiliaries / WebLint">
+
+#use wml::imp::generic
+#depends 'docs/aux/weblint.html'
+
+<p>
+#include "docs/SNB" area=aux subarea
+
+{: [[s|^.*<body [^>]*>||s]]
+[[s|</body>.*$||s]]
+<include docs/aux/weblint.html verbatim=true>
+:}
+

wml/docs/backend.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation">
+
+#use wml::std::href
+#use wml::des::typography
+
+#include "docs/SNB" area=backend
+
+<h2>Backends</h2>
+
+<p>
+These programs provide the core functionality of WML which is always present
+(and only can be reduced via option WML <tt>-p</tt> under runtime).  They are
+used in the given sequential pass order.
+</p>
+
+<ul>
+<li><href name="<b>wml_p1_ipp</b>" url="backend/wml_p1_ipp.html"><br />
+     Pass1: Include Preprocessor</li>
+<li><href name="<b>wml_p2_mp4h</b>" url="backend/wml_p2_mp4h.html"><br />
+     Pass2: Macro Processor for HTML Documents</li>
+<li><href name="<b>wml_p3_eperl</b>" url="backend/wml_p3_eperl.html"><br />
+     Pass3: Embedded Perl 5 Language</li>
+<li><href name="<b>wml_p4_gm4</b>" url="backend/wml_p4_gm4.html"><br />
+     Pass4: GNU M4</li>
+<li><href name="<b>wml_p5_divert</b>" url="backend/wml_p5_divert.html"><br /> 
+     Pass5: Divert</li>
+<li><href name="<b>wml_p6_asubst</b>" url="backend/wml_p6_asubst.html"><br />
+     Pass6: Area Subst </li>
+<li><href name="<b>wml_p7_htmlfix</b>" url="backend/wml_p7_htmlfix.html"><br />
+     Pass7: HTML Fix </li>
+<li><href name="<b>wml_p8_htmlstrip</b>" url="backend/wml_p8_htmlstrip.html"><br />
+     Pass8: HTML Strip </li>
+<li><href name="<b>wml_p9_slice</b>" url="backend/wml_p9_slice.html"><br />
+     Pass9: Slice </li>
+</ul>
+

wml/docs/backend/t.pl

+s!src="!src="docs/backend/!

wml/docs/backend/wml_p1_ipp.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Core / IPP (Pass 1)">
+
+#use wml::imp::generic
+#depends 'docs/backend/wml_p1_ipp.pod'
+
+<p>
+#include "docs/SNB" area=backend subarea
+
+{: [[s|(wml_p.+?)\(([1-7])\)|<a href="$1.html">$1</a>($2)|g]]
+[[s|&lt;(/?STRONG)&gt;|<$1>|g]]
+[[s|\&amp;lt;|\&lt;|g]]
+[[s|\&amp;gt;|\&gt;|g]]
+[[s|\&amp;amp;|\&amp;|g]]
+<import src="docs/backend/wml_p1_ipp.pod">
+:}
+

wml/docs/backend/wml_p2_mp4h.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Core / mp4h (Pass 2)">
+
+#depends 'docs/backend/mp4h.html'
+
+<p>
+#include "docs/SNB" area=backend subarea
+
+{: [[s|^.*<body [^>]*>||s]]
+[[s|</body>.*$||s]]
+<include docs/backend/mp4h.html verbatim=true>
+:}
+

wml/docs/backend/wml_p3_eperl.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Core / ePerl (Pass 3)">
+
+#use wml::imp::generic
+#depends 'docs/backend/wml_p3_eperl.pod'
+
+<p>
+#include "docs/SNB" area=backend subarea
+
+{: [[s|(wml_p.+?)\(1\)|<a href="$1.html">$1</a>(1)|g]]
+[[s|&lt;(/?STRONG)&gt;|<$1>|g]]
+[[s|\&amp;lt;|\&lt;|g]]
+[[s|\&amp;gt;|\&gt;|g]]
+[[s|\&amp;amp;|\&amp;|g]]
+<import src="docs/backend/wml_p3_eperl.pod">
+:}
+

wml/docs/backend/wml_p4_gm4.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Core / GNU m4 (Pass 4)">
+
+#use wml::imp::generic
+#depends 'docs/backend/wml_p4_gm4.txt'
+
+<p>
+#include "docs/SNB" area=backend subarea
+
+<import src="docs/backend/wml_p4_gm4.txt" format="verbatim">
+

wml/docs/backend/wml_p5_divert.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Core / Divert (Pass 5)">
+
+#use wml::imp::generic
+#depends 'docs/backend/wml_p5_divert.pod'
+
+<p>
+#include "docs/SNB" area=backend subarea
+
+{: [[s|(wml_p.+?)\(([1-7])\)|<a href="$1.html">$1</a>($2)|g]]
+[[s|&lt;(/?STRONG)&gt;|<$1>|g]]
+[[s|\&amp;lt;|\&lt;|g]]
+[[s|\&amp;gt;|\&gt;|g]]
+[[s|\&amp;amp;|\&amp;|g]]
+[[s|ltlt|&lt;&lt;|g]]
+[[s|gtgt|&gt;&gt;|g]]
+<protect pass=5>
+<import src="docs/backend/wml_p5_divert.pod">
+</protect>
+:}
+

wml/docs/backend/wml_p6_asubst.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Core / ASubst (Pass 6)">
+
+#use wml::imp::generic
+#depends 'docs/backend/wml_p6_asubst.pod'
+
+<p>
+#include "docs/SNB" area=backend subarea
+
+{: [[s|(wml_p.+?)\(([1-7])\)|<a href="$1.html">$1</a>($2)|g]]
+[[s|&lt;(/?STRONG)&gt;|<$1>|g]]
+[[s|\&amp;lt;|\&lt;|g]]
+[[s|\&amp;gt;|\&gt;|g]]
+[[s|\&amp;amp;|\&amp;|g]]
+<import src="docs/backend/wml_p6_asubst.pod">
+:}
+

wml/docs/backend/wml_p7_htmlfix.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Core / HTMLfix (Pass 7)">
+
+#use wml::imp::generic
+#depends 'docs/backend/wml_p7_htmlfix.pod'
+
+<p>
+#include "docs/SNB" area=backend subarea
+
+{: [[s|(wml_p.+?)\(([1-7])\)|<a href="$1.html">$1</a>($2)|g]]
+[[s|&lt;(/?STRONG)&gt;|<$1>|g]]
+[[s|\&amp;lt;|\&lt;|g]]
+[[s|\&amp;gt;|\&gt;|g]]
+[[s|\&amp;amp;|\&amp;|g]]
+<import src="docs/backend/wml_p7_htmlfix.pod">
+:}
+

wml/docs/backend/wml_p8_htmlstrip.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Core / HTMLstrip (Pass 8)">
+
+#use wml::imp::generic
+#depends 'docs/backend/wml_p8_htmlstrip.pod'
+
+<p>
+#include "docs/SNB" area=backend subarea
+
+{: [[s|(wml_p.+?)\(([1-7])\)|<a href="$1.html">$1</a>($2)|g]]
+[[s|&lt;(/?STRONG)&gt;|<$1>|g]]
+[[s|\&amp;lt;|\&lt;|g]]
+[[s|\&amp;gt;|\&gt;|g]]
+[[s|\&amp;amp;|\&amp;|g]]
+<import src="docs/backend/wml_p8_htmlstrip.pod">
+:}
+

wml/docs/backend/wml_p9_slice.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Core / Slice (Pass 9)">
+
+#use wml::imp::generic
+#depends 'docs/backend/wml_p9_slice.pod'
+
+<p>
+#include "docs/SNB" area=backend subarea
+
+{: [[s|(wml_p.+?)\(([1-7])\)|<a href="$1.html">$1</a>($2)|g]]
+[[s|&lt;(/?STRONG)&gt;|<$1>|g]]
+[[s|\&amp;lt;|\&lt;|g]]
+[[s|\&amp;gt;|\&gt;|g]]
+[[s|\&amp;amp;|\&amp;|g]]
+<protect pass=9>
+<import src="docs/backend/wml_p9_slice.pod">
+</protect>
+:}
+

wml/docs/docs/ml_faq.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Introduction">
+
+#include 'docs/docs/myimport.inc'
+#depends 'wml_intro.pod'
+
+<p>
+#include "SNB" area=intro subarea
+
+#    Protect against pod2html bugs
+{: [[s|\&amp;lt;|\&lt;|g]]
+   [[s|\&amp;gt;|\&gt;|g]]
+   [[s|\&amp;amp;|\&amp;|g]]
+<myimport src="wml_intro.pod">
+:}
+

wml/docs/docs/wml_faq.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: FAQ">
+
+#include 'docs/docs/myimport.inc'
+#depends 'docs/docs/wml_faq.pod'
+
+<p>
+#include "docs/SNB" area=intro subarea
+
+#    Protect against pod2html bugs
+{: [[s|\&amp;lt;|\&lt;|g]]
+   [[s|\&amp;gt;|\&gt;|g]]
+   [[s|\&amp;amp;|\&amp;|g]]
+<myimport src="docs/docs/wml_faq.pod">
+:}
+

wml/docs/docs/wml_intro.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Introduction">
+
+#include 'docs/docs/myimport.inc'
+#depends 'docs/docs/wml_intro.pod'
+
+<p>
+#include "docs/SNB" area=intro subarea
+
+#    Protect against pod2html bugs
+{: [[s|\&amp;lt;|\&lt;|g]]
+   [[s|\&amp;gt;|\&gt;|g]]
+   [[s|\&amp;amp;|\&amp;|g]]
+<myimport src="docs/docs/wml_intro.pod">
+:}
+

wml/docs/docs/wml_macros.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Tutorial">
+
+#include 'docs/docs/myimport.inc'
+#depends 'docs/docs/wml_macros.pod'
+
+<p>
+#include "docs/SNB" area=intro subarea
+
+#    Protect against pod2html bugs
+{: [[s|\&amp;lt;|\&lt;|g]]
+   [[s|\&amp;gt;|\&gt;|g]]
+   [[s|\&amp;amp;|\&amp;|g]]
+<myimport src="docs/docs/wml_macros.pod">
+:}
+

wml/docs/docs/wml_tags.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Tags">
+
+#include 'docs/docs/myimport.inc'
+#depends 'docs/docs/wml_tags.pod'
+
+<p>
+#include "docs/SNB" area=intro subarea
+
+<protect pass=5>
+#    Protect against pod2html bugs
+<myimport src="docs/docs/wml_tags.pod">
+</protect>
+

wml/docs/docs/wml_tutorial.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Tutorial">
+
+#include 'docs/docs/myimport.inc'
+#depends 'docs/docs/wml_tutorial.pod'
+
+<p>
+#include "docs/SNB" area=intro subarea
+
+#    Protect against pod2html bugs
+{: [[s|(<DT><STRONG><A NAME="item_lt\w+gt">)lt(\w+)gt|$1\&lt;$2\&gt;|g]]
+   [[s|\&amp;lt;|\&lt;|g]]
+   [[s|\&amp;gt;|\&gt;|g]]
+   [[s|\&amp;amp;|\&amp;|g]]
+<myimport src="docs/docs/wml_tutorial.pod">
+:}
+

wml/docs/frontend.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation">
+
+#use wml::std::href
+#use wml::des::typography
+
+#include "docs/SNB" area=frontend
+
+<h2>Frontends</h2>
+
+<p>
+These programs provide the user interface of WML.
+</p>
+
+<ul>
+<li><href name="<b>wml</b>" url="frontend/wml.html"><br />
+     WML Main - the main frontend and control program </li>
+<li><href name="<b>wmk</b>" url="frontend/wmk.html"><br />
+     WML Make - highlevel frontend to <tt>wml</tt> </li>
+<li><href name="<b>wmd</b>" url="frontend/wmd.html"><br />
+     WML Doc - Curses-based documentation browser</li>
+<li><href name="<b>wmb</b>" url="frontend/wmb.html"><br />
+     WML Bug Report - Bug reporting tool</li>
+<li><href name="<b>wmu</b>" url="frontend/wmu.html"><br />
+     WML Upgrade - Upgrade Utility</li>
+</ul>

wml/docs/frontend/t.pl

+s!docs/frontend/VERSION!VERSION!

wml/docs/frontend/wmb.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Core / WMb">
+
+#include 'docs/frontend/docimport.inc'
+#include "VERSION"
+
+<p>
+#include "docs/SNB" area=frontend subarea
+
+{: [[s|\@WML_VERSION\@|<get-var VERSION> (<get-var DATE>)|]]
+<docimport src="docs/frontend/wmb.pod">
+:}
+

wml/docs/frontend/wmd.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Core / WMd">
+
+#include 'docs/frontend/docimport.inc'
+#include "VERSION"
+
+<p>
+#include "docs/SNB" area=frontend subarea
+
+{: [[s|\@WML_VERSION\@|<get-var VERSION> (<get-var DATE>)|]]
+<docimport src="docs/frontend/wmd.pod">
+:}
+

wml/docs/frontend/wmk.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Core / WMk">
+
+#include 'docs/frontend/docimport.inc'
+#include "VERSION"
+
+<p>
+#include "docs/SNB" area=frontend subarea
+
+{: [[s|\@WML_VERSION\@|<get-var VERSION> (<get-var DATE>)|]]
+<docimport src="docs/frontend/wmk.pod">
+:}
+

wml/docs/frontend/wml.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Core / WML">
+
+#include 'docs/frontend/docimport.inc'
+#include "VERSION"
+
+<p>
+#include "docs/SNB" area=frontend subarea
+
+{: [[s|\@WML_VERSION\@|<get-var VERSION> (<get-var DATE>)|]]
+[[s|&lt;(/?STRONG)&gt;|<$1>|g]]
+[[s|\&amp;lt;|\&lt;|g]]
+[[s|\&amp;gt;|\&gt;|g]]
+[[s|\&amp;amp;|\&amp;|g]]
+<docimport src="docs/frontend/wml.pod">
+:}
+

wml/docs/frontend/wmu.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation: Core / WMu">
+
+#include 'docs/frontend/docimport.inc'
+#include "VERSION"
+
+<p>
+#include "docs/SNB" area=frontend subarea
+
+{: [[s|\@WML_VERSION\@|<get-var VERSION> (<get-var DATE>)|]]
+<docimport src="docs/frontend/wmu.pod">
+:}
+

wml/docs/incl.wml

+
+#use wml::tmpl::swpage area=docs subarea
+<page_title name="Documentation">
+
+#use wml::std::href
+#use wml::des::typography
+
+#include "docs/SNB" area=incl
+
+<h2>Include Files</h2>
+
+<p>
+These include files provide the additional higher level features.  There
+functionality is based upon both the core languages and the auxiliary
+programs. (They can be explicitly loaded when needed via <tt>#use</tt> or
+<tt>#include</tt> directives). 
+</p>
+
+<:
+    my $encountered = 0;
+    foreach $file (glob("docs/incl/*.html")) {
+		$file =~ s|^docs/||;
+		$name = $file;
+		$name =~ s|^incl/||;
+		$name =~ s|\.html$||;
+		if ($name =~ m|all$|) {
+            if ($encountered)
+            {
+                print "</ul>\n";
+            }
+            else
+            {
+                $encountered = 1;
+            }
+            print "<ul>\n";
+		}
+        print "<li><"."a href=\"$file\"><b>$name</b></a></li>\n";
+	}
+:>
+</ul>
+

wml/docs/incl/update.pl

+#!/sw/bin/perl
+##
+##  update.pl -- update .wml files
+##  Copyright (c) 1997 Ralf S. Engelschall, All Rights Reserved. 
+##
+
+#$modroot = "/sw/pkg/wml/src/wml_include";
+$modroot = "../../distrib/latest/wml_include";
+foreach $file (glob("$modroot/*.src"), 
+               glob("$modroot/[a-z]*/*.src"),
+               glob("$modroot/sys/*.src.in")) {
+    $to = $file;
+    $to =~ s|$modroot/||;
+    $to =~ s|\.src(\.in)?$||;
+    $to =~ s|/|::|g;
+    $to =~ s|^|wml::|;
+
+    @IS = stat($file);
+    @OS = stat("$to.pod");
+    if ($IS[9] > $OS[9] || not -f "$to.pod") {
+        print "updating $to\n";
+		system("cp -p $file $to.pod");
+        open(TO, ">$to.wml");
+        print TO <<"EOT";
+#use wml::tmpl::swpage area=docs subarea
+<page_title name=\"Documentation: Include File $to\">
+#use wml::fmt::pod
+
+<p>
+#include "docs/SNB" area=incl subarea
+
+EOT
+        print TO <<'EOT';
+{: [[s|(wml::.+?)\(([1-7])\)|<a href="$1.html">$1</a>($2)|g]]
+#   Fixes for pod2html-5.005.  IT SUCKS
+[[s|&lt;(/?STRONG)&gt;|<$1>|g]]
+[[s|&lt;(/?CODE)&gt;|<$1>|g]]
+[[s|\n(<FONT SIZE=)|$1|sg]]
+[[s|\&amp;amp;lt;|\&lt;|g]]
+[[s|\&amp;lt;|\&lt;|g]]
+[[s|\&amp;amp;gt;|\&gt;|g]]
+[[s|\&amp;gt;|\&gt;|g]]
+[[s|\&amp;amp;|\&amp;|g]]
+EOT
+        print TO <<"EOT";
+<: print &wml_fmt_pod({
+        FILE => "docs/incl/$to.pod",
+        KEEPINDEX  => 1,
+        NONETSCAPE => 1,
+   }); :>
+:}
+EOT
+        close(TO);
+    }
+}
+
+##EOF##

wml/docs/index.wml

+
+#use wml::tmpl::swpage area=docs
+<page_title name="Documentation">
+
+#use wml::std::href
+#use wml::des::typography
+
+#include "docs/SNB" area=intro
+
+<h2>Introduction and Overview</h2>
+
+<p>
+WML is a very powerful but also complex toolkit for HTML generation. So,
+first read the following three documents to understand the basics of WML and
+the way it works and looks.
+</p>
+
+<ul>
+<li><href name="<b>wml_intro</b>" url="docs/wml_intro.html"><br />
+     An introduction to WML's basic concepts</li>
+<li><href name="<b>wml_tutorial</b>" url="docs/wml_tutorial.html"><br />
+     Understanding WML step-by-step</li>
+<li><href name="<b>wml_macros</b>" url="docs/wml_macros.html"><br />
+     Writing macros for WML</li>
+<li><href name="<b>wml_faq</b>" url="docs/wml_faq.html"><br />
+     Frequently Asked Questions on WML</li>
+<li><href name="<b>wml_tags</b>" url="docs/wml_tags.html"><br />
+     Permutated index of defined WML tags</li>
+</ul>
+
+
+#use wml::tmpl::subnavbar
+
+<snb>
+<snb_button id=jumpstart txt="JumpStart"   url="index.html" />
+<snb_button id=demo      txt="Demo Pages"  url="demo.html" />
+<snb_button id=myself    txt="WML Itself"  url="myself.html" />
+<snb_button id=author    txt="Author Refs" url="author.html" />
+<snb_button id=refs      txt="User Refs"   url="refs.html" />
+</snb>
+

wml/example/author.wml

+
+#use wml::tmpl::swpage area=example subarea
+<page_title name="Examples">
+
+#use wml::std::href
+#use wml::des::typography
+#use wml::std::box
+
+#include "example/SNB" area=author
+
+<h2>Author References</h2>
+
+<p>
+Here we present you real-live examples of interesting websites or webareas,
+which were created by the author of WML.  
+</p>
+
+<ul>
+<li><p><b>engelschall.com</b>, Dachau/Munich, Germany.<br />
+    <b><href url="http://www.engelschall.com/"></b><br />
+	Created: from Aug-1996 to present <b>;-)</b> by Ralf S. Engelschall
+	</p>
+	<p>
+	This website with over 500 webpages is is completely generated and
+	maintained with the help of WML (actually the graphics are created with
+	Photoshop and gFONT and all HTML markup code is generated by WML).  The
+	WML homepage under <href url="http://www.engelschall.com/sw/wml/"> is also
+	generated by WML itself.
+	</p>
+	<ul>
+	<li><href name="Title Page" url="snap/snap.en.title.jpg:display"></li>
+	<li><href name="Table Of Contents" url="snap/snap.en.toc.jpg:display"></li>
+	<li><href name="Free Software: WML" url="snap/snap.en.wml.jpg:display"></li>
+	</ul>
+</li>
+<li><p><b>sd&amp;m GmbH &amp; Co KG</b> Intranet, Munich, Germany.<br />
+    <b><href url="http://sww.sdm.de/"></b><br />
+	Created: from Mar-1997 to Jun-1997 by Ralf S. Engelschall
+	</p>
+	<p>
+	This is the Intranet information system of the firm <i>software design
+	&amp; management</i>. <b>It is only accessible from
+	within the sd&amp;m WAN</b>, but Netscape snapshots of the top-level
+	structure are accessible for everyone.
+	</p>
+
+	<ul>
+	<li><href name="Title Page" url="snap/snap.sww.title.jpg:display"></li>
+	<li><href name="Das Unternehmen" url="snap/snap.sww.un.jpg:display"></li>
+	<li><href name="Aktuelles" url="snap/snap.sww.ak.jpg:display"></li>
+	<li><href name="Aktuelles Subpage" url="snap/snap.sww.ak2.jpg:display"></li>
+	<li><href name="Technische Infrastruktur" url="snap/snap.sww.ti.jpg:display"></li>
+	</ul>
+</li>
+</ul>
+

wml/example/demo.wml

+
+#use wml::tmpl::swpage area=example subarea
+<page_title name="Examples">
+
+#use wml::std::href
+#use wml::des::typography
+#use wml::std::box
+
+#include "example/SNB" area=demo
+
+<h2>Feature Demonstration Pages</h2>
+
+<p>
+Second we have started to create an area containing inout/output views of WML
+features.  Each demo typically demonstrates a few single features of WML only.
+This webarea is called the <a href="demo/"><b>WML Feature Demonstration
+Pages</b></a>.  It is still under construction, but a few examples are already
+available.
+</p>

wml/example/index.wml

+
+#use wml::tmpl::swpage area=example
+<page_title name="Examples">
+
+#use wml::std::href
+#use wml::des::typography
+#use wml::std::box
+
+#include "example/SNB" area=jumpstart
+
+<h2>JumpStart: All-In-One Example</h2>
+
+<p>
+This example shows most of the typical features of WML in just
+<i>a single input file</i>:
+</p>
+
+<ol>
+<li><b class="smallcaps">Source:</b><br />
+The WML source file...
+<br />
+<a href="source.cgi?sample/demo.wml">demo.wml</a>
+</li>
+<li>
+<b class="smallcaps">Generation Process:</b><br />
+is translated via a simple `wmk' call...<br />
+<div class="box">
+<tt>$ wmk -f demo.wml<br />
+wml -n '-o(ALL-LANG_*)+LANG_EN:demo.en.html' '-o(ALL-LANG_*)+LANG_DE:demo.de.html' demo.wml<br />
+$ _<br />
+</tt>
+</div>
+</li>
+<li><b class="smallcaps">Output:</b><br />
+..into the following two output files.
+<br />
+a) <a href="sample/demo.en.html">demo.en.html</a> [<a href="source.cgi?sample/demo.en.html">Source</a>]<br />
+b) <a href="sample/demo.de.html">demo.de.html</a> [<a href="source.cgi?sample/demo.de.html">Source</a>]<br />
+</li>
+</ol>
+

wml/example/myself.wml

+
+#use wml::tmpl::swpage area=example subarea
+<page_title name="The WML Webarea Itself">
+
+#use wml::std::href
+#use wml::des::space
+#use wml::des::typography
+#use wml::std::box
+
+#include "example/SNB" area=myself
+
+<h2>The WML Webarea Itself</h2>
+
+<p>
+Here we present all ingredients of a webarea from real-life just for your
+study: All(!) WML-related source files of WML's <i>own</i> webarea (the one
+you are currently surfing on). Just poke around in these files and try to
+understand how the author of WML uses his program to create the various pages
+in a both consistent and simple way. <i>Learn WML by looking in depth at these
+real-life examples !</i>.
+</p>
+
+<p>
+Now comes the complete list of all essential source files under <href
+url="http://www.engelschall.com/sw/"> which together form the HTML part of the
+<href url="http://www.engelschall.com/sw/wml/"> webarea (the graphics are the
+other part, but their origin is Adobe Photoshop and not WML ;_).  A last hint:
+The best way to understand this webarea is to first look at the red-marked
+files, especially the <a
+href="../../com-2.0/tmpl/swpage.wml"><b>com-2.0/tmpl/swpage.wml</b></a> file which is
+the main template for all pages. 
+</p>
+
+<div class="box file_list">
+<pre>
+<:
+    @MARK = qw(.wmlrc
+               com-2.0/tmpl/swpage.wml
+               com-2.0/tmpl/subnavbar.wml
+               wml/.wmlrc
+               wml/index.wml
+               wml/about/.wmlrc
+               wml/about/SNB
+               wml/about/index.wml
+               wml/about/class.wml
+               );
+	@FILES = ();
+    $base_dir=".";
+    push(@FILES, `cd $base_dir; find . -depth -type f -name "*.wml" -print`);
+    push(@FILES, `cd $base_dir; find . -depth -type f -name ".wmlrc" -print`);
+    push(@FILES, `cd $base_dir; find . -depth -type f -name ".wmkrc" -print`);
+    push(@FILES, `cd $base_dir; find . -depth -type f -name "SNB" -print`);
+	@FILES = sort(@FILES);
+	unshift(@FILES, ".wmlrc");
+    foreach $file (@FILES) {
+        $file =~ s|\n$||;
+		$file =~ s|^\./||;
+        $mark = 0;
+        foreach $m (@MARK) {
+            if ($file eq $m) {
+                $mark = 1;
+                last;
+            }
+        }
+        if ($mark) {
+            print "  <"."a href=\"../$file\" class=\"marked\">$file</a>\n";
+        }
+        else {
+            print "  <"."a href=\"../$file\" class=\"regular\">$file</a>\n";
+        }
+    }
+:>
+</pre>
+</div>

wml/example/refs.db

+###  Acronyms:
+###    CNC:  Could Not Connect
+###    CTO:  Connection Timed Out
+###    FNF:  File Not Found
+###    UHN:  Unresolved Host Name
+http://www.engelschall.com/::The Authors Home ;_)::Ralf S. Engelschall::rse@engelschall.com::http://www.engelschall.com/com/tmpl/stdpage.wml
+http://www.openssl.org/::The OpenSSL Project::Ralf S. Engelschall::rse@engelschall.com::http://www.openssl.org/openssl.wml
+http://www.modssl.org/::The ModSSL Project::Ralf S. Engelschall::rse@engelschall.com::http://www.modssl.org/modssl.wml
+http://www.debian.org/::Debian/GNU Linux Home Page::Debian Webmaster::webmaster@debian.org
+http://www.ee.ethz.ch/teaching/matura/::Elektrotechnik Departement ETH Z�rich::Tobias Oetiker::oetiker@ee.ethz.ch::http://www.ee.ethz.ch/teaching/matura/.wml/
+http://opensource.ee.ethz.ch/::OSS Repositery - Elektrotechnik Departement ETH Z�rich::Tobias Oetiker::zaucker@ee.ethz.ch::http://opensource.ee.ethz.ch/.wml/
+http://www.ee.ethz.ch::Homepage of the Department of Electrical Engineering of ETH Zurich::Fritz Zaucker and Tobias Oetiker::webmaster@ee.ethz.ch::http://www.ee.ethz.ch/.wml/
+http://isg.ee.ethz.ch::IT Support Group of the Department of Electrical Engineering of ETH Zurich::ritz Zaucker and Tobias Oetiker::webmaster@ee.ethz.ch::http://isg.ee.ethz.ch/.wml/
+http://computing.ee.ethz.ch::Computing website of the Department of Electrical Engineering at ETH Zurich::Fritz Zaucker and Tobias Oetiker::webmaster@ee.ethz.ch::http://computing.ee.ethz.ch/.wml/
+http://webfactory.ee.ethz.ch::Webdesign activities at the IT Support Group of the Department of Electrical Engineering at ETH Zurich::Fritz Zaucker::zaucker@ee.ethz.ch::http://webfactory.ee.ethz.ch/.wml/
+http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/::Round Robin Database Tool, sucessor of MRTG::Tobias Oetiker::oetiker@ee.ethz.ch::http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/.wml/
+http://www.afg.ethz.ch/::Akademische Flug Gruppe Z�rich::Fritz Zaucker::zaucker@ee.ethz.ch
+http://www.ethrat.ch::Governing Body of the Swiss Federal Institutes of Technology::Tobias Oetiker::oetiker@ee.ethz.ch
+http://www.cmpharm.ucsf.edu/cohen/::Fred Cohen Laboratory::Steve Sizemore::webmaster@www.cmpharm.ucsf.edu
+http://www.ieee.org/nnc/::IEEE Neural Network Council Home Page::Tomasz Cholewo::t.cholewo@ieee.org
+http://ci.uofl.edu/tom/::Private Homepages::Tomasz Cholewo::tjchol01@mecca.spd.louisville.edu::http://ci.uofl.edu/tom/tmpl/
+http://goethe.ira.uka.de/~wilhelmi/::Pirvate Homepages::Sebastion Wilhelmi::wilhelmi@ira.uka.de
+#UHN#http://galaxy.unicon.ru/::Galaxy Plus::Strange Alex::strange@camelot.spsl.nsc.ru
+http://www.muffin.org/~opp/::Private Homepages::Oliver Paulzen::opp@MuFFiN.Org
+#FNF#http://lab.housing.fsu.edu/~jhebert/faust/::The Mickee Faust Club::Jim Hebert::jhebert@compu-aid.com
+#UHN#http://www.gently.demon.co.uk/::Gently Web Server::Andrew Hawkins::andy@gently.demon.co.uk