HELP VED_HTML David Young
August 1997
VED_HTML is a Ved utility to help in editing HTML documents. It is not a
previewer or syntax checker, but it can reduce the amount of typing
needed to edit HTML markup information. It incorporates a facility for
automatically inserting HTML tags into a plain document, although this
should usually be regarded as producing a rough first attempt which will
need refining using the interactive editing facility.
Various HTML authoring tools are available; VED_HTML does not attempt to
compete with these, but it is useful for those who edit their HTML with
an ordinary text editor.
CONTENTS - (Use g to access required sections)
1 Introductory tutorial
1.1 Preliminaries
1.2 Loading the package
1.3 Inserting and deleting tags
1.4 Viewing the results
1.5 Converting an existing text file
1.6 Further notes
2 Scope letters
3 Command-line commands
4 Keyboard sequences
5 Notes on tag insertion and deletion
5.1 Line breaking during insertion
5.2 Cursor positioning after insertion
5.3 URL handling
6 Document preparation
6.1 The overall procedure
6.2 Selecting particular operations
7 Customisation
7.1 Tags
7.2 The ved_html_init.p file
7.3 Keyboard strings
7.4 Tag properties
7.5 Preprocessing options
7.6 Miscellaneous
-----------------------------------------------------------------------
1 Introductory tutorial
-----------------------------------------------------------------------
This introduction is intended to be useful to relatively new users of
Ved, but others should skim it to get the general idea of the package.
sections 2 onwards give a more systematic description.
1.1 Preliminaries
------------------
You should already be able to use Ved to edit normal text. You should
also have a working knowledge of HTML, or at least be learning about it.
This file will not help you to learn HTML; it is only concerned with
speeding up typing in HTML tags that you already know about.
In this file means the key labelled "Enter" on your keyboard,
not the letters E, N, T, E and R. Similarly means the "Esc" or
"Escape" key, the "Return" key, the "Delete" key and
the space bar. You press each of these briefly, on its own, and
not in conjuction with other keys. (The "Control" key is different, and
is held down while other keys are pressed, but it is hardly used in this
file.)
This file will often use an expression like 'give the command (or Ved
command) "abc xyz"'. This means you give the command on the Ved command
line, as follows:
1. Tap
2. Type "abc xyz", without the quotation marks. What you type
will appear on the Ved command line.
3. Tap
Alternatively, you will sometimes see an instruction like 'type
"abcxyz"'. This means that you simply type the characters abcxyz,
without any preliminaries and without the quotation marks. You will not
necessarily see the characters you type appear anywhere, though
instructions may appear on the command line.
1.2 Loading the package
------------------------
To make the package available you must load the program. To do this,
give the Ved command "html". You will see a message on the command line,
but no changes are made to any files at this point.
1.3 Inserting and deleting tags
--------------------------------
Here is some text to practice on. Language proper can be defined by
the concurrence of two fundamental processes: articulation and
integration. This dual process can be found in the language of
narrative.
Move the Ved cursor onto a word in the paragraph above. Then type
"hwb". An HTML tag will appear round the word the
cursor was in; the word would now be rendered in bold font by a browser.
Although what you typed may appear complex, you used far fewer
keystrokes than you would need to use to insert the tag and its closer
by hand. The key sequence to insert the tag actually has a simple
structure, which is as follows.
1. The first part is "h". This is used to initiate
insertion of a tag as well as other VED_HTML commands. (You can
change this sequence if you want to though - see sections 3 and 7.)
2. The next part is the letter "w". This is the "scope letter" which
defines how big a chunk of text you want to include in the body of
the HTML element. The letter "w" stands for "word". You may have
noticed that the word was highlighted when you reached this point.
3. The final part is "b". This specifies the tag. The space
at the end is necessary to distinguish the B tag from other tags
beginning with the letter "B".
Now put the cursor into the test paragraph above again, and type
"hppr". This has the same lead-in sequence, but the scope
letter is "p" for paragraph, so the whole of the paragraph is enclosed.
The tag name is just "pr", which inserts the PRE tag. PRE is the only
tag name beginning with "pr", so there is no ambiguity, and the space at
the end is not needed.
In general then, to insert a tag, you do the following:
1. Position the cursor on the text that is to form the body of an
HTML element.
2. Type "h".
3. Type a scope letter to indicate how much text is to be included
- a full list is in section 2. Scope letters are lower case.
4. Start typing a tag name. It can be in lower case. When enough
characters to identify a tag unambiguously have been typed, it will
be inserted. If you reach the end of the name before this happens,
type .
To delete a tag, put the cursor inside the element it defines and type
"h". Try this with the B tag you inserted earlier. Note
that the command starts with the same sequence, but followed by
rather than a scope letter.
Experiment on the test paragraph above. Use the scope letters "c"
(character), "w", "s" (sentence), "l" (line) and "p". Try tags such a B,
I, PRE, P, LI, UL, H1, HR, BLOCKQUOTE, BODY. Do not worry about blank
lines and line breaks that may appear - see section 5.1 below. Note that
if a tag such as HR has no closer, it is placed before the text that you
have selected.
Now put the A tag round the line below:
http://www.informatics.sussex.ac.uk/index.html A pointer to COGS home page
Because the line starts with a URL, and the A tag expects a URL in its
attributes, the URL is moved there instead of remaining in the body of
the element. More details are in section 5.3.
If you try experimenting on text that contains the characters "<" or
">", other than as part of a valid tag, you might find that an error
occurs. A message about "unrecognised tag" or "incomplete tag" will
probably appear on the status line. The best way to avoid this is to
remove the characters by preparing the text - see section 1.5.
There are commands to delete all the text in a scope, to undo deletions
and to splice deleted text back in a different position. You can also
highlight all the HTML tags in a file. Details of these operations are
given in sections 3 and 4.
1.4 Viewing the results
------------------------
You will need to use a browser to look at the results of your editing.
The following instructions give an indication of how to do this, but you
will almost certainly want to vary them according to your own
preferences.
1. Create a file for the HTML document, by giving the command
"ved temp1.html". (I have called it temp1.html because it is meant
as a temporary file for experimenting with. You can choose your own
name of course.)
2. Copy some text into it. You might copy the test paragraph above,
for example, using the usual Ved commands.
3. Mark up the text as HTML. You could use the scope letter "f"
(file) to put the BODY tag round all the text. You could then type
in a title in front of the body and put a TITLE tag round it, a HEAD
tag round that, and then use the "f" scope again to put an HTML tag
round everything to make a legal HTML document.
4. Write the file by giving the command "html write". (You can use
standard command "w1" instead if you have not switched on tag
highlighting - see section 3.)
5. In a windows environment, move the cursor to a terminal window
such as an xterm; in a non-windows environment give the Ved command
"stop". Either way you should have a prompt for a shell command. Now
start your browser looking at the file you have made, for example by
typing "lynx temp1.html" or "netscape temp1.html". If you already
have a browser running, just tell it to open the file temp1.html.
You will then probably wish to modify the document. You will need to use
something like the following cycle:
1. Return to Ved. In a windows environment you probably just need to
move the cursor. In a non-windows environment suspend your browser
(typically by holding down the "control" key and typing "z") and
then resume Ved (typically with the shell command "fg ?ved").
2. Edit the file using Ved.
3. Write the modified file with the command "html write".
4. Return to the browser. In a windows environment move the cursor
to the relevant window. In a non-windows environment, give the ved
command "stop" then the shell command "fg ?lynx" (or whatever is
appropriate).
5. Tell the browser to reload the file. In netscape you simply click
on the "reload" button, whilst in lynx you hold down the "control"
key and type "r". You will see the results of your modifications.
Repeat these last steps until you are happy with the document. This
edit-write-reload cycle can be done quickly, especially in a windows
environment, once you are used to it.
1.5 Converting an existing text file
-------------------------------------
Instead of editing in all the markup code, you may wish to have an
existing text file automatically converted to HTML. VED_HTML will
attempt this for you, though it will not necessarily get it entirely
right, as it is difficult to produce perfect rules for this process. You
can try this out on the file that you are reading with the following
instructions.
1. Rename the file with the command "name temp2.html". This gives
you your own copy of this help file, that you can alter without
affecting anything else. You can of course choose a name other than
temp2.html. ___You ______should ________normally ______rename ___any ____file ____that ___you ___are _____about
__to _______process ____this ___way __in _____order __to ________preserve ___the ________original ________version.
2. Give the command "html prep". The "prep" is short for "prepare"
as the process is intended as preparation for interactive editing.
3. Write the file and view it using a browser, as described in the
last section.
The new file can be edited using any editor, but Ved with VED_HTML
provides an quick way to modify it further.
If you want to use VED_HTML on a file containing HTML special characters
(such as "<") which are not part of tags, but you do not want to invoke
the full set of preparation procedures, you can translate the special
characters only with the command "html prep htmlchars". See section 6
for more details.
1.6 Further notes
------------------
The information so far is sufficient to make straightforward use of
VED_HTML. The rest of this file gives more details about what it offers,
and includes lists of the scope letters, the various commands including
facilities such as tag highlighting and cutting and pasting tags.
In addition, it is possible to customise VED_HTML in various ways to
suit your use of it. For example, by default the program assumes that P
tags have closers, but many authors use P tags without closers. You can
switch P closers off for a session with the command "html pclosers off",
and you can also make this your personal default. More generally, you
can find out about and change all the tags that the program knows of.
There are also many changes that can be made to the HTML text
preparation program. Details of these are all given below in section 7.
-----------------------------------------------------------------------
2 Scope letters
-----------------------------------------------------------------------
VED_HTML identifies blocks of text using scope letters, often in
conjunction with the cursor position. Opening tags are placed in front
of the scope and closing tags at the end. Some of the scope letters have
been mentioned above. They are listed in full here.
In every case, the scope may be automatically reduced to take account of
existing HTML tags. For example, if a line of text contains only an
opening B tag and no closer, tag nesting is violated by placing a tag
pair round the whole line. The scope is therefore reduced to be either
the part of the line to the left of the B tag, or the part of the line
to the right, depending on the position of the cursor.
To see exactly what a scope letter means in a given context, simply type
the sequence "h" followed by the scope letter (as if you were
going to insert a tag). The scope will be highlighted. Type or
to remove the highlighting and restore any previous character
attributes.
_____Scope_ ______letter ____Text_ ________referred_ __to
. The cursor position: no text is included, and both
opening and closing tags are inserted as if they had
simply been typed in one after the other at the
current cursor position (i.e. to the left of the
character under the cursor mark).
c The character under the cursor mark.
w The word containing the cursor. Uses
* vedstartwordleft and * vedendwordright to delimit
words.
u The URL containing the cursor. A URL is identified
as text starting with a string in vedhtmlurlstarts
and ending at the first character not in
vedhtmlurlchars.
l The line containing the cursor.
s The sentence containing the cursor. Uses
* vedprevsent and * vednextsentend to delimit
sentences.
p The paragraph containing the cursor. Uses
vedhtmlinparagraph to delimit paragraphs. This is
user-definable - see section 7.
o The pr_ocedure containing the cursor (normally a
Pop-11 procedure). Uses * ved_mcp to delimit
procedures.
r The marked range.
x In XVed, the X-selection. (Only available from the
command line because of a limitation in XVed.)
k The part of the text delimited by the top two
positions on Ved's position stac_k. The cursor should
be moved to one end of the text and the "push" key
pressed, then the same done at the other end, before
invoking this scope.
i The contents of the HTML element containing the
cursor. Inserted tags go just _inside the opener and
closer surrounding the cursor.
e The whole of the HTML _element containing the cursor.
Inserted tags go just outside the opener and closer
surrounding the cursor.
f The whole of the current file.
-----------------------------------------------------------------------
3 Command-line commands
-----------------------------------------------------------------------
There are two ways of interacting with VED_HTML: commands given on the
Ved command line, and key sequences. The command-line commands are as
follows.
html
Loads VED_HTML if it is not already loaded. (Any of the
other command-line commands will also do this.)
html prep
html prep _______options
html prep not _______options
Prepares the current file by inserting HTML tags round the
existing text, substituting for special characters, etc.
The first form carries out all the available operations,
whilst the other forms, where _______options is a space-separated
sequence of words, specify which operations to include or
omit. Permitted options are: titles, htmlchars, headers,
attributes, lists, paragraphs, graphchars, wrappers. See
section 6.
html _____scope _________tagabbrev
The argument _____scope must be a scope letter and _________tagabbrev must
be the name of tag, optionally abbreviated. The abbreviation
must be no shorter than that shown by the "html abbrevs"
command, though a terminating full stop is never needed. The
tag will be inserted round the specified scope if it has a
closer, or in front of it if it does not. Can also be done
using a keyboard sequence. See comments in section 5.
html del
html del _____scope
In the first form with no argument, deletes the tag
containing the cursor. If the argument _____scope is present it
must be a scope letter, and all the text in the specified
scope is deleted. Can also be done using keyboard sequences.
html undo
The last VED_HTML deletion is reversed. This may not work
correctly if other edits have been made since the deletion
took place. Can also be done using a keyboard sequence.
html splice _____scope
The argument _____scope must be a scope letter. Inserts the last
VED_HTML deletion round the scope if the deletion involved
both an opening and closing tag; otherwise places it at the
start of the scope. Can also be done using a keyboard
sequence.
html show
Switches on and off highlighting of HTML tags.
html write
html write ________filename
Writes the current file with * vedwriteoutplain set to 1, so
that Ved attributes are not written. This means that tag
highlighting does not affect the browser's view of the
document. In the first form the file is written under its
own name; in the second it is written to the file named.
html keys
Changes the lead-in sequence for keyboard html commands
(which defaults to "h".) After giving this
command, the new sequence must be typed followed by
three times. (The old sequence is not reclaimed as normal
text, but a different action can be assigned to it.)
html printtags
Prints details of all the tags that VED_HTML knows about in
a Ved buffer. See section 7 for how this tag information can
be changed.
html abbrevs
Prints the abbreviation of each tag name that VED_HTML knows
about in a Ved buffer. The abbreviation of a tag name is the
shortest initial substring that identifies it uniquely.
Where an abbreviation is followed by a full stop, the name
must be terminated with , or "." when being
input for insertion other than on the command line.
html readtags
html readtags ________filename
Reads in new tag descriptions from a file. See section 7 for
how to set up such a file. If the ________filename argument is
given, that file is used; if omitted, the name held in the
variable vedhtmltagfile is used. The current tag
descriptions are forgotten.
html pclosers
html pclosers on
html pclosers off
In the first form, reports on whether VED_HTML expects P
tags to have closers. The other two forms switch P closers
on or off. Closers for P tags should used consistently in a
file. The default is "on", but it is possible to change the
default for a user.
-----------------------------------------------------------------------
4 Keyboard sequences
-----------------------------------------------------------------------
Some keyboard sequences are defined for rapid tag manipulation, as
alternatives to the command-line commands above. These are simply typed
while editing, without going to the command line. A prompt is displayed
on the command line at various points if the user pauses. The entries
below use the following components, which are typed without spaces
between them:
# means the sequence held in the variable vedhtmlkeys,
which defaults to "h", but which is user-definable (see
section 7).
# is a scope letter as listed in section 2.
# is a tag abbreviation, terminated where necessary by
, or "." (These termination characters are also
user-definable.)
# Other characters appearing below are typed literally. The shift
key must be pressed for letters shown in upper case.
The specified tag is inserted round the text scope, or in front
of it if the tag has no closer. The scope is highlighted until
the tag is inserted. See the notes in section 5.
The tag surrounding the HTML element containing the cursor is
deleted. For a tag with a closer, the cursor must be after the
first character of the opener, and on or before the last
character of the closer, but not inside any nested element. For
a tag without a closer, the cursor must be in the tag itself.
The whole of the scope specified is deleted, including both text
and any tags. The scope is highlighted until is pressed;
the operation can be abandoned at this point with one of the tag
termination characters.
D
Same as , but without scope
highlighting.
U
The last VED_HTML deletion is reversed. This may not work
correctly if other edits have been made since the deletion took
place.
S
Inserts the last VED_HTML deletion round the scope if the
deletion involved both an opening and closing tag; otherwise
places it at the start of the scope.
-----------------------------------------------------------------------
5 Notes on tag insertion and deletion
-----------------------------------------------------------------------
5.1 Line breaking during insertion
-----------------------------------
Some HTML tags logically break the text up into chunks, which will be
rendered by a browser as separate blocks on the page. When manipulating
text in Ved, it is convenient if such chunks are kept separate from one
another, and the simplest way to do this is to make sure that each chunk
is a separate paragraph.
For this reason, when VED_HTML inserts a tag which is designated a
"separator", it will check that the element created appears as a
separate paragraph. First, it will make sure that the opening tag occurs
at the start of a line, by breaking the line if necessary. Second, it
will if necessary insert a line break after the closing tag, and then a
blank line below the paragraph to separate it from any following text.
No blank line is inserted above a paragraph. This is because VED_HTML
regards a line starting with a separating tag as a paragraph start, so
there is no need to do so from its point of view. Ordinary Ved will not
recognise such a line as a paragraph break, however. If you wish to give
the rest of Ved the same view of paragraphs is VED_HTML has, you can
load the following line (or put it in your ved_html_init.p file -
see section 7.2):
vedhtmlinparagraph -> vedinparagraph;
5.2 Cursor positioning after insertion
---------------------------------------
Usually, the cursor will remain where it was after a tag is inserted.
However, if the tag has a required attribute, such as the "CODE"
attribute for an APPLET tag, the cursor will be moved to the position of
the attribute's value in the tag opener, as the next thing to be done
will normally be to type or copy in that value.
5.3 URL handling
-----------------
Some tags can have URLs as attribute values. Such tags are identified by
having a particular character ("*" by default) in their attribute
strings (see section 7.1).
When such a tag is inserted, VED_HTML checks to see whether the text in
the selected scope starts with a URL, defined as in section 2. If it
does, then the URL is placed in the tag attributes instead of in the
body of the element. URLs which do not occur at the start of the scope
are left where they are.
Note that when a tag containing a URL in its attributes is deleted, the
URL is deleted too, so deleting such a tag is not simply the reverse of
inserting it. Deleted tags, including any URLs, can be recovered using
the "html undo" and "html splice" commands or their keyboard sequence
equivalents.
-----------------------------------------------------------------------
6 Document preparation
-----------------------------------------------------------------------
6.1 The overall procedure
--------------------------
The "html prep" command invokes a series of operations intended to
convert an ordinary text file to HTML. It should always be followed by
inspection of the results and hand editing to correct any errors. "Prep"
is meant to be short for "preparation" or "preprocessing".
A file should always be renamed, usually with a .html suffix, before
executing "html prep", in order to preserve the original version.
Unlike, for example, * PAGE, VED_HTML does not do this for you.
Alternative programs are available. For instance, * HELP_TO_HTML does a
similar job for help and ref files, and * AUTOFORMAT can also generate
HTML output. These have different strengths and weaknesses to VED_HTML,
and it is probably worth comparing the results of the various programs
to see which gives the most satisfactory results.
The preprocessing facility can be tailored in many ways by assigning
values to variables. Almost all of the tags used are user-definable. See
section 7 below for details.
VED_HTML does the following when the "html prep" command is used. The
word in bold after the number can be used to identify each operation -
see the next subsection. (Note that this is not a strict order of
operations: some of them are interleaved.)
1. titles The title, authors and document heading in REF and HELP
files are stripped out. The text is saved and used in the last
operation to set up the title, heading and authors for the HTML
document.
2. htmlchars Characters that have special functions in HTML such as
"<" and ">" are replaced by their HTML codes.
3. headers Ved section headers as found in HELP and REF files are
replaced by HTML headers. An index, as used by * ved_g, is replaced
by a list of links to the headers. In addition, headers are made
into links that point back to the index, so that it is always easy
to navigate in a file by returning to the index, in the style of
* ved_g. This behaviour can be turned off - see section 7.
4. attributes Characters that have bold, italic or underline
attributes in Ved are given suitable HTML tags.
5. lists Sections of text that look like lists are given appropriate
HTML tags. A line is taken to look like a potential list entry if
the part from the start of the text to the first white space is:
a. a single non-alphanumeric character, or "o" or "x", or
b. a single letter followed by "." or ")", or
c. an integer optionally followed by ".", ")", or ".)", or
d. two integers separated by "." optionally followed by ".",
")", or ".)".
A list entry can extend over several lines, provided it starts with
a line like one of the ones above. Except for nested lists, at least
two successive list entries are needed before a list is identified
as such. Successive list entries must be indented by the same
amount, and start with the same character in case (a) above, or
increment the letter or integer appropriately in cases (b)-(d).
Nested lists are allowed, identified by an increase in indentation,
or in the case of numeric lists only, by a change from one integer
to two. Only one level of nesting of numeric lists is catered for.
At present, handling of nested lists is not always correct.
6. paragraphs Other paragraphs are surrounded by tags. A guess is
made at the type of each paragraph; the categories are as follows:
a. a single indented line
b. a paragraph whose lines are all indented the same amount
c. a paragraph whose lines are indented by different amounts
d. a paragraph whose lines begin with Ved's "format space"
e. a paragraph whose lines begin with Ved's "prompt space"
f. a paragraph whose lines are not indented
and tags are inserted depending on the categories.
7. graphchars Graphical and special space characters are replaced by
their printing equivalents.
8. wrappers BODY, TITLE, HEAD and HTML tags are used to wrap the
text up into an HTML document. Information from the first operation
is incorporated into these if possible.
6.2 Selecting particular operations
------------------------------------
It is possible to carry out a selection from the operations listed
above, by giving the relevant identifying words at the end of the
command. For example, "html prep htmlchars paragraphs" does only
operations 2 and 6. Alternatively, operations can be omitted by placing
the word "not" before them, so "html prep not lists graphchars" does all
the operations ______except lists and graphical character translation.
However, care is needed with this. For example, if an attempt is made to
do lists, headers, paragraphs or wrappers when there are HTML special
characters still untranslated in the file, an error will result. Thus
the htmlchars option is almost always needed; however if this option is
used after any tags have been inserted, it will destroy them. There are
several other interactions.
To avoid most of these problems, it is best to use the prep command once
only on any given file, invoking all of the operations required. They
will then be done in a sensible order.
The wrappers option will use information from the last invocation of the
titles option, regardless of whether it was applied to the same file.
These two options should therefore usually be used together.
All prep commands also turn off highlighting,
-----------------------------------------------------------------------
7 Customisation
-----------------------------------------------------------------------
7.1 Tags
---------
To inspect the tags that VED_HTML knows about, give the "html printtags"
command. A Ved buffer is created in which a list of tags is printed,
together with some information about each. Each entry is enclosed in
curly brackets and has three parts. For example, the A tag appears as
{A [hascloser] 'HREF="^"'}
# The first part is the name of the tag.
# The second part, in square brackets, contains some or all of the words
"hascloser", "separates" and "keepspaces". The words are separated by
spaces; if none is present then this part of the entry appears as "[]".
# If "hascloser" is present, VED_HTML will insert and delete closing
tags for this type of element.
# If "separates" is present, VED_HTML will treat elements with this
tag as separate paragraphs (see section 5.1).
# If "keepspaces" is present then VED_HTML will preserve leading
spaces in this kind of element, which is taken to be preformatted
text.
# The third part, in single quotes, is a template for the element's
attributes, which will be included when an opening tag is inserted. If
no attribute string is required, this part is the letter N, without
quotes. If the template is present, two user-definable special
characters, which are not themselves inserted into the attributes, can
appear:
# The character "^" (by default) represents the position the cursor
should be placed at when the tag is inserted (see section 5.2).
# The character "*" (by default) represents the position at which a
URL found at the start of the scope should be inserted (see section
5.3). If "*" and "^" appear adjacent to one another and a URL is
present, the cursor position character is ignored.
The whole list of tags is enclosed in square brackets which appear on
the first and last lines.
To make changes to the tag list VED_HTML uses, do the following:
1. Print the tags with the command "html printtags".
2. Move to the buffer containing the tag list, and give the command
"name $poplib/ved_html_tags.p". (If you wish, a different file name
can be used - see section 7.6.)
3. Edit the tag list. Take care to preserve the sequence of brackets
and quote marks accurately. If you wish to add new tags, it is
probably easiest to copy the entry for an existing tag and change
it. You can change the properties or attributes of any existing tag,
and delete tags freely, as long as you stick to the format above.
Make sure you do not delete the opening and closing square brackets
on the first and last lines. Make sure no tag name appears more than
once.
4. Write the file with the command "w1".
5. Read the new tags in with the command "html readtags". (If you
used your own choice of filename at step 2, give the name at the end
of the command: "html readtags ________filename".) If there is no error, the
revised list of tags will be operation.
If you add or delete tags, the acceptable abbreviations may change. You
can check the current abbreviations with the "html abbrevs" command.
If you used $poplib/ved_html_tags.p as the file name, then your revised
tags will be read in every time you use VED_HTML. If you used a
different file name, then you will either have to read them in with the
"html readtags ________filename" command in each session, or record the
different filename in your ved_html_init.p file - see below - if you
want the revisions to take effect in every session.
Note that there is a special simpler facility for effectively removing
the "hascloser" property from the P tag - see sections 3 and 7.6.
7.2 The ved_html_init.p file
-----------------------------
When it is loaded, VED_HTML looks for a file called
$poplib/ved_html_init.p. (Here, $poplib stands for the directory where
you keep certain Pop-11 files, such as init.p and vedinit.p; it is often
simply your home directory, but you can find out by giving the command
"echo $poplib" to the shell. You can refer to it literally as $poplib
from within Ved: you do not need to do any translation yourself.)
If this file exists, VED_HTML will compile it on startup, setting the
value of its internal variables and so customising your setup by
overriding the defaults. The file should therefore contain a sequence of
assignments to the variables listed below; for example it might contain
false -> vedhtmlPclosers;
if you want never to have closers associated with P elements, and
false -> vedhtmljumptoindex;
if you do not want headings in converted help files to be links back to
the index.
The variables that can be set in the file are listed in the remaining
sections.
7.3 Keyboard strings
---------------------
vedhtmlkeys [______active ________variable]
The string that invokes VED_HTML. Default: '\e\eh'
vedhtmltagtermin [________variable]
A list of characters that can be used to terminate tag name
input when the tag name is an initial substring of another tag
name. Tags need to be reread if this is changed.
Default: [`.` `\s` `\r`]
vedhtmlscopeattr [________variable]
The character attribute to be used to display the selected
scope. Default: `\[7]`.
7.4 Tag properties
-------------------
vedhtmlopenleft [______active ________variable]
vedhtmlopenright [______active ________variable]
vedhtmlcloseleft [______active ________variable]
vedhtmlcloseright [______active ________variable]
These hold the strings that delimit HTML tags. You are unlikely
to want to change them, but if you do, vedhtmlpunctchars needs
to be changed as well. Defaults: '<' '>' '' '>'
vedhtmlpunctchars [________variable]
This holds a string whose characters must be treated by Ved as
punctuation in order for tags to be correctly separated from
other text. See * vedchartype. Default: '<>'
vedhtmltagchars [________variable]
A string with the characters that are legal in HTML tag names in
addition to alphanumeric characters. Default: '.-'
vedhtmlPclosers [______active ________variable]
If P tags are not expected to have closers; otherwise
they are. This will override any specifications in a user's
ved_html_tags.p file read in at initialisation, but will be
overriden by tag specifications read in using the "html
readtags" command subsequently. Default:
vedhtmluppercase [________variable]
Unless , tag names are converted to upper case when
read from the file, the keyboard or the command line.
Default:
vedhtmltags [______active ________variable]
The list of tags known about. The format of the list entries is
as described in section 7.1. This should be set using the
ved_html_tags.p file rather than ved_html_init.p. Use "html
printtags" to see default.
vedhtmlcursormark [________variable]
A string indicating where to put the cursor in a tag attribute
template (section 7.1). Default: '^'
vedhtmlurlmark [________variable]
A string indicating where to put the URL in a tag attribute
template (section 7.1). Default: '*'
vedhtmltagattr [________variable]
The character attributes to be used for displaying tags when tag
highlighting is switched on. Default: `\[2b]`
7.5 Preprocessing options
--------------------------
Note that tag names are generally words, not strings.
vedhtmlglobalreplace [________variable]
List of strings controlling replacement of special characters.
Each string is in the form needed by ved_sgs (see
___REF * _________VEDSEARCH).
Default: ['/&/&' '/>/>' '/<' '/"/"']
vedhtmlattribtags [________constant ________property]
Property that associates tags with Ved character attributes (see
* ved_chat). Entries can be updated - e.g. one might write
'STRONG' -> vedhtmlattribtags("b");
to associate the STRONG tag with the Ved bold attribute. In this
case only, tag names are strings rather than words. The default
table is set up using [[b 'B'] [i 'I'] [u 'U']].
vedhtmlmainhead [________variable]
Tag to use for main heading of document. Default: "H1"
vedhtmlauthors [________variable]
Tag to use for authors of document. Default: "H2"
vedhtmlmainheadsep [________variable]
Tag to use to separate heading and authors from rest of text.
Default: "HR"
Section heading and index information:
vedhtmljumptoindex [________variable]
Boolean that controls whether headings become links back to the
index. Default:
vedhtmlheaders [________variable]
Vector of tags to use for different levels of heading.
Default: {H2 H3 H4}
vedhtmlindextype [________variable]
Tag to surround index of document. Default: "UL"
vedhtmlindexentry [________variable]
Tag to surround entry in index. Default: "LI"
vedhtmlindexmarks [________variable]
Vector of strings to use to indent different levels of entry in
the index. Default: {'' ' . . ' ' . . . . '}
vedhtmlembeddedindextag [________variable]
Some files have embedded indexes which could perhaps be handled
properly. This tag will be placed round them. Default: "P"
vedhtmlcontents [________variable]
A string to place over the index. Default: 'Contents'
Paragraph and list tags:
vedhtmllistentry [________variable]
Tag for an entry in a list. Default: "LI"
vedhtmlsymlist [________variable]
Tag to surround a list with unnumbered entries. Default: "UL"
vedhtmlnumlist [________variable]
Tag to surround a list with numbered entries. Default: "OL"
vedhtml1linepara [________variable]
vedhtmlindentpara [________variable]
vedhtmlraggedpara [________variable]
vedhtmlformatpara [________variable]
vedhtmlpromptpara [________variable]
vedhtmlnormpara [________variable]
Tag names for the paragraph types described in section 6.
Defaults: "BLOCKQUOTE", "BLOCKQUOTE", "PRE", "PRE", "PRE", "P".
vedhtmlparatype(__l0, __l1) -> ___tag [_________procedure ________variable]
Inspects lines __l0 to __l1 inclusive of the current file, and
returns an appropriate tag to make them into an HTML element.
7.6 Miscellaneous
------------------
vedhtmltagfile [________variable]
A string giving a file name. If the file exists, it is read
for a list of tags and their properties at startup and when the
"html readtags" command is given without an argument.
Default: '$poplib/ved_html_tags.p'
vedhtmldump [________constant ______vector]
Contains information about the last deletion operation performed
by VED_HTML.
vedhtmlchartype [_________procedure ________variable]
* vedchartype is dlocalised to the value of this variable inside
VED_HTML so that tags are treated as separate objects. The
default is that characters in vedhtmlpunctchars are punctuation
and other characters are as given by the current global
definition of vedchartype.
vedhtmlinparagraph [_________procedure ________variable]
* vedinparagraph is dlocalised to the value of this variable
inside VED_HTML so that elements delimited by separators are
treated as separate paragraphs. The default is that every line
except a blank line is in a paragraph; a line with "." in column
1 or with an HTML separator as the first text is a paragraph
starting line.
vedhtmlurlstarts [________variable]
A list of strings any of which may indicate the start of a URL.
Default: ['http:' 'https:' 'file:' 'ftp:' 'mailto:' 'news:'
'nntp:' 'wais:' 'gopher:' 'telnet:' 'cid:' 'mid:' 'afs:'
'prospero:' 'x-exec:']
vedhtmlurlchars [________variable]
A string giving the characters which are legal in the part of a
URL following a member of vedhtmlurlstarts, in addition to
alphanumeric characters. Default: '/.:@?#&',
--- _____________________________$poplocal/local/help/ved_html
--- _________Copyright __________University __of ______Sussex _____1997. ___All ______rights _________reserved.