SCoT should be an open internet content management system which can be administered just with a file manager, a text editor and a command shell. The user builds up his content files on the file system. SCoT runs through it and builds up the HTML-pages using the content files. No database or other server software will be needed to manage contents this way.
Output generated for creating compiled HTML help files (.chm files) and for creating JavaHelp should also be possible.
The goals in detail are:
In the beginning we do some definitions.
Source files have to be in that folder which is set by the user and in the following named '.' for reference. This folder consists of the following:
In the following are some statements which define the rules of the file structure:
Hypertext style works top to bottom. First there are global descriptions which hold links to more specific descriptions. In the following are rules to form hypertext style.
Book style is more sequential than hypertext style and should be used for printing only.
There are much more things to take into account than in hypertext style. As header depth in HTML is limited to 6 levels you have to organize your contents in a more complicated way.
Every file in ./contents that holds content has .scot as its name suffix. Every file that holds content has a defined structure (see the tables below).
Say that a folder is named "topicA". The first file processed in this folder will be the file named "topicA.scot". This is how the file is composed.
Line No. | used as |
---|---|
1 | the CSS definition like media=filename[;
media=filename]* |
2 | the documents <title> ; this line will also
be displayed, when another document refers to it |
3 | as convention, this line holds the title which is displayed in
the document and is marked as <h1> ; this
line should therefore beginn with 1 |
4 | as convention, this line holds the subtitle which is displayed
in the document and is marked as <h2> ; this
line should therefore beginn with 2 |
5+ | short description of the hole folder topic; each line will be treated like real content of a file listed in content.order; with this line the overview begins |
Each file that is listed in content.order will be processed like this. At first there is an anchor made from the file name. Then the content will follow.
Line No. | used as |
---|---|
1 | as convention, this line holds the heading for the following
text which is marked as <h3> ; this line
should therefore beginn with 3 |
2+ | the real content; each line will be marked as the first sign indicates (see the following table) |
first sign | meaning |
---|---|
1 | marks a heading line which gets the tag
<h1> |
2 | marks a heading line which gets the tag
<h2> |
3 | marks a heading line which gets the tag
<h3> |
4 | marks a heading line which gets the tag
<h4> |
5 | marks a heading line which gets the tag
<h5> |
6 | marks a heading line which gets the tag
<h6> |
# | comment; may contain CGI commando |
' ' | the space sign shows an usual paragraph
<p> |
? | definition list term element <dt> |
. | definition list definition element <dd> |
| | marks a table cell (<td> ) every cell in this
line should be separated by \t |
! | marks a table header cell (<th> ) every cell
in this line should be separated by \t |
- | unordered list element (<li> ); may be
substructured with + or - |
+ | ordered list element (<li> ); may be
substructured with + or - |
_ | horizontal line <hr/> ; there may not be
further text in this line |
@ | anchor <a> ; must be followed by the name of
the anchor |
~ | include fragment; must be followed by the name of the fragment |
> | marks a division <div> ; may be
substructured with any of the previous meanings |
{ | marks the attributes for the following meaning;
must be ended with } and followed by any of the
previous meanings; contains a semicolon seperated list of
name-value-pairs for attributes of the following meaning (i.
e. name , id or
class ) |
Commando sequences are allways enclosed with curly brackets. First the commando followed by its parameters. Commando and parameters are seperated by semicolon. Take this for instance: {commando; parameter1; parameter2; ...}. Parameters may also consist of commando sequences. Parameters in brackets are optional.
Commando | Parameters | Description |
---|---|---|
img |
|
inserts an image |
a (link) |
|
inserts a link |
(HTML-)entity | none | inserts the HTML entity with the given name or number
(#160 for example) |
# (comment) |
|
inserts a comment |
< | none | inserts a line break (<br /> ) |
The content.order files define the order in which contents are filled into the HTML-document.
The syntax is easy. Every line holds one filename. The first line will be processed first and the last one last.
Every file in ./frames that defines a frameset has .scot as its name suffix. Every such file has a defined structure (see the tables below).
Line No. | used as |
---|---|
1 | the CSS definition like media=filename[;
media=filename]* |
2 | the documents <title> |
3 | the frameset definition (like rows=135, *, 55 or
cols=200, * ) |
4 bis (Anzahl Frames + 3) | one frame per line; the following parameters are seperated by
semicolon:
|
(Anzahl Frames + 4) + | the syntax of the noframes definition is like the one for usual content files that are listed in content.order |
There are some fragments that are always there. Fragements are pure content. Fragement file names consists of the fragments name and .scot as a suffix. Fragment files are placed in ./fragments.
fragment | description |
---|---|
pageHeader | is automatically inserted as the very first content in any HTML document |
pageFooter | is automatically inserted as the very last content in any HTML document |
The URL that is given in the base tag of every resulting HTML document should be the same and may be given as a command line parameter. The target should be configurable in the properties file.
Location and name of the favicon can be defined in the properties file.
The favicon will be copied to /favicon.ico
by
default.