
Announcing curl v2.0
====================

curl is a tool for automatically generating the links between the HTML
pages comprising a World Wide Web (WWW) document.

curl examines a contents file containing the file names of the
individual pages, and modifies each file to include the necessary links
to its neighbours, parent, initial page, and to pages listing the
figures, tables, keywords and new pages in the document. These
figures, tables, keywords, and new additions pages are generated
automatically by curl. curl can also produce two kinds of contents
lists, which can be automatically inserted into pages.

There is a search engine, available from every page, which can scan the
document for specified strings.  The matching pages can be accessed
from a search results page via dynamically generated links.

If the author wishes to add extra pages, remove some, or to reorder
pages, this is achieved by modifying the contents file. When curl is
invoked on the new version of the contents file, it will modify the
links necessary to reflect the new WWW document structure.

The hierarchical nature of the WWW document can be utilised in the
directory organisation of its files.  curl can search over a directory
tree for the files named in the contents file.

The format of the automatically generated links is defined in style
files, allowing the style to be modified.  By default, links are added
both to the top and bottom of a file, and so there are separate style
files for these two cases.  Link styles can be applied to a subset of
the pages of a document, allowing different subsections of a document
to be linked differently.

The links added by curl to files can be quickly removed by running an
application called decurl. This causes the files to return to their
original form.

curl comes with a range of additional tools. For instance the frequency
of word occurrences in the document can be analysed in a number of
ways. This is useful when the document hierarchy is being developed, or
for deciding on keywords.

A set of tools are included for linking pages that cannot be connected
easily within a document hierarchy.  An example would be a page in the
humour section of a newsletter and an article in the editorial section
which both discuss street maps. They already have well-defined
positions in the document (in the humour and editorial sections) but
could also be usefully inter-linked to capture the street maps theme.

A medium sized document (consisting of over 350 pages) built using
curl can be found at http://www.cs.mu.oz.au/ad/alp/archive.html.


Summary of curl's Main Features
===============================

  1. Automatic link generation.
  2. Support for incremental link change.
  3. Hierarchical structuring.
  4. Recording of keywords, figures and tables.
  5. Link style files.
  6. A search engine.                       **NEW FEATURE**
  7. A new additions page.                  **NEW FEATURE**
  8. Easy removal of curl-generated links.  
  9. Tools for analysing word occurrences.  **NEW FEATURE**
 10. Tools for manipulating links outside the 
     document hierarchy.                    **NEW FEATURE**



Obtaining curl
==============

A compressed tar file, called 'curl.tar.Z', can be obtained
by anonymous FTP from turiel.cs.mu.oz.au (128.250.1.10) in 
the directory pub/curl. The URL for this directory is:
  ftp://turiel.cs.mu.oz.au/pub/curl/

To decompress and untar it, type:

  uncompress curl.tar.Z

  tar xvf curl.tar

This will create a directory called 'curl_release' which 
contains the file 'README' and 5 subdirectories called 
'src', 'utils', 'docs', 'Defaults' and 'example'.

'curl_release' takes up 3.7MB, but the majority of that is
for the Postscript version of the user guide (3.3MB). There
is a text-only version of the user guide included, which is
only 100K in size.

curl is implemented using standard ANSI C, but makes use
of some slightly unusual C headers (sys/types.h,
sys/stat.h, fcntl.h, fwh.h and dirent.h). Two of the utilities
assume the presence of the UNIX tools touch and fgrep.
All the programs can be compiled using gcc (or equivalent).


Contact Information
===================

Author: Andrew Davison

Address (May 1996):
   The Department of Computer Science
   The University of Melbourne
   Parkville, Victoria 3052, Australia
   Email: ad@cs.mu.oz.au
   Tel: +61 3 9287 9172
   Fax: +61 3 9348 1184
   URL: http://www.cs.mu.oz.au/~ad

