Jed and SLang documentation

SLang and Jed

The SLang scripts used to produce the HTML documentation from text-macro files

Scripts and produced documentation (261k)
Scripts (10k)

The main file translates the text-macro files from the source directory into html files in the target directory, which must already exist. The three main functions make_jed_doc, make_slang_doc and make_compound_doc prepare all the data needed for the translation, and they need some customization: the directories must be set appropriately, the variables used to produce the index files can be set. They all call the functions ProcessTextMacro and ProcessTemplate.

ProcessTextMacro translates the text-macro input and then runs all asp macros in it. ProcessTemplate only runs asp macros in a file. They both write the result to the output file (output filenames are generated with some additional parameters). is used to search a directory tree for files with names matching a set of regular expressions. The function file_find_start takes three parameters: base directory, a semicolon separated list of Jed regular expressions (file masks) and a flag which tells if subdirectories should be searched. It returns the search structure, which is used in subsequent calls to find_file_next. By default find_file_next does not return directory names. If we want to have directory names returned, then member variable ReturnDirs from the search structure should be set to a nonzero value. tries to simulate Active Server Pages. It searches for SLang code declared between arbitrary tags and executes it. It allways searches from the beginning of the buffer for the first occurence of tagged code and executes it.

The functions filename_extension and textmac_to_html from are used.

This scripts were tested only under Windows NT with wjed so I do not know how they behave in command line. In wjed the current working directory should be the one with the scripts, so the file jed_html_doc.tmi can be included by text-macro and the .htt files can be found.

Some minor changes were made to the .tm files:

This work was inspired by the documentation made by Pascal Masschelier which can be found at