A
A Note on Frames - 4/4.1/4.1.2A multiply justified table with no beginning header but with a header - 5/5.1
Aligned Lists - 3/3.2/3.2.2
Alternate Links - 4/4.1/4.1.3
Appending Arguments - 2/2.1/2.1.3
Applicability - 4/4.1/4.1.7
Author - 1/1.1
B
Beginning - 2/2.1/2.1.1Block - 4/4.1/4.1.7
Browser - 1/1.3
Bullet Lists - 3/3.2/3.2.1
But could you do it - 11
C
Change Bar - 4/4.2Choose only one type of header line - 5/5.2
Colors - 5/5.2
Column Alignment - 5/5.2
Columns - 5/5.2
Command Line Arguments - 2/2.1/2.1.3
Comments - 2/2.1/2.1.2
Configure Redirection - 2/2.2/2.2.4
Create a Note or Hint - 4/4.2
Creating Bold Text - 4/4.2
Creating In-line Bold Text - 4/4.2
Creating In-line Underlined Text - 4/4.2
D
Dash Lists - 3/3.2/3.2.2Document Beginning - 2
Document Header and Footer - 2/2.2
Document Syntax - 2/2.1
E
Embedded Html - 4/4.1/4.1.7F
First Level - 3/3.1/3.1.1Following Bullet - 3/3.2/3.2.2
Footnotes - 4/4.1/4.1.6
Form Layout - 6/6.2
Forms - 6
Frame File Samples - 2/2.3
G
H
Hi - 2/2.2/2.2.1History of Greece - 3/3.2/3.2.1
I
Image References - 4/4.1/4.1.5In-Line Pre-formatted Text - 4/4.2
In-Line - 4/4.1/4.1.7
Include File - 4/4.1/4.1.7
Introduction - 1
Item 1 - 3/3.2/3.2.2
Item 2 - 3/3.2/3.2.2
Item 3 - 3/3.2/3.2.2
J
K
L
Links in Tables - 4/4.1/4.1.4Links - 4/4.1
Lists - 3/3.2
Literal References - 4/4.1/4.1.5
Literal URL Links - 4/4.1/4.1.2
M
Man - 2/2.2/2.2.3N
Nail - 3/3.2/3.2.2New Windows Links - 4/4.1/4.1.2
O
Other Examples - 3/3.2/3.2.2P
Pre-formatting Ending - 4/4.2Preformatted Box - 4/4.2
Print - 4/4.1/4.1.8
Q
Quick Lists - 3/3.2/3.2.3Quick Start - 1/1.2
R
Reserved HTML Characters - 4/4.2Reserved Variables - 7
Rules - 4/4.1/4.1.6
Rules - 4/4.3
Rules - 5/5.2
Rules - 6/6.2
S
Sample - 6/6.2Search Links - 4/4.1/4.1.8
Second Level - 3/3.1/3.1.2
Section Links - 4/4.1/4.1.1
Sections and Lists - 3
See costs specified above - 3/3.2/3.2.2
Special Directives - 4
Special Input Characters Explained - 6/6.2
Special Links - 4/4.1/4.1.8
Sub-sections - 3/3.1
Submit Button - 6/6.2
Syntax - 3/3.3
Syntax - 4/4.3
Syntax - 5/5.2
Syntax - 6/6.2
T
THis could b - 11Table Margin - 1
Table Usage - 5/5.1
Table of Contents - 2/2.1/2.1.3
Tables - 5
Text Formatting - 4/4.2
There - 2/2.2/2.2.2
This can b - 10
This job - 9
This - 8
U
Usage - 6/6.1V
Variables - 7W
X
Y
You - 2/2.2/2.2.4Z
< 1 Introduction |
Minio is a Perl application that converts text documents into HTML. It uses simple directives and rules to do this. The benefit is rapid HTML development and the ability to have a text README file retained for non Web access. It is also useful for those who just don't like to use HTML editors but don't want to code in HTML.
Minio works hand in hand with a CSS (Cascading Style Sheet). Without the stylesheet (perl minio.pl -sample=style), the presentation will be very marginal. The advantage of using a style sheet is primarily maintainability. The page developer can change the stylesheet (minio.css file) and all of the pages that reference it will take on the new style. When you build a page with minio, it is assumed that you will have the reference to the minio.css file in the header file.
Note |
---|
Mozilla and probably most other browsers besides Internet Explorer handle padding differently. |
Instead of just padding the margins, the non-IE browsers expand the margin. Internet Explorer handles this differently – by moving the textual margin over. This condition is very evident when using "<div id=name>". To avoid problems, use the same padding values for all "div id" classes. If you using zero for all padding values for a "div id" class, you can use the "body" table class after the "<div id>" as an alternative method to add padding.
To avoid problems, place the DOCTYPE line below as the first line of your html file. The minio sample files already have this.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
This will cause the popular browsers to recognize that the document adheres to HTML version 4. This allows you to use different padding values and still align boxes. In the case of the minio frames samples, one could use a bigger padding value on the lower frame as long as the "width: n" was adjusted to account for the difference.
- Table Margin
The following example shows how to handle margins using a table rather than padding values.
<div id="content"> <table class="body"><tr><td><td> |
Don't forget to close the table (place in your footer file).
Minio was written by David C. Lyon (dave@davelyon.org), Copyright 2005.
< 1.2 Quick StartThe best way to realize all the features of minio is to run the following command:
perl minio.pl -sample=all |
Follow the instructions carefully. The above command will extract all of the sample files, including minio.txt – the ASCII file to convert to HTML. This will provide the frames based HTML files.
To just create a non-frames page, you would do the following:
perl minio.pl -sample=hf perl minio.pl -sample=help perl minio.pl minio.txt |
Then, open the file minio.html in your web browser.
< 1.3 BrowserMinio was written to produce output compatible with Internet Explorer (Version 6 or later). You may not get clean looking documents with other unsupported browsers.
< 2 Document Beginning |
The document header and TOC define the flow of the document. Lines 1 through the end of the table of contents cannot be free-flow. They must follow the document syntax below.
[<command-line arguments [&]] [continuation] Organization Author, department Date Document Title <null line> |
The first line is optional and may contain the command line arguments for minio (except the file name). You can use the "&" to continue the command line arguments.
Note |
---|
For in-line file arguments, you may specify input file related arguments without the switch. See the example below. |
notes /web/pub/images /web/pub/hdr.html /web/pub/ftr.html |
For the above example, the correspondence is described below.
notes | -imgpre=notes |
/web/pub/images | -imgdir=/web/pub/images |
/web/pub/hdr.html | -hdr=/web/pub/hdr.html |
/web/pub/ftr.html | -ftr=/web/pub/ftr.html |
Any line beginning with a percent sign (%) is treated as a comment. That line will not show up in the HTML file that is created. The exception to this is for the header lines that define the title, author, date, etc. Those are positional lines and comments don't apply there. However, the optional first line defining command line arguments may be commented out. You may place as many consequtive comments at the beginning of the file as you wish.
< 2.1.3 Command Line ArgumentsThe command line arguments are listed below. You may place command line arguments directly in the document to process and avoid having to enter them at the command line. See section 2.1.1.
Usage: perl minio.pl [file.txt] [-arguments] |
Argument | Description |
---|---|
file.txt | Text file to transform |
-skipin | Override inline arguments (in file) - use cmd line |
-encap | Encapsulate file.txt in minio header template - then quit |
-wrap | Wrap long lines in file.txt & quit. Long contiguous strings preserved. |
-sample=help | Create a sample (help) text file called minio.txt |
-sample=hf | Create header/footer .html files - non frames. |
-sample=fr | Create frame template file |
-sample=frtoc | Create frame template file that includes TOC block |
-sample=style | Create sample "minio" style file |
-sample=all | All of the above or multiple options separated by "," |
-sample=temp | Create template file with minimal information |
(all files will be for frames) | |
TOC OPTIONS | The gtoc switch generates TOC. Assumes document has none. |
-gtoc=txt | Generate file.toc (txt) ONLY and quit. |
-gtoc=htm | Create html file_toc.html while proc. file. Uses hdr/ftr. |
(assumes frame to link to is "content") | |
-gtoc=inl | Create html toc within the html document. |
-dtoc=htm | Write document TOC to external html file (link to content) |
-toctitle | Instead of "Table of Contents" use the document title |
-tochidden | Use a hidden toc (<div>) and have a link to open |
Argument | Description |
---|---|
-setvar | Replace variables in original TXT w/no HTML output |
-imgpre pre[.ex] | image name prefix/extension (pre_image[1..n].ex). |
Default prefix is blank (images are named | |
"image[1..n].ext"). Default "ext" is ".gif". | |
-imgdir=dir | directory for in-line images. If not specified, |
images are loaded from dir where HTML file is located. | |
-include | No header/footer - create HTML include file |
-hdr=file | Header file to be added at top. Default - plain. |
-ftr=file | Footer file to be appended. Default - none. |
-nosec | Don't display section numbers (1 Section is Section) |
-out=filespec | Override normal html and opt. TOC files to filespec |
-nocache | Include HTML tags to turn off caching at browser |
-format=fmt | Valid HTML list fmt (Example A-bullet list is A..Z) |
-error | Log file for errors/other messages (infile.err) |
-force | Don't ask, just overwrite if an output file exists |
-ext=extension | Override the default extension of .html |
-debug | print debug information |
Note |
---|
Use UNIX style file paths for the input file and and for any options where an alternate file is specified (like -out). Example: /usr/users/jsmith/doc.html |
- Table of Contents
- Appending Arguments
The optional table of contents continues immediately after the document header and one null line and is specified as follows.
Title <null line> Table of Contents <null line> 1 Section 1 1.1 Sub-section 1 ... n.n Sub-section n <null line> |
Even if you have specified in-line arguments in the text file, you can still add arguments at the comand line. For example, you may want to add "-force" to force the overwrite of existing files.
To have a HTML header and footer placed at the beginning and end of a document, use the -hdr and -ftr arguments.
If you want the "Document Title" to appear in the header and/or footer, or anywhere in the document, simply place "Minio Documentation" in your files (no quotes) wherever you want it replaced with the document title.
Note |
---|
Any header file should contain the <html>, <head> and <body> tags. |
When creating frame file samples (-fr -frtoc), you have the option of overriding the default "minio" name, saving you the time of editing the sample file. You can specify the header and footer file spec, title, and the main html file specification.
You may also use "-out=[/path/]file.html" to avoid the query of the path and file references.
< 3 Sections and Lists |
Sections should match the TOC entry exactly if you are predefining a TOC. They are simply specified using the format "n Description".
For example:
3 Sections |
The section list uses the HTML tag "UL". You can change the numbering using the format argument. (numeric, A-Z, etc.). The first section is the beginning of a "UL" block. This block is in effect until the end of the text file. A link will be created from the TOC entry to this section heading.
The section name must be alphanumeric – no punctuation.
The sub-section is specified as "n.n Description". It is numbered with the number you specify and must match the TOC entry exactly. A dot (n.n) must be included to distinguish it as sub-section. A link will be created from the TOC entry to this sub-section heading. This HTML "UL" block is subordinate to the section list and is in effect until the next section.
For example:
3.1 Sub-sections |
A link will be created from the TOC entry to this section heading.
< 3.1.2 Second LevelThis is the same as the first level except that its scope is within a first level sub-section.
For example:
3.1.3 Second Level |
An un-numbered list can be created using the "o" symbol as described below. This list is in effect until a new sub-section or new section is detected. It is used anywhere after the TOC. It makes sense to use it within a sub-section. Its primary use is to provide indented bullet items within a sub-section.
Lists are also useful in creating just a bulleted list with line breaks.
The format argument will also change the type of list symbol used in bullet lists.
Examples:
o History of Greece The history of Greece is very colorful. It has spanned many thousands of years. |
Produces:
< 3.2.2 Dash ListsA dash list is specified using "-" and is used to create an unnumbered list that can follow a sectino or the bullet list. It can be used anywhere after the TOC but should be used within the scope of a bullet list or wherever an item list is needed where each item is followed immediately by the next item (See examples – below). The processing rule is this:
If you start a dash list and leave a blank line after the first item, your list will not end until the next bullet or section. |
- Aligned Lists
- Gold - trading at $300.
- Silver - trading at $200.
- Platinum - trading at $700.
- Other Examples
- Following Bullet
You can also have aligned lists where the body of the list is on the same line as the list item.
The following:
- Gold = trading at $300. - Silver = trading at $200. - Platinum = trading at $700.
Produces:
Quick lists are good for indented lists between other text as the following example illustrates.
|
Each item is prefaced by a period and is ended by a null line. The HTML wraps the list in a decorative table.
The following table describes the syntax for sections and lists.
Name | Syntax | Scope | Termination |
---|---|---|---|
Section | n name1 | Document | End of document |
Sub-section-1 | n.n name1 | Section | End of section |
Sub-section-2 | n.n.n name1 | Sub-section-1 | End of sub-section-1 |
Bullet Lists | o name | Document | Any new section |
Dash Lists | - name | Document | Any new section or blank line (context) |
Dash Lists Aligned | - name :|=|+2 | Document | Any new section |
Quick Lists | . name | Document | null line |
1 The section "name" must be comprised of alphanumeric characters and optional spaces.
2 The ":" is literal, the "=" gets changed to "-", and "+" is changed to space.
< 4 Special Directives |
This section describes special directives that don't directly deal with sections but can be used within them (and sub-sections, lists, etc.).
Links can be made to sections, servers, javascript and images.
You can avoid link translation for URL links by preceding them with a hyphen (-http://www.davelyon.org). |
References to sections in your document can be used in many ways to produce links to the relevant sections themselves. An example is the best way to illustrate this.
The following:
When you write "See section 3.2", a link is created to section 3.2. Sub-sections also work (section 4.1.1). Parenthesis can be used in a reference to section (section 5). |
Produces:
When you write "See section 3.2", a link is created to section 3.2. Sub-sections also work (see section 4.1.1). Parenthesis can be used in a reference to a section (section 5).
The following:
- See section 2 - See HTML (section 5) - See Style Sheets (section 5.1) - See section 3.2.2.o 'Other Examples' - See [Build and airplane] in section 4.1.1. - Click [here] in section3.2.2.o 'Other Examples'
Produces:
- See section 2
- See HTML (section 5)
- See Style Sheets (section 5.1)
- See Other Examples
- See Build and airplane.
- Click here
Note that in the last two links, the text within the brackets is the hotlink text. In this way, you can determine the link name but reference the section. The very last link is a to a non-numbered bullet or dash link. The ending .o specifies it is a bullet link. This link refers to the non-numbered section titled 'Other Examples' under sub-section 3.2.2. Any non-numbered subsection is linkable if it is alpha-numeric with spaces, dashes or underscores.
< 4.1.2 Literal URL LinksThis type of link uses the actual URL specified as the hot link text. Links can be to other sites or local. For a local link, you need only specify the URL type and directory and/or file.
http:public/minio.html |
results in public/minio.html.
If you are linking to a document via https and you normally open the existing page via http, you will need to fully qualify the https link (https://server.domain/document). |
The following:
One can write a site link "see ftp://ftp.csupomona.edu" and a link will be made. One can also write "Send Email to help@davelyon.org" or for just a mail link (without preceeding "Send Email to"), one can specify mailto:user@address. |
Produces:
One can write "see ftp://ftp.csupomona.edu"and a link will be made. One can also write "Send Email to help@davelyon.org or for just a mail link (without preceeding "Send Email to"), one can specify user@address.
- New Windows Links
- A Note on Frames
If you speicify a link as:
http:+//www.davelyon.org |
You will get a new window (Javascript call). Click http://www.davelyon.org.
If you are using frames and want a link to display in the current frame, you will need to write a local link. To have the frame set replaced with a new window and reference a link, use a site link. To avoid using a site link for something that is in the local website, just use two colons (directory/page.html). This is know as a "top" link in Minio.
This does not apply to Email or telnet links.
A URL can specified such that the URL is not the hot link text. For example, I could write:
Click http://www.csupomona.edu (here) |
which results in "Click here".
The word "here" would be the hot link text (not the URL).
For an image link, the following:
http://www.davelyon.org (/images/new.gif 80,100) w h |
results in . The width and height are optional.
The image "SRC" is contained inside the parenthesis.
< 4.1.4 Links in TablesThe above links can also be used within a table. See the example below.
See ftp://www.davelyon.org. | Telnet to telnet://www.davelyon.org |
Using "(See Figure 1)" with no quotes causes an image reference
as you see in
this image. The in-line reference will
be to imgpre_image1.gif. The ".gif" extension
is the default or whatever you specified with "-imgpre". To
override, use "(See Figure 1/jpg)". The figure number corresponds to
the image number. The directory for all image files is specified
when you run minio.
There is an alternate figure directive that has less restrictions and can be used more than once per line. See below.
figure#(width,height) |
Example:
figure1(200,200) |
Loads the image in a 200 x 200 pixel space. The coordinates are optional.
The file naming is the same as if you used "(See Figure 1)".
- Literal References
You can also do literal image references by specifying the following syntax. Note that the width and height are optional.
image(/path/file width,height) |
You can create a footnote by using the forward and backward slash.
For example:
This formula is not without cost. \3 /3 The costs associated with the study were not verified. |
Produces:
This formula is not without cost.3
3 The costs associated with the study were not verified.
While generally not necessary, you can embed html code within the text file you want to process. There are several ways to do this.
- In-Line
- Applicability
- Block
- Include File
The format is as follows.
html[HTML-CODE] |
Example:
The following example is wrapped for clarity but the html keyword and html code with closing bracket must be on one line.
html[<table border=4 bgcolor="#c0c0c0"><tr> <th>APPROVED</th></tr></table><br>] |
Produces:
APPROVED |
---|
The html directive can be used anywhere a link can be used (section 4.3) and can also be used within a preformatted text block.
You can specify a block of html or javascript as follows.
<script> ........ </script> |
<html> ........ </html> |
Example:
One | Two |
The include command can be used to import another file containing html code. The syntax is described below.
$include file |
There are no paragraph or newline breaks added except those that are used before and after other constructs such as paragraphs, tables, etc. You may need to add breaks at the beginning and end of the included file, depending on placement of the file.
- Search Links
The search links can be used to create a search link to Amazon's A9 search engine (Book), Google (Find), or Wikipedia (Wikipedia).
Book:(Flip the Switch) Find:(Flip the Switch) Wikipedia:(Abraham Lincoln) |
Produces:
If you know the author, you can also append "by First Last".
The Print link can be placed once per line and can be used to bring up the printer dialog to print the document. You can define the CSS to determine the print area using the "print" class (see minio.css).
The following:
You may wish to Print:(print) this document. |
Produces:
You may wish to print this document.
Note |
---|
To have the print link not show up in the print-out, use PrintH. |
Note |
---|
With preformatted text, other directives (bold, html, etc) do not apply. |
- In-Line Pre-formatted Text
- Pre-formatting Text (Strip Blanks)
- Pre-formatting Text (Leave Blanks)
- Pre-formatting Ending
- Preformatted Box
- Create a Note or Hint
- Creating Bold Text
- Creating In-line Bold Text
- Creating In-line Underlined Text
- Change Bar
- Reserved HTML Characters
To have text pre-formatted in a paragraph, surround it with "*" making sure to not have spaces after the beginning "" and before the ending "".
Example: use the command help find.
This directive uses the HTML "PRE" tag and is specified using the format "* text". It strips all leading blanks from the text. The "* " is removed and the block is ended by a null line. See the following example.
dir/date/since=1-May-1997 delete/since=1-may-1997 |
This directive uses the "PRE" tag also but is specified using the format "! text". It preserves blanks that occur past the beginning of the first line (not including the "!" directive). See the following example.
#!/bin/sh # echo "Sample shell script" if [ 1 == 1 ];then echo "1 is 1" echo "This should be indented" fi exit 1 |
The previous text block will be inside of a HTML "PRE" block. It is ended by a null line. The indents will be preserved.
Note |
---|
You should not use TABS as this will throw off the alignment. |
With both methods above, you may specify an ending character (other than blank line). Specify the character after the directive as follows.
!%
*%
In both examples, the preformatting will end when a single character "%" is found on a line by itself.
Performatted text has a colored box around it. To disable this feature, place a "-" after the specification (before the space). Example: !%- or !-.
Using "Note:" in the beginning of a line causes special formatting to identify the lines following (until null line) as a note. The note or hint box will align to the left unless you use two colons (Note::) in which case the note will be centered.
Note: here is a sample note. |
Produces:
Note |
---|
Here is a sample note. |
The "Hint" keyword is similar except that it produces a rectangle around the text.
Hint: this is a sample hint. |
Produces:
This is a sample hint. |
To create strong text (<h3> centered), begin the line with "--". The "Bold" directive only applies to that line.
This is strong text.
To create in-line strong text, simply surround the text with the grave accent. You can have more than one per line.
`bold this text` |
produces bold this text.
To create in-line underlined text, simply surround the text with pairs of single quotes. You can have more than one per line.
A change bar is easily created using ---Begin Change to start and ---End Change to end. Both begin in column 1.
For example:
---Begin Change This text has a change bar next to it. The color of the bar and text can be defined in the css file. --- End Change |
Produces:
This text has a change bar next to it. The color of the bar and text can be defined in the css file.
The characters ",<,> and & are converted to their HTML tags.
The following table describes the syntax for special directives.
Name | Syntax | Scope | Termination | Max/line |
---|---|---|---|---|
Ftp link | ftp://addrPS | In-line | n/a | 10 |
Http link | http://addrPS | In-line | n/a | 10 |
Https link (SSL) | https://addrPS | In-line | n/a | 10 |
Site link | above with full URL | In-line | n/a | 10 |
Http new win | http:+//addrPS | In-line | n/a | 10 |
Local link | ftp|http|https:spec | In-line | n/a | 10 |
Top link | ftp|http|https::local-spec | In-line | n/a | 10 |
News link | news://addrPS | In-line | n/a | 10 |
Telnet link | telnet://addrPS | In-line | n/a | 10 |
Mailto link | mailto:user@addPS | In-line | n/a | 10 |
Javascript link | javascript:code | In-line | n/a | 10 |
Image link | /path/file [wpix,hpix] | In-line | n/a | no limit |
All of above | url://addr (text) | In-line | n/a | 10 |
Book link | Book:(Title by Author) | In-line | n/a | 10 |
Find link | Find:(Search text) | In-line | n/a | 10 |
Wikipedia link | -Wikipedia:(Search text) | In-line | n/a | 10 |
Print link | -Print(H):(Search text) | In-line | n/a | 10 |
Mail link | S|-send Email to | In-line | n/a | 10 |
Section link | section n|n.n | In-line | n/a | 10 |
Section link | [txt] in section | In-line | n/a | 10 |
non-Numb Sec link | section n.o|d | In-line | n/a | 10 |
Footnote link | txt \<digit> | In-line | n/a | no limit |
Footnote | ^/<digit> | In-line | n/a | one |
Figure load | ^(See Figure N[/TY]) | In-line | n/a | 1 |
Free Fmt Fig | figureN[(wpix,hpix)] | In-line | n/a | no limit |
Image path | image(/path/file [wpix,hpix]) | In-line | n/a | no limit |
PRE-Strip | * Text | Document | null line | n/a |
PRE-Indent | ! Text | Document | null line | n/a |
PRE-inline | text | Document | asterisk | no limit |
Note: | Note format | Document | null line | n/a |
Bold | -- Text | Document | next line | 1 |
Bold Inline | BQtextBQ | In-line | n/a | no limit |
Underline | QQtestQQ | In-line | n/a | no limit |
Subscript | sp\digit | In-line | n/a | no limit |
Superscript | sp/digit | In-line | n/a | no limit |
Changebar | ---Begin Change | Document | ---End Change | 1 |
Divider <hr> | ------(20 or more) | Document | n/a | n/a |
Double quote | " | In-line | n/a | no limit |
Greater then | > | In-line | n/a | no limit |
Less then | < | In-line | n/a | no limit |
Ampersand | & | In-line | n/a | no limit |
code | html code | In-line | n/a | no limit |
<script> | <script> | Document | </script> | one |
<html> | <html> | Document | </html> | one |
include file | $include file | Document | end of file | one |
BQ | The back quote character |
Two single quotes | |
PS | Punctuation mark or space |
BS | Single space required at beginning unless first item in line |
^ | Must be first item in line |
TY | Specify alternate image type. (See Figure 2/gif) |
- Rules
None of the "in-line" directives may be used with section and sub-section directives but can be used with bullet, dash and quick directives. Directives that are not "in-line" cannot be used as such (table, etc). You may combine Ftp, Http, Ph and Mail links on a single line.
Specifying a link reference as in ...
http:/data/doc/sched.html |
will make the reference a local reference (/data/doc/sched.html). This is useful if your link is a reference to the local web site (base site) and is considered a local link. To display the page in a new browser window (if using frames), use two colons after "html". This is considered a "top" link (target=_top).
< 5 Tables |
Tables use the "TABLE" tag and can be created using the table keyword or the characters "#",";" or "|". Table headers are always centered and are specified as "-Header-". Two samples will be shown here.
Table justification is specified for each column. Its is defined using the first line of the table or with a table directive. Refer to the following.
- A Right Justified Table with Table Headers (TH).
- A multiply justified table with no beginning header but with a header at the beginning, middle and end. It is a green table with blue headers. Note the special directives in the full width header.
# -Item- # -Cost- # Nail # $1.00 # Hammer # 8.00 |
Produces:
Item | Cost |
---|---|
Nail | $1.00 |
Hammer | 8.00 |
The table is right justified by placing more than one blank after the first "#" for each column on the first line). So, column 1 might be right justified and column 2, left. The table is ended by a null line. Just place one blank for a left justified table (see below).
table:blue/green:border::2 # -- Nail and [Hammer] in section 2 \4 # Nail # $1.00 # Hammer # 8.00 # -Sub Total- # 9.00 # Tax # 0.63 # -Total- # 9.63 |
Produces:
Nail and Hammer4 | |
---|---|
Nail | $1.00 |
Hammer | 8.00 |
Sub Total | 9.00 |
Tax | 0.63 |
Total | 9.63 |
4 A footnote is permissible, even in the table header.
The following example will create a table with no border.
Date: | 8/30/97 |
Time: | 19:00 |
The following example will create a table full width.
Wide Table (85%) |
---|
This is a wide table. |
The following example will create a glossary type table.
Glossary | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
minio | A text to html converter. | ||||||||||||||||||||||||||||
HTML | Hyper Text Markup Language. |
The following demonstrates full width TH tags.
Full Width TH | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cell1 | cell2 | cell3 | |||||||||||||||||||||||||||
Second Full Width TH | |||||||||||||||||||||||||||||
First | Second | Third | |||||||||||||||||||||||||||
cell1 | cell2 | cell3 |
The following describes the basic syntax for tables.
[#|;+] -- Title Bar : Full width header/title # -Header 1- # ... # -Header n- : relative table | -Header 1- # ... # -Header n- : table w/o border ; -Header 1- # ... # -Header n- : full (85%) width + -Header 1- # ... # -Header n- : glossary type table # Column 1 # ... # Column n # # Column 1 # ... # Column n |
- Rules
- Column Alignment
- table Directive
- Columns
- Colors
Column alignment is defined by the spacing on the very first line of data (row).
<sp><sp>Data | Aligned to the RIGHT |
<sp>Data | Aligned to the LEFT |
You can also use the "table" directive as follows for more options.
table:[head-color/]color:border-spec:width:columns:valign -empty line- # -- Full Width Header [-- #] # # -Header 1- # ... # -Header n- # Column 1 # ... # Column n ... ... ... # Column 1 # ... # Column n |
color | red,green,brown,yellow,blue,white are built-in colors. |
Specify your own HEX colors as well. | |
border-spec | A valid value for TABLE border |
width | A valid width for the TABLE |
columns | Number of columns |
valign | Set to "valign" to use variable alignment |
The number of columns from a table is determined from the first line. If a column in the first row is null (no data), it will still have a border around it. If the last column of the first row is null, then you must add a "#" to the end. This is useful for a checklist. Here is an example.
Bread | ||
Water | ||
Cheese |
Colors may be one of red,blue,green,brown,white, or yellow which are internally defined or you can specify an alternate color (HEX code).
< 6 Forms |
Forms use the "FORM" related tags. Forms are easy to specify using one of the form directives (section 6.2). The "Input-menu" keyword permits continuation on the next line (see section 6.2). The width of a table containing the form is by default variable unless you define the width.
Only text variables are supported with a default length of 30. You specify the headings and variable names. You can override the default by specifying the size after the variable.
Post-form/500: Sample:https://www.minio.sw/bin/run.pl --- This is the Post-Form Example--- Input-form: Name: name:8:: autocomplete=off Input-pass:-Password: password:10 To proceed now, [Click Right Here] and the action will be performed. Input-hidden::code/929321 Input-menu: Days Available: day: Monday, Tuesday, Wednesday, Thursday (-What day are you available?) Input-menu: Time: time: 00-23 Input-box:-:place: Boston, New York Input-form:\Address: address:40:60 Input-long: Description: des/This is the default text:2:30 Input-form:\Phone: phone/(777)-:20 Input-box:\Software: software :Netscape,+Explorer,+Eudora (Describe the features you need) --- Identifying your status is critical so that we can determine the size of your stipend --- Input-rad: Status: stat: Student, +Faculty Input-menu:Colors: colors: Red, Green, Cyan, Blue, Yellow Gold, Violet, Purple |
Produces:
A null line ends the form specification.
Note the help text that displays for Name and Password. This is specified using the vertical bar at the end of the "Input-key" line. See Syntax below for more information.
< 6.2 SyntaxDirective | Usage | HTML |
---|---|---|
Post-form[-plain|noclass][/width]:5 | Post-form[-plain|noclass]:<Form Heading>:<Script>[,<Java-Auth>]6 | FORM |
Input-submit: | Input-submit: [submit-code] | Form submit code - default if none supplied |
Input-form: | Input-form:<Lab>:<Var>[:<size>:<max>:<Opt>] | INPUT TEXT |
Input-pass: | Input-pass:<Lab>:<Var>[:<size>:<max>:<Opt>] | INPUT PASSWORD |
Input-long: | Input-long:<Lab>:<Var>[:<size>:<Opt>] | TEXTAREA |
Input-box: | Input-box:<Lab>:<Var>:<Choices> | INPUT CHECKBOX |
Input-rad: | Input-rad:<Lab>:<Var>:[+]<Choices> | INPUT RADIO |
Input-lab: | Input-lab:<Label> (left hand label only) | N/A |
Input-hidden: | Input-hidden::<Var>:[:<size>:][:<max>] | INPUT HIDDEN |
Input-key: + | Input-KEY:+[<Lab>]:<Var> (Multi TD value label) | TD |
Input-key: - | Input-KEY:-[<Lab>]:<Var> (Cont. same line) | n/a |
Input-key:: | Input-KEY::<Var> (new line w/o label) | n/a |
Input-key: \ | Input-KEY:\[<Lab>]:<Var> (Cont. after BR ) | BR |
Input-key: . | Input-KEY:.[<Lab>]:<Var> (Cont. same line) | TD |
Input-menu: | Input-menu:<Lab>:<Var>:[+]<Choices> | SELECT |
<Choices> | OPTION | |
[click text] | Text [Click] text | INPUT SUBMIT |
| help text | Input-key:<Lab>:<Var>[:<Size>:<Max>:<Opt>] | text | TITLE |
5 Width is specified in pixels.
6 Optionally specify a JS function to validate form. Add it to the header file.
- Rules
- Comment/Help Lines
- Special Input Characters Explained
- Form Layout
- Sample
A form must begin with "Post-form:" and end with a null line. You must also have "Input-submit:" at the end if you want to have the submit/reset buttons or you can supply your own code after "Input-submit:". Lines in between must be a directive, comment or an "Input-menu" continuation. Input-menu can accommodate more choices by including them on the next line. The entire form is created within an HTML table.
<Form Heading> | Table heading for the form |
<Script> | Script to run upon submit |
<Width> | Width of the table containing the form (columns) |
<JavaAuth> | JS function to validate the form. |
[-][<Lab>] | Optional text heading to proceed the variable entry space |
<Var> | Variable name your script will use |
<Var>/def-value | Default value for Input-form or Input-long |
+<Choices> | Comma separated list of values or numeric range (n-m) |
<Size> | Size of the text box (an integer) |
<Max> | Size of the text variable (an integer) |
<Opt> | Add form attributes such as autocomplete=off |
Seperate them by spaces |
The "+" sign is used as the first character before <Choices>. It is used in the contexts described below.
Input-menu | Make first choice default (otherwise "Click to Select") |
Input-box | Mark box as selected |
Input-rad | Mark one circle as selected. Valid on first "+" used. |
Specification | Effect |
---|---|
(Help) | Add "Help" text to a row |
(-Help) | Force "Help" text on same row as previous "Input-KEY" |
(Help\Desc) | Add "Help" to a row, then BR (\), then Desc (new row) |
---Help--- | Add "Help" text header row, by itself (full width) |
---Help on | |
feature --- | Multiline "Help" row uses label "Tip:" |
-->Right--- | Right justify comment |
--<Left--- | Left justify comment |
---Center--- | Centered comment (default) |
vertical bar | To have a field label have a "title=help-text". Use after any Input-key. |
Note |
---|
"()" comments must be on a separate line and must come after an "Input-KEY". The header row comment (---) must be on a separate line but can be placed anywhere after "Post-form". |
Input-key: + | New label using TD for each value.7 |
Input-key: - | force input into previous (table row). |
Input-key:: | new line w/o label. Useful for one label, several rows. |
Input-key: \ | force input into previous block but insert "<BR>" first. |
Input-key: . | force input into previous (table row) but use TD. |
7 Default is to treat field value side of table as one TD that can
contain multiple values (using continuation).
The default form is embedded in an HTML table. With the default, the table style elements apply, giving you freedom to change the form by changing the css file. If you specify:
Post-form-plain |
Minio will not use a table. Only the form_label, form_label_plain, and form_comment_plain css elements will apply. The "" and "." continuation specifiers don't apply. Inputs and comment lines can be joined on line line. The fieldset tag is used.
With the default table based form, you can use the special characters and other directives to control the layout of the form.
Post-form-noclass |
This creates a form without all of the alignment/classes used in the default form. The only classes used are form_tip_wide and form_comment. Using this type of form for specially aligned forms (multi-column) will not work properly. It is best used for simple forms going into web sites as includes. And, it uses the legend tag rather than TD for the form name. The fieldset tag is used.
Post-form/500: Sample:https://www.minio.sw/bin/run.pl --- This is the Post-Form Example--- Input-form:+Name: name:10 Input-form:.Title: title:10 Input-menu:+Days Available: day: +Monday, Tuesday, Wednesday, Thursday Input-menu:.Time: time: 00-23 Input-lab: Telephone Input-form:-Area code:area:3 Input-form:-Number:pre:3 Input-form:-:numb:4 Input-form:-Ext:ext:4 Input-lab: Nicknames Input-form::nick1 Input-form::nick2 Input-form::nick3 Input-submit: |
Notice how the table is aligned as compared with the form in the other example.
You are responsible for proper alignment - be careful not to misalign. If you start your form with one aligned label/value and one continued aligned label/value, you will end up with four columns. |
For example, the following (in context of the sample form):
Input-menu:.Time: time: 00-23 Input-menu:.Year: year: 2000-2004 |
you will cause a misalignment. Non-aligned labels/values are not affected by this.
- The format "[Click Here]" adds a submit button wherever you place it. An example is...
To proceed now, [Click this button] and the action will be performed. |
You put the line anywhere within the FORM scope. The above line will be written within the FORM block and will have a button containing the text between the square brackets.
< 7 Variables |
Minio supports the use of variables within the text file. They can be used in any line of the text file. You specify them as follows.
{variable-name} |
You can use optionally use a hyphen or underscore in the middle of the name. The variable name may contain only alphanumeric characters.
For example, I could write "call kd if you have problems". Then, minio would ask me what to put for kd.
Note |
---|
If you need to use the curly brackets, just escape the "{" with a backslash so the text following isn't treated as a variable. See example below. |
Use the backslash as in \{escape this}. |
They won't be treated as variables and minio will remove the "\".
- Reserved Variables
The following table lists the reserved variables. Currently, there is just one.
Variable | Purpose |
---|---|
date | Replace with current date |
time | Replace with current time |
org | Replace with organization from text file |
author | Replace with author from text file |
dept | Replace with department from text file |
title | Replace with title from text file |
!sN | Replace "!sN" with N number of " " |
The !s variable is dynamic. It is useful for spacing text on a page where a table or other mechanism won't work. See the example below.
John N. Doe Jan. 15, 2003
< 8 This |
< 9 This job |
< 10 This can b |
< 11 THis could b |
Created by minio