Simple Content Management Tool (SCoT) 1.0

Specification


Table of Contents

  1. Introduction
    1. Origin and Goals
    2. Terminology
  2. Folder Structure
  3. Contents
    1. Hypertext Style
    2. Book Style
  4. Content Files
    1. Files Named as Parent Folder
    2. Files Listed in content.order
    3. Commando Sequences
  5. content.order Files
  6. Framesets
  7. Fragments
  8. Base Adress
  9. FavIcon

Table of Contents


Introduction

Origin and Goals

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:

Terminology

In the beginning we do some definitions.

content
The content is the plain text which is provided in the internet. Its structure and layout is not part of content.
document
A document works as input for SCoT. It may contain content. It may also contain frameset definitions, images, cascading style sheets or scripts as well.
HTML-document
A HTML-document is the output of SCoT. It holds the contents as HTML ready for deploying in the internet or whereever.
presentation
There are two presentation styles: hypertext and book. Book style results in a few huge HTML-documents with few links. Hypertext style results in many smaller HTML-documents with extensive use of links.

Table of Contents


Folder Structure

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:

./contents
This folder contains all the content files of the homepage. Every file and folder will be processed in a specified order.
./css
This is where to find the cascading style sheets.
./fragments
This folder contains fragments of the HTML documents. Those fragments are included in complete HTML documens for specific reasons, maybe a header or a footer or a navigation bar.
./frames
Every frameset's definition is stored in this folder.
./images
All the images are placed in this folder.

Table of Contents


Contents

In the following are some statements which define the rules of the file structure:

Hypertext Style

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

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.

Table of Contents


Content Files

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).

Files Named as Parent Folder

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

Files Listed in content.order

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

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
  • the name of the image file
  • the text used in the title- and in the alt-attribute
  • [width of the image]
  • [height of the image]
inserts an image
a (link)
  • the text displayed, may be {img; ...}
  • the target file or URL
  • [the target frame of the link]
inserts a link
(HTML-)entity  none inserts the HTML entity with the given name or number (#160 for example)
# (comment)
  • the comment; may be CGI commando
inserts a comment
<  none inserts a line break (<br />)

Table of Contents


content.order Files

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.

Table of Contents


Framesets

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:
  • name of the frame
  • name of the initial HTML-document
  • scrolling attribute (no, yes, auto)
(Anzahl Frames + 4) + the syntax of the noframes definition is like the one for usual content files that are listed in content.order

Table of Contents


Fragments

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

Table of Contents


Base Adress

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.

Table of Contents


FavIcon

Location and name of the favicon can be defined in the properties file. The favicon will be copied to /favicon.ico by default.

Table of Contents


© 2004 by Kai Görnt