Extended IDL Help

This page was created by the IDL library routine make_html_help. For more information on this routine, refer to the IDL Online Help Navigator or type:

     ? make_html_help

at the IDL command line prompt.

Last modified: Mon Apr 6 16:41:45 1998.


List of Routines


Routine Descriptions

BUILD_DAVIS_HTML

[Next Routine] [List of Routines]
 NAME:
       BUILD_DAVIS_HTML
 PURPOSE:
       Construct a tree of HTML pages describing idl code.
 CATEGORY:
       
 CALLING SEQUENCE:
       build_davis_html
 INPUTS:
       None, but see Notes below.
 KEYWORD PARAMETERS:
       /LINK_FILES - If set to a non-zero value, a file link will be
                     created from the code description web page to
                     the actual code.  Note that these links will be
                     valid only for people who have the disks where
                     the code lives NFS mounted (i.e. no one outside
                     Berkeley will have access).
 OUTPUTS:
       None
 COMMON BLOCKS:
       _BUILD_DAVIS_HTML_COMMON_
 SIDE EFFECTS:
       Creates a tree of web pages.
 NOTES:
       Suppose you have the following set of directories:
                        
                        top_IDL_dir
                         /    |   \
                        /     \    \
                      sub1    sub2  DESCRIPTION (see note below)
             _________/ |      /|\
            /           |     / | \
   DESCRIPTION  (.pro files) /  |  \_   
                            /   |    \
                        sub2a sub2b  DESCRIPTION
               ________/   |    |  \_____________  
             /             |    |                \
    DESCRIPTION   (.pro files)  (.pro files)    DESCRIPTION

       In the above picture, each directory contains either
       subdirectories or IDL code, but not both.  In addition, each
       directory contains a file called DESCRIPITON describing what
       the directory contains. The contents of the DESCRIPTION file
       are described below.

       This routine creates HTML documentation for this tree of IDL
       code by creating a tree of web pages and directories that
       mirror the structure of the code tree:

                        top_HTML_dir
                         /    |   \
                        /     |    \
                      sub1   sub2   HTML page (to sub1, sub2)
                      /        /|\
                     /        / | \
               HTML page     /  |  \_   
                            /   |    \
                        sub2a sub2b  HTML page (to sub2a, sub2b)
                       /           \
                      /             \
                HTML page        HTML page


       The HTML page in top_HTML_dir contains a list of the
       subdirectories sub1 and sub2, a short description of each
       (obtained from sub1/DESCRIPTION and sub2/DESCRIPTION) and
       links to the HTML pages in sub1 and sub2.  The HTML page in
       sub1 contains actual documentation of IDL code, since sub1 in
       the code tree contained only IDL code.  The HTML page in sub2
       is similar to the page in top_HTML_dir, describing and
       providing links to the information in sub2a and sub2b.
       Finally the HTML pages in each of those directories contains
       documentation of the IDL code in those directories in the code
       tree.

       The DESCRIPTION files in the code tree need not exist at the
       time this procedure is run.  The user will be prompted for the
       contents of any missing DESCRIPTION files, and the files will
       be created based on that input.  The DESCRIPTION file may
       contain HTML tags if desired.  The file should have the
       following format:

        Line 1:    Brief (few word) description of directory
        Lines 2+:  Lengthier description of contents of
                   directory, including HTML tags if you want.    


       This routine requires that three environmental variables be
       set: 
 
           IDL_GROUP_CODE  -- FULL pathname of the top level directory
                              containing IDL code--top_IDL_dir in the
                              picture above.
           IDL_HTML_HOME   -- FULL pathname of the top level HTML
                              directory in which the documentation is
                              to be placed--top_HTML_dir in the
                              picture above.
           IDL_GROUP_URL   -- URL pointing to IDL_HTML_HOME.  This is
                              used only for creating navigation links
                              between the pages.  If it is not set,
                              these links are simply not created.

       The entire tree of code is traversed each time the code is
       run, though only pages which have actually changed are
       rebuilt.  This is a deliberate design decision.  The hope is
       that if one person puts code into the idl tree and forgets to
       run this routine, some one else will run it, at which time ALL
       changes will be updated.

       When does this code rebuild a web page?
          
          + When a new directory has been added to the code tree.

          + When a DESCRIPTION file has changed.

          + When a procedure has changed or when a new procedure has
            been added to the code tree.
 
          + When the keyword FORCE_REBUILD is set all pages are
            rebuilt. 

       What if my idl code has no document header?  Then the routine
       which generates the pages for the code itself will ignore it.
       Placing an empty document header at the top of the file will
       at least get the code listed on the page, though the name has
       to be filled in for that to be really useful.

       IMPORTANT NOTE ABOUT FILE PERMISSIONS: All of the files and
       directories this code creates have group write permission.
       This is to allow any member of the davis group to rebuild the
       html tree, which may involving removing unneeded files or
       overwriting existing files.  This behaviour cannot be turned
       off (unless someone wants that feature).  It is neither
       necessary nor advisable to make all files and directories in
       the IDL code tree group writable.  

       WARNING: DO NOT MODIFY the web pages produced by this code.
       They are automatically generated and any changes you make to
       the web page may very well be lost the next time someone runs
       the code.
 EXAMPLE:
       Proper settings for the environmental variables for use in the
       Davis group is (put this in your .idlenv or .cshrc):

       setenv IDL_GROUP_CODE /deep0/marc/idlshare
       setenv IDL_HTML_HOME  /deep0/marc/html/idlshare
       setenv IDL_GROUP_URL "http://astro.berkeley.edu/~marc/idlshare"
  
       IDL> build_davis_html, /LINK_FILES 
       creates a tree of web pages located at IDL_GROUP_URL with
       links to the actual code.
 LIBRARY FUNCTIONS CALLED:
       make_html_help
 MODIFICATION HISTORY:
       $Id: build_davis_html.pro,v 1.1 1998/04/06 21:59:26 mcraig Exp mcraig $
       $Log: build_davis_html.pro,v $
       Revision 1.1  1998/04/06 21:59:26  mcraig
       Initial revision

 RELEASE:
       $Name:  $

