By downloading this code you agree to the
Source Code Use License (PDF). |
{ version = 1.62; (* of htmlink.p 2016 Oct 15}
(* begin module describe.htmlink *)
(*
name
htmlink: insert html links to program references in a file
synopsis
htmlink(input: in, htmlinkp: in, list: out, output: out)
files
input: a delila module or other file containing references
to programs in the form *.p and references to other files between
the key words "see also" and "author".
Comments: the material contained within curlie brackets, "{" and "}",
will not be processed into hyper links. To create one of these
characters, put a backslash "\" in front of it.
The key words "see also" and "author" MUST be at the beginning of the
line. This allows one to say "see also" in the middle of other
descriptions. This is not a harsh restriction, since everything is
indented as a standard anyway!
htmlinkp: A parameter file that defines:
first line: the ARCHIVE directory where files other
than programs should be linked to.
second line: the MANUAL directory where programs are linked to.
third line: font size for the output.
list: a list of the files being linked to.
output: the same file with the *.p converted to references to *.html, and
the other references converted to hypertext links to
ARCHIVE/reference. To prevent weird links from being made, this only
occurs between the lines 'see also' and 'author', when these key words
are at the start of the line.
Names that begin with http:// or https:// are presented as
straight html links.
names that begin with ftp:// are presented as straight html
links.
description
This program allows one to convert the Delila manual pages to hypertext
linked objects.
The program copies the input to the output, and only modifies the region
between key words 'see also' and 'author' when these are left justified on
the line. This defines the standard place that Delila documentation
points to other files.
Pascal programs ending in ".p" are made into the form:
[A HREF ="MANUAL/doodle.html"]doodle.p[/A]
(where the program is 'doodle.p and I have replaced "less than" with "["
and "greater than" with "]" to prevent the browser from interpreting
this as a link.) so that they will point to other programs
in the same directory, while other files are made into the form:
MANUAL is a string read in from the htmlinkp parameter file.
[A HREF ="ARCHIVE/xyplop"]xyplop[/A]
where ARCHIVE is a string read in from the htmlinkp parameter file and the
file is "xyplop".
Alt tags are added to the images constructed from the image name.
The program is used by the shell script "dth" (delila to html).
examples
Below is the material in the "see also" section. After processing, you
will see that the text looks the same except that things outside the
curlie braces are hyperlinked.
{\{ left curlie}
{ \{ left curlie}
{ { left curlie}
{\} right curlie}
{ \} right curlie}
{ \} right curlie}
{ \ escape}
{ \\ escape}
{ \\\ escape}
{Some programs that use this processing:}
alist.p
delila.p
{A general http hyperlink is demonstrated by google at:}
http://google.com
{A general https hyperlink is demonstrated by my home page which is at:}
https://alum.mit.edu/www/toms/
{The mechanism even allows images!}
https://alum.mit.edu/www/toms/images/tinygumball.gif
{The script for running the Gnu Pascal Compiler:}
https://alum.mit.edu/www/toms/ftp/gpcc
{(The GNU Pascal Compiler is at}
http://www.gnu-pascal.de/gpc/h-index.html{)}
documentation
see also
Example parameter file: htmlinkp
A program that extracts the manual page of Delila programs: makman.p
A general script for storing Delila programs in an archive: dth
Here is the processing of the examples above.
{ left curlie
{ left curlie
left curlie
} right curlie
} right curlie
} right curlie
escape
\ escape
\\ escape
Some programs that use this processing:
alist.p
delila.p
A general http hyperlink is demonstrated by google at:
http://google.com
A general https hyperlink is demonstrated by my home page which is at:
https://alum.mit.edu/www/toms/
The mechanism even allows images!
The script for running the Gnu Pascal Compiler:
https://alum.mit.edu/www/toms/ftp/gpcc
(The GNU Pascal Compiler is at
http://www.gnu-pascal.de/gpc/h-index.html)
author
Thomas Dana Schneider
bugs
The triggers "see also" and "author" and their positions on the
line should be generalized to allow the program to process any
text. This would not be hard since it would only require new
parameters being read in.
The 'see also' needs a stable example of an ftp link.
technical notes
Note: this program surrounds the file with [PRE] and [/PRE].
*)
(* end module describe.htmlink *)
{This manual page was created by makman 1.45}
{created by htmlink 1.62}