@DATABASE
@$VER: 1.1 (12-5-96)
@author Remco van Hooff
@NODE MAIN "GetHTTP"
                                GetHTTP 2.0 (12-05-96)
                        By Remco van Hooff (rvhooff@globalxs.nl)

                                   @{" Introduction  " link int}
                                   @{" Requirements  " link req}
                                   @{" Installation  " link ins}
                                   @{" Configuration " link con}
                                   @{" Usage         " link usa}
                                   @{" History       " link his}
                                   @{" To do         " link tod}
                                   @{" Credits       " link cre}
                                   @{" Author        " link aut}

@ENDNODE

@NODE int "Introduction"
Introduction

GetHTTP is an AmigaDOS ARexx script with a GUI. It tries to find all http
addresses (WWW) in any file (text or binary) and presents them in a listview
for you to select and then lets you enter a name before you save them to
the hotlist of your favourite WWW browser.

Hotlists currently supported are:
- AMosaic
- AWeb
- IBrowse (0.81+)
- Voyager

Plain HTML is also supported (not tested wery well, so tell me if it works
or not). 
@ENDNODE


@NODE req "Requirements"
Requirements

- ARexx

- TritonRexx.library and Triton.library (both included).

- COPY, DELETE and LINECOUNT (included) somewhere in your path
  (I got them in C: ).

- A WWW browser (AMosaic, AWeb, IBrowse (0.81+), Voyager, ALynx)
@ENDNODE

@NODE ins "Installation"
Installation

- Copy GetHTTP.rexx to where you like (I have it in REXX:).

- Protect the script with the 'S' bit, do do this type 
  'protect GetHTTP.rexx +s' in a shell. This way you don't have to use 'rx'
  when you start it from shell (but it's still needed).

- Copy GetHTTP.cfg to ENVARC:.

- Copy LineCount to C: or anywhere else in your search path.

- Copy the libraries in libs to LIBS:.

Make a backup of your hotlist(s)... just incase... this is still a beta.
Please report any bugs or anything you (don't) like about it.

That's all.
@ENDNODE

@NODE con "Configuration"
Configuration

Hotlists

Configuring the paths to the hotlist is done via the menu:
Prefs/Hotlist...

The window will show the supported hotlists followed by a textfield that
should contain the path and name of the hotlist. Clicking on the file
gadget will bring up a filerequester where you can select the hotlist of
the specific WWW browser.

The checkmark following the textfield will reflect the default setting for
that hotlist. Checked = save to hotlist.
This settings can be overrided in the 'Address and Names' window just
before saving the HTTP addresses.

Save will save the prefs and return to the Main window.

Cancel will cancel all changes made and restore them back to what they were
before you entered the prefs window


Filters

A filter character is a character that may be "connected" to an address,
e.g. http://www.globalxs.nl/home/r/rvhooff)
The ')' is not part of the actual address and thus should be removed.

Hardcoded characters are '.', linefeed (lf) and carriage return (cr) which
can not be configured.

New will create an empty place in the listview, move the cursor over the
empty place and enter a character in the string gadget (only 1 allowed).

Remove will remove the current character.

Save will save the prefs and return to the main window.

Cancel will cancel all changes made and restore them back to what they were
before you entered the prefs window

@ENDNODE

@NODE usa "Usage"
Usage

GetHTTP.rexx FILE/K,PS/K

FILE = file to scan for HTTP addresses (optional; default is none).
PS   = public screen to put GetHTTP on. The correct way to use it is
       'PS=<screen>', 'PS' should be in UPPERCASE! (optional; default is Workbench).

Main window:
- Select a file with the file requester button or enter the path and filename
  in the text field left from the requester button (or just enter the path and
  then click on the requester button).
  You can also parse it on as an ARGUMENT in a Shell (if run from Dopus
  use the 'No filename quote' option). 

- After you have loaded a file you can click on SCAN (it will be unghosted)
  to search the file for any HTTP addresses. Each time you click on SCAN
  will clear any changes made and the file will be scanned again.
  While scanning a requester with progress bar and a cancel button will be
  shown. The CANCEL button will stop the search and returns to the main
  window. Any addresses found until you cancelled the search will reside in
  the 'found' listview.

- Any addresses found will be shown in the top 'found' listview. You can
  select them by double clicking, the selected addresses will be moved to
  the lower 'selected' listview.

- Any selected addresses can be unselected by double clicking on them.
  They will then be moved back to the top listview (to the end of the list).

- Clicking on the TOGGLE button will switch the contents of the top and
  lower listviews.

- Clicking on the CLEAR button will clear both listviews.

- Clicking on the OK button will bring up the Address names window.

Address names window:
Here you can select to what hotlist you want to save the addresses shown in
the 'Address and Name' listview. The default hotlists can be configured, see 
@{" Configuration " link con} on how to do this.

- Double clicking on an address will popup another window asking you to
  enter a name for the selected address. The default name is the path and
  filename followed by a number. Eg. 'sys:test (3)'.
  The name entered for the selected (current) address will be shown in the
  textfield below the listview.

- Clicking REMOVE will move the selected (current) address from the
  listview to the lower listview in the main window (any entered name will
  be lost).

- Clicking SAVE will save the shown addresses (with their corresponding
  names) to the hotlist(s) you selected.
@ENDNODE

@NODE tod "To do"
To do

- Prefs editor for character filters (working on it).

- More hotlists (send me the hotlist you want to have supported).

- Scan multiple files (could be tricky).

- You tell me.
@ENDNODE

@NODE cre "Credits"
Credits

John Hendrikx - He wrote Linecount, thanks to this little assembler program
                the progress bar was made possible without slowing down the
                script much (well it's faster than doing it with ARexx).
@ENDNODE

@NODE aut "Author"
Author

For bug reports, comments, suggestions:
Remco van Hooff (rvhooff@globalxs.nl)

For more ARexx scripts check out:
http://www.globalxs.nl/home/r/rvhooff
@ENDNODE

@NODE his "History"
History

2.0b  - To much changes to mention since 1.5. Main change: new GUI.

2.0b2 - Added multiple hotlist handling (Ibrowse).
      - Fixed 2 error requester bugs.
      - Fixed a bug that would add 0's in the main window listview if you
        selected remove in the names window while there were no entries in
        the listview. If the number of entries now reaches 0, the names
        window will be closed.
      - Removed some useless code that would only slow down the seach in
        large files.
      - The found list view will now show the addresses as soon as they are
        found.

2.0b3 - Added progress bar and cancel button.
      - Added command line support.
      - Added '>' to be stripped by the a filter.
      - Rewrote the filter routine. It's now easier to add more chars which
        should be removed. It may even be a little faster.

2.0b4 - Added HTML hotlist (supported by any WWW browser).

2.0b5 - Added some code for public screens (not fully working yet thought,
        see).
      - Won't show double found addresses. Selecting one would cause an
        infinite loop.

2.0b6 - Fixed a bug in the save_html routine (finally). I typed RETRUN
        instead of RETURN (ARG!), but ARexx insisted it was an unmached
        quote error (which it clearly wasn't)!
      - Added support for the AWeb hotlist.
      - Changed the IBrowse hotlist format to that of verion 0.81.

2.0b7 - Added support for the Voyager hotlist (or should I say
        bookmarks).

2.0b8 - Added public screen option (finally got it to work :.).
      - Added Project and Prefs menu.
      - Added hotlist prefs editor.
      - Added filter prefs editor.
      - Moved hotlist and filter pereferences to an external file.
      - Fixed a hotkey collision between HTML and AWeb in the
        'Address Names' window.
      - lf and cr are hardcoded filters again.

2.0   - Third release to Aminet, no more betas.
@ENDNODE