(See /deep0/marc/idlshare/general/html/build_davis_html.pro)


MAKE_HTML_HELP

[Previous Routine] [List of Routines]
 NAME:
	MAKE_HTML_HELP

 PURPOSE:
	Given a list of IDL procedure files (.PRO), VMS text library 
       files (.TLB), or directories that contain such files, this procedure 
       generates a file in the HTML format that contains the documentation 
       for those routines that contain a DOC_LIBRARY style documentation 
       template.  The output file is compatible with World Wide Web browsers.

 CATEGORY:
	Help, documentation.

 CALLING SEQUENCE:
	MAKE_HTML_HELP, Sources, Outfile

 INPUTS:
     Sources:  A string or string array containing the name(s) of the
		.pro or .tlb files (or the names of directories containing 
               such files) for which help is desired.  If a source file is 
               a VMS text library, it must include the .TLB file extension.  
               If a source file is an IDL procedure, it must include the .PRO
               file extension.  All other source files are assumed to be
               directories.
     Outfile:	The name of the output file which will be generated.

 KEYWORDS:
     TITLE:	If present, a string which supplies the name that
		should appear as the Document Title for the help.
     VERBOSE:	Normally, MAKE_HTML_HELP does its work silently.
		Setting this keyword to a non-zero value causes the procedure
		to issue informational messages that indicate what it
		is currently doing. !QUIET must be 0 for these messages
               to appear.
     STRICT:   If this keyword is set to a non-zero value, MAKE_HTML_HELP will 
               adhere strictly to the HTML format by scanning the 
               the document headers for characters that are reserved in 
               HTML (<,>,&,").  These are then converted to the appropriate 
               HTML syntax in the output file. By default, this keyword
               is set to zero (to allow for faster processing).

     LINKFILES: If this keyword is set to a non-zero value,
                MAKE_HTML_HELP will generate "file" links to the idl
                procedures documented on the web page created by this
                code. 
 COMMON BLOCKS:
	None.

 SIDE EFFECTS:
	A help file with the name given by the Outfile argument is
	created.

 RESTRICTIONS:
	The following rules must be followed in formatting the .pro
	files that are to be searched.
		(a) The first line of the documentation block contains
		    only the characters ";+", starting in column 1.
               (b) There must be a line which contains the string "NAME:",
                   which is immediately followed by a line containing the
                   name of the procedure or function being described in
                   that documentation block.  If this NAME field is not
                   present, the name of the source file will be used.
		(c) The last line of the documentation block contains
		    only the characters ";-", starting in column 1.
		(d) Every other line in the documentation block contains
		    a ";" in column 1.

       Note that a single .pro file can contain multiple procedures and/or
       functions, each with their own documentation blocks. If it is desired
       to have "invisible" routines in a file, i.e. routines which are only
       for internal use and should not appear in the help file, simply leave
       out the ";+" and ";-" lines in the documentation block for those
       routines.

	No reformatting of the documentation is done.

 MODIFICATION HISTORY:
       July 5, 1995, DD, RSI. Original version.
       July 13, 1995, Mark Rivers, University of Chicago. Added support for
               multiple source directories and multiple documentation
               headers per .pro file.
       July 17, 1995, DD, RSI. Added code to alphabetize the subjects;
               At the end of each description block in the HTML file,
               added a reference to the source .pro file.
       July 18, 1995, DD, RSI. Added STRICT keyword to handle angle brackets.
       July 19, 1995, DD, RSI. Updated STRICT to handle & and ".
               Changed calling sequence to accept .pro filenames, .tlb
               text librarie names, and/or directory names.
               Added code to set default subject to name of file if NAME
               field is not present in the doc header.
       February 10, 1998, MWC, UC Berkeley. Added purpose to the line
               which is output for each routine in the tableof
               contents. This used to just contain the name.
       April 1, 1998, MWC, UC Berkeley.  Added option to create file
               link to the location of the procedure being documented.

(See /deep0/marc/idlshare/general/html/make_html_help.pro)