Table of Contents

Function Htmlify-Directory

(htmlify-directory <input-directory> <output-directory>
     :non-onto-files ([(<file-name> [<theory-name>]*)]*)
     :theories-to-include ([<theory-name>]*)
     :do-inferiors-p [t | nil]
     :skip-if-done [t | nil] )

HTMLIFY-DIRECTORY processes a directory tree of files, some of which are Ontolingua source files, and produces a directory tree of HTML documents. Any files that have type "lisp" in the input-directory are assumed to be readable by Lisp and will be loaded by Ontolingua. Any other files are candidate non-onto-files. These non-onto files will also be indexed, against the theories specified in :NON-ONTO-FILES.

<INPUT-DIRECTORY> is a pathname specification of the directory from which to read the source files. It should be a pathname, NOT A DIRECTORY SPEC. For example, "/users/fred/ontos/" is a valid spec for the pathname whose directory component is '(:absolute "users" "fred" "ontos"). Notice that the string has a trailing '/' character. In Unix this is important to include (on Macs the character is ':').

<OUTPUT-DIRECTORY> is a pathname specification for the directory into which the HTML documents will be written. Ontolingua will arrange the HTML links so that all URLs are relative to this directory. That means that the resulting directory of HTML documents can be moved and will still work.

:NON-ONTO-FILES is a list of lists of the form

     (<file-name> <theory-name> <theory-name> ...)

Each of these forms specifies a non-ontolingua source file to process and a set of theories against which to index it. For example,

     ("my-intro.text" :my-theory)

says to index my-intro.text with respect to the theory :my-theory. Any works in my-intro.text that are defined in :my-theory or any of its included theories will be linked by hypertext links to their definitions. If a file is not listed on :non-onto-files, then it will be indexed against all of the loaded ontolingua theories.

<FILE-NAME> is a string of the form "name.type" and each <theory-name> is a symbol naming a theory. Theories can be specified with keywords, and this is the safest way to specify theories that haven't yet been loaded.

:THEORIES-TO-INCLUDE is a list of theory-names (e.g. keywords) that allows the user to select just some of the loaded theories for processing. The default is NIL, which means process all loaded theories.

:DO-INFERIORS is a flag, defaulting to T. When it is true, subdirectories of the input directory are searched for files to process. This allows one to bundle sets of related ontologies and documentation files into subdirectories. If it is false, only the <INPUT-DIRECTORY> is searched.