SiteLite 3.0

Børre Stenseth, January 05, 2004

Extract from:http://www.ia.hiof.no/~borres/sitelite/ver30/


Welcome
The_Idea
Content
Structure
Layout
Elements
The_Script
Sample
SITEVERSION
SITENAME
SITECATALOG
SITEURL
RESOURCES
SITEEDITOR
KEYWORDS
OPTIONS
ATEMPLATE
REPLACE1
REPLACE2
PRECOPY
POSTCOPY
INDEXWORDS
COLLECTION
Pageline
Pagetip
Blockline
Friendsline
Elements
Block-related_elements
Elements_which_takes_values_from_scriptlines
Elements_which_takes_values_from_pagelines_in_script
Elements_which_relates_pages
Elements_which_takes_tables_of_content
Elements_related_to_collections
Pretty_print
Other_elements
SL_BLOCK
SL_BLOCK
SL_IMPORT
SL_PATCH
SL_SITENAME
SL_SITEEDITOR
SL_SITEURL
SL_PAGETIP
SL_PAGENAME
SL_PAGEAUTHOR
SL_PAGENAME
SL_POUP
Explanation
Eksempler
SL_XREF
Eksempler
SL_NEXT
SL_PREV
SL_HOME
SL_PARENT
SL_FRIENDS
SL_CONLIST
SL_FULLTOC
SL_SINGLETOC
SL_LOCALTOC
SL_FULLPAGETOC
SL_FINALPAGETOC
SL_TRAIL
SL_INDEX
SL_INX
SL_COLLECTION
SL_PRINTABLE
SL_PRINTLIST
SL_STAMP
SL_DATE
SL_PAGENO
SL_PAGECOUNT
SL_TOTOP
SL_KEYWORDS
Mark_Up
Thinking_XML
Thinking_HTML
Technical_summary
X-Refs
Refs_in_the_script
X-Refs_on_pages
Image_Refs
Templates
Standard
Using_templates
Frames
Resources
Gifs
Stylesheet
Hardcoded_styles
Page_relevant_table_of_contents
Site_map
PageLocal_TOC
Single_TOC
Index
Friends
Template_styles
sitename
mainfooter
leftfooter
General_styles
Examples
User_Centered_Program_Design
Pedagogy_and_Technology
Grafisk_databehandling
Vi_på_Vindusrekka
EL-Verk
Recipes
Download_and_Updates
Downloads
Updates
Converting
References

Welcome

SiteLite is a program that:

If you want to examine some examples, look at the page Examples.

If you want to test it, you can download from the Download.
SiteLite is freeware.

The Idea

Content ] [ Structure ] [ Layout ] [ Elements ]

SiteLite is based on the following design philosophy:

In general SiteLite operates according to the following illustration when a page is built:

philosophy

The script contains lines that associates a page with blocks of content, and a template.

Content

The content is written in the block-files. The content is any legal html text. The content may be prepared in any text-editor or html-editor. A page may be built with any number of blocks. A block-file may consist of one or more identifyable blocks, each with an address-label, a target. The template is assumed to have matching address-labels and the associated blocks are pasted into the template. Blocks may also be anonymous, that is without a target assignement. In that case they are by default routed to a general SL_BLOCK-address in the template.

Structure

The structure of the site is described in the script-file. The structure is basically a combination of hierarchy and sequence. The sequence is described by the sequence of the page definitions in the script, and the hierarchy by the levels of the pages, which is a part of the page description.

Layout

The layout of the pages are described by the templates and the associated style sheet and graphical resources. The template organise the overall structure of the page and routes the blocks to the appropriate places. The graphical resources are imagefiles like arrows, logo, background etc which are used by the templates. The style sheet defines mainly text styles, text colors etc.

All templates, stylesheets and graphics may be (re)defined by the user. SiteLite comes with a default standard set of such resources to make it easy to get started.

Elements

To realise this strategy, and at the same time, give the user a large amount of freedom, SiteLite must rely on some information placed in the involved files. This information is described as XML-elements. For instance in a block a typical element is.

<SL_BLOCK TARGET="SL_INGRESS">this is the ingress</SL_BLOCK>
 

and the matching element in the template has one of the two following forms:

<SL_INGRESS>this is where the ingress will be put</SL_INGRESS>

<SL_INGRESS/>

In the former case the content of the receiving elements is changed. In the latter case the entire element is replaced by the ingress.

It is up to the user to decide wether the SiteLite-elements should be removed completely from the generated pages or not. They should be removed if you want to validate your pages as strict html. By default SiteLite makes a complete cleanup of all SiteLite-tags in all generated pages. This may be hindered by the scriptline:

 OPTIONS:KEEPTAGS
 

The page Elements describes the form of the elements in detail, and it describes the available elements in SiteLite.

The Script

Sample ]

A SiteLite script is a series of lines of different types. The order of pagelines and asociated block-lines must be according to the inherent dependencies and sitestructure. Except from that lines may appear in any order. Blank lines and lines starting with // are ignored.

Click on the bullet to see a full explanation of the scriptline and its intended use.

hitme SITEVERSION:3
hitme SITENAME:sitename
hitme SITECATALOG:sitecatalog
hitme SITEURL:siteurl
hitme RESOURCES:rescat
hitme SITEEDITOR:siteeditor
hitme KEYWORDS:keyw[,keyw[...]]
hitme OPTIONS:option[,option]
hitme ATEMPLATE:type,location
hitme REPLACE1:out,in
hitme REPLACE2:left,right,in
hitme PRECOPY:from,to
hitme POSTCOPY:from,to
hitme INDEXWORDS:[indexname,]location
hitme COLLECTION:collectionname,leftpar,rightpar
hitme pagelevel,pagename[,type[,location[,author[,message[,option]]]]]
hitme    PAGETIP:text
hitme    BLOCKS:location[,location[...]]
hitme    FRIENDS:pageid[,pageid[...]]


Sample

A very simple script without own templatedefinitions. The site use only pagetypes (I,P,PRINTALL) which will produce "standard" templates automatically. No replaces, no collections, no options.

Note that the printpage has level 0. This indicates that the page will be built, but not included in the sitestructure, it will not appear in tables of contents.

// Scriptfile for website MySite
// General site section

SITEVERSION:3
SITECATALOG:C:\mysite3\
KEYWORDS:sitelite,website
SITENAME:MySite
SITEEDITOR:<a href="mailto:my.self@home.net">My Self</a>

// Page section

1,Home,I,index.html
BLOCKS:blocks\b-index.html

1,Sitemap,P,pages\toc.html
BLOCKS:blocks\b-toc.html

1,Page1,P,pages\pageone.html
PAGETIP:This page describes the fundamental issues
BLOCKS:blocks\b-page1.html

1,Page2,P,pages\pagetwo.html
BLOCKS:blocks\b-page2.html

// a print-page, not included in structure

0,All Pages,PRINTALL,pages\allpages.html
BLOCKS:blocks\b-allpages.html


SITEVERSION

mandatory and only once i a script

SITEVERSION:3

Must be exactly like this


SITENAME

mandatory and only once i a script

SITENAME:sitename

sitename is the name of your site. This name will be set as the content of element SL_SITENAME.

Examples

SITENAME:mysite


SITECATALOG

mandatory and only once i a script

SITECATALOG:sitecatalog

sitecatalog is the catalog on disk where you want to build your site. All relative filepaths and urls in other lines of the script is relative to this catalog.

Examples
SITECATALOG:c:\mysite\

SITEURL

optional and only once i a script

SITEURL:siteurl

siteurl is the url where you will finally publish your site. This value will be placed as content of element SL_SITEURL.

Examples
SITEURL:http://www.hiof.no/~borres/sitelite

RESOURCES

optional and only once i a script

RESOURCES:resourcecatalog

resourcecatalog is the catalog on disk where you store all the resources that are referenced as being in catalog gfx in your templates (and blocks). Must be relative to sitecatalog, or an absolute URL. See the page: Resources.

Default resourcecatalog is gfx

Examples
RESOURCES:gfx
RESOURCES:afx
RESOURCES:../othersite/afx
RESOURCES:http://www.ia.hiof.no/~anyones/nonsens/afx

SITEEDITOR

optional and only once i a script

SITEEDITOR:siteeditor

siteeditor is the name, reference or mail to the editor of the site. This value will be placed as content in element SL_SITEEDITOR.

Examples

SITEEDITOR:my self
SITEEDITOR:<a href="scripts/my.place.net/~my.self">My Site</a>
SITEEDITOR:<a href="mailto:my.self@myplace.net">Mail me</a>
or
SITEEDITOR:scripts/my.place.net/~my.self
SITEEDITOR:mailto:my.self@myplace.net
depending on how the receiving element, SL_SITEEDITOR, is placed in the template.


KEYWORDS

optional and only once i a script

KEYWORDS:keyword[,keyword[..]]

Any number of commaseparated keywords. Will be placed in the element SL_KEYWORDS.

Examples
KEYWORDS:sitebuilder,html,xml

OPTIONS

optional

Purpose is to control some decisions in a buildprocess, which enhance the functionality of SiteLite.

OPTIONS:option[,option].
The options are:

Examples

OPTIONS:KEEPTAGS


ATEMPLATE

optional and as many times as required i a script

Purpose is to introduce other templates than the standard templates, see page: Templates.

ATEMPLATE:type,location

type is any string you intend to use as identifier for this template in pagelines in the script.

location is any relative (to the sitecatalog) or absolute fileaddres or relative (to the sitecatalog) or absolute URL for the template file.

Note 1 All templates collected from an absolute URL are copied to the templates-catalog each time the script is executed. If you edit this local copy, you should correct the location accordingly or disconnect the internet to avoid that your changes are lost in the next build.

Note 2 Unless you have good reasons for it, all templates you introduce should be placed in the templates- catalog, and all images they refer should be placed in the gf x-catalog. This strategy ensures that SiteLite is able to correct all references without naming conflicts when a template is used to build a page.

Examples

ATEMPLATE:xyz,templates/nf_xyz_template.html
ATEMPLATE:LIST,c:\mytemplates\nf_xyz_template.html
ATEMPLATE:stolen,http://www.ia.hiof.no/~borres/gb/g fx/nf_p_template.html


REPLACE1

optional and as many times as required i a script

Purpose is to make a replace in the built pages. This has no effect on the building blocks, the source material.

REPLACE1:out,in

out is any string you want to replace.

in is the replacement.

REPLACE1 can also have the following form to allow commas in the in and/or out strings:

REPLACE1:SEPARATOR=|:out|in
where | can be any character that does not appear in in or out. And it cannot be # or :.

If in starts with # the rest is interpreted as a location, a relative or absolute filepath or a relative or absolute URL. The content of this file is used as replacement.

Replaces are done late in the building process, after assembly of all block-files, after imports, after indexes are built and after all tables of contents is built. It is done before general collections and printpages.

Examples

REPLACE1:h1>,h2>
REPLACE1:<a href="mailto:myself@myplace.no">myself</a>,myself REPLACE1:SEPARATOR=&:oranges, bananas&apples,pears REPLACE1:oranges,#C:\fruit\fruitlist.txt


REPLACE2

optional and as many times as required i a script

Purpose is to make a replace in the built pages. All strings that are enclosed by two other strings are replaced. This has no effect on the building blocks, the source material.

REPLACE2:left,right,in

left is any string that serves as left bracket.

right is any string that serves as right bracket.

in is the replacement.

REPLACE2 can also have the following form to allow commas in the in and/or out strings:

REPLACE1:SEPARATOR=|:left|right|in
where | can be any character that does not appear in in or out. And it cannot be # or :.

If in starts with # the rest is interpreted as a location, a relative or absolute filepath or a relative or absolute URL. The content of this file is used as replacement.

Replaces are done late in the building process, after assembly of all block-files, after imports, after indexes are built and after all tables of contents is built. It is done before general collections and printpages.

Examples

REPLACE2:<!--message-->,<!--/message-->,This site is under construction REPLACE2:<a href="mailto:,">myself</a>,mytempmail@mytempplace.no REPLACE2:SEPARATOR=&:oranges, bananas&, pears&, apples


PRECOPY

optional and as many times as required i a script

Purpose is to copy files prior to building. This may be usefull when sites have some kind of dependencies.

PRECOPY:from,to

from any legal location, filename, url or catalogname

to any legal location, filename, url or catalogname

Examples

PRECOPY:d:\mycat\myfile.html,c:\yourcat\myfile.html
PRECOPY:d:\mycat\templates\,templates\
PRECOPY:http://www.x.y/~my/z/source.txt,c:\newsite\sourcefiels\source.txt


POSTCOPY

optional and as many times as required i a script

Purpose is to copy files after building. This may be usefull when sites have some kind of dependencies.

POSTCOPY:from,to

from any legal location, filename, url or catalogname

to any legal location, filename, url or catalogname

Examples

POSTCOPY:d:\mycat\myfile.html,c:\yourcat\myfile.html
POSTCOPY:d:\mycat\templates\,templates\
POSTCOPY:http://www.x.y/~my/z/source.txt,c:\newsite\sourcefiels\source.txt


INDEXWORDS

optional and as many times as is required

Purpose is give SiteLite a list of words to build in an indextable from. The index table is placed as the content of an element: SL_INDEX.

Note that the use of elements SL_INX in the text is a better way to control limited indexing.

INDEXWORDS:[indexname,]location

indexname is optional and identifies the index these words will be presented in. Default is index1.

location is any relative (to the sitecatalog) or absolute fileaddres or relative (to the sitecatalog) or absolute URL for a file containing words theat will appear in the index. The content of this file in location is pure ascii-text. Each line contains a word with synonyms. The first word on the line will appear in the indextable.

Examples

Lines may look like this

   INDEXWORDS:awordfile.txt
   INDEXWORDS:thewordix,awordfile.txt

A file may look like:

   Shadows,Shadowing,shadows,shadowing
   Boil,boiled,boil,boiling

COLLECTION

optional and as many times as is required

Purpose is to order SiteLite to collect a list of any content that are eclosed in any kind of brackets. The collection will be placed as content in a SL_COLLECTION element.

COLLECTION:collectionname,leftpar,rightpar

collectionname the name of the collection that will identify it to the SL_COLLECTION element.

leftpar is any text that serves as left bracket for the content to collected.

rightpar is any text that serves as right bracket for the content to collected.

Examples

COLLECTION:Formulas,<!--Formula-->,<!--/Formula-->
COLLECTION:SpecialImages,<!--collectimage-->,<!--/collectimage-->
COLLECTION:descriptions,<h5>,</h5>
COLLECTION:tasks,<div class="task">,</div>


Pageline

mandatory, at least 2

A pageline describes a page. It will normally be followed by one or more BLOCK-lines that describes the content.

pagelevel,pagename[,type[,location[,author[,message[,option]]]]]

pagelevel controls the structure of the site. Pages with level m will be considered as children of prevoiuos pages with level less than m. Pages with level 0 will be built, but will not be included in any kind of table of content. Level 0 pages are usefull for pop-ups and framecontents.

pagename is the name of the page. The pagename may be used as reference.

type is the type of template the page will be built upon. This may be a standard template or any template you have defined by a ATEMPLATE-line in the script. See page Templates.

location is any fileaddress relative (to the sitecatalog) or absolute fileaddres or relative (to the sitecatalog) URL. If the location is an absolute URL the page will not be written or built, only referenced.

author is any text that identifies the author of the page. See element SL_PAGEAUTHOR.

message is any text that will be inserted in element SL_PAGEMESSAGE.

option control two issues: build and tagging.

If a page has only level and name, the pagename will simply appear as a heading in tables of contents.

Examples

1,Welcome,I,index.html
  BLOCKS:source/b-index.html
2,Poo,P,pages/page1.html,Winnie The Poo,The pathces are honey
  BLOCKS:source/b-poo.html
2,Myself,P,pages/mp.html
  BLOCKS:source/b-mypage.html
1,A page,P,pages/pagep.html,,,KT
1,SiteMap,C,pages/toc.html
  BLOCKS:source/b-toc.html

BLOCK-lines included to make the sequence meaningfull.


Pagetip

optional

A pagetip is a simple unformatted text that will appear as a title-attribute in a href-element refering to the page. The pagetip will be included in tables of contents.

A page's pagetip is also available on the page itself in the element: <SL_PAGETIP/>.

PAGETIP:text

The text is normally rather short. If it is naturally to split a line a & will bind the line to the next.

Examples

1,Welcome,I,index.html
  PAGETIP:This page is a nice example of&
  the kind of page you will find on sites like this
  BLOCKS:source/b-index.html,source/b-news.html
2,Poo,P,pages/page1.html,Winnie The Poo,The pathces are honey
  PAGETIP:just a patch
  BLOCKS:source/b-poo.html

Pagelines included to make the sequence meaningfull.


Blockline

tecnically optional. any number of lines associated to the page line above them

A blockline describes any number of blockfiles that serves as source for the content of the page described in the preceding pageline. Each block-file may contain any number of SL_BLOCK elements of any type. A block-file may be used by many pages.

BLOCKS:location[,location]

location is any fileaddress relative (to the sitecatalog) or absolute fileaddres or relative (to the sitecatalog) URL or absolute URL.

If the location is an absolute URL the file will be copied to a catalog called imported in the sitecatalog. The catalog structure within imported will match the structure in the URL. Contained images are copied as well. If you run SiteLite off-line the local copy will be used when building.

Non-existing blocks will be established with a content that simply indicates the location of the block.

If SiteLite does not find any SL_BLOCK elements to extract from in a blockfile, it will normlly use the compete file as a block.

A block-line may have alternative forms:

This way we can extract material from published and validated files and we can extract material from files prepared for version 2 of SiteLite.

Examples

1,Welcome,I,index.html
  BLOCKS:source/b-index.html,source/b-news.html
2,Poo,P,pages/page1.html,Winnie The Poo,The pathces are honey
  BLOCKS:source/b-poo.html
2,Myself,P,pages/mp.html
  CBLOCKS:source/b-mypage.html
  BLOCKS:source/b-mypage-second_part.html
1,SiteMap,C,pages/toc.html
  BLOCKS:source/b-toc.html

Pagelines included to make the sequence meaningfull.


Friendsline

optional

A friends-line describes any number of pages that the page in the preceding pageline will have a special association to. For instance indicating that the content relies on the fact that readers are familiar with the content on the other pages.

Friends may be referenced by name or by location

FRIENDS:pagename[,pagename]
FRIENDS:location[,location]

Examples

1,Welcome,I,index.html
  BLOCKS:source/b-index.html,source/b-news.html
2,Poo,P,pages/page1.html,Winnie The Poo,The pathces are honey
  BLOCKS:source/b-poo.html
  FRIENDS:pages/mp.html
2,Myself,P,pages/mp.html
  BLOCKS:source/b-mypage.html
  BLOCKS:source/b-mypage-second_part.html
  FRIENDS:Poo
1,SiteMap,C,pages/toc.html
  BLOCKS:source/b-toc.html

Pagelines and blocklines included to make the sequence meaningfull.

Elements

All elements may have short or complete form. All elements may have an optional attribute: APPEND If this attribute has the value OFF, the present content is replaced with the new content. If this attribute has the value ON, the new content is added to the content already present and if the new content is empty the preset content is removed. OFF is default.

Optional attributes are shown as ATT. Default attribute values are shown as VALUE. Click on the bullet to see a full explanation of the element and its intended use.

Block-related elements

hitme <SL_BLOCK TARGET="tagname" WRAPPER="file"> content </SL_BLOCK>
hitme <SL_BLOCK WRAPPER="file" SHOWTAGS="OFF"/>
hitme <SL_IMPORT FILENAME="file" ELEMENT="tag" WRAPPER="file" SHOWTAGS="OFF"/>
hitme <SL_PATCH FILENAME="file" SHOWTAGS="OFF/>

Elements which takes values from scriptlines

hitme <SL_SITENAME/>
hitme <SL_SITEEDITOR/>
hitme <SL_SITEURL/>
hitme <SL_PAGETIP/>

Elements which takes values from pagelines in script

hitme <SL_PAGENAME UNBREAK="OFF"/>
hitme <SL_PAGEAUTHOR/>
hitme <SL_PAGEMESSAGE/>

Elements which relates pages

hitme <SL_POPUP FILENAME="filename" NAME="name" STYLE="style" REF="ON" />
hitme <SL_XREF PAGE="pageid" TARGET="name"/>
hitme <SL_NEXT FULL="OFF"/>
hitme <SL_PREV FULL="OFF"/>
hitme <SL_HOME FULL="OFF"/>
hitme <SL_PARENT FULL="OFF"/>
hitme <SL_FRIENDS COLS="1"/>
hitme <SL_PAGEURL/>

Elements which takes tables of content

All elements in this group takes an optional attribute: TARGET="name". This attribute has effect on framebased solutions only.

hitme <SL_CONLIST BULLET="OFF" HILITEBULLET="OFF"/>
hitme <SL_FULLTOC COLS="3" MIN_LEVEL="1" MAX_LEVEL="1000"/>
hitme <SL_SINGLETOC COLS="3" MEMBERS="SIBLINGS"/>
hitme <SL_LOCALTOC SHOW="ON" LEVEL="2" WIDTH="60"/>
hitme <SL_FULLPAGETOC/>
hitme <SL_FINALPAGETOC/>
hitme <SL_TRAIL REMOVESINGEL="OFF"/>

Elements related to collections

hitme <SL_INDEX COLS="4" REFERENCE="ON" SORT="ON" INDEXNAME="index1"/>
hitme <SL_INX WORD="word" INDEXNAME="index1"/>
hitme <SL_COLLECTION COLLNAME="name" LINESEPARATOR="<br/>" REFERENCE="OFF"/>

Pretty print

hitme <SL_PRINTABLE> content </SL_PRINTABLE/>
hitme <SL_PRINTLIST PAGES="ALL" PAGETOC="OFF" TEXTONLY="OFF"/>

Other elements

hitme <SL_STAMP />
hitme <SL_DATE LANGUAGE="ENGLISH"/>
hitme <SL_PAGENO/>
hitme <SL_PAGECOUNT/>
hitme <SL_TOTOP/>
hitme <SL_KEYWORDS/>


SL_BLOCK

SL_BLOCK placed in a blockfile: The purpose is to route contents from the blockfile to a template.

APPEND has no meaning and the short form, without content, has no meaning.

Note that any elementname that matches a TARGET attribute value in the template file may be used to recive content. For clearity and consistence a targeted elementname should start with SL_. This is also necessary for SiteLite to clear all traces of SiteLite-tagging in a finished page.


SL_BLOCK

SL_BLOCK placed in a template file: The purpose is to receive contents from block files.

Note that any elementname that matches a TARGET attribute value in a block file may be used to recive content. For clearity and consistence a targeted elementname should start with SL_. This is also necessary for SiteLite to clear all traces of SiteLite-tagging in a finished page.


SL_IMPORT

This tag may appear in a source file or a template file. The purpose is to import an element from a file.

Examples
<SL_IMPORT FILENAME="myarticle.xml" ELEMENT="INGRESS"/>

SL_PATCH

This tag may appear in a source file or a template file. The purpose is to fetch a file as the elements content.

Examples
<SL_PATCH FILENAME="mytext.txt"/>
<SL_PATCH FILENAME="myprogam.java" SHOWTAGS="ON"/>

SL_SITENAME

The purpose is to place the value from the scriptline:
SITENAME:sitename.

APPEND="OFF" | "ON" applies with "OFF" as default.


SL_SITEEDITOR

The purpose is to place the value from the scriptline:
SITEEDITOR:siteeditor.

APPEND="OFF" | "ON" applies with "OFF" as default.


SL_SITEURL

The purpose is to place the value from the scriptline:
SITEURL:siteurl.

APPEND="OFF" | "ON" applies with "OFF" as default.


SL_PAGETIP

The purpose is to include the text which is associated with the page in the script as a PAGETIP-line.

No attributes.


SL_PAGENAME

The purpose is to place the name of this page.

The name is the second parameter on a pageline in the script.

APPEND="OFF" | "ON" applies with "OFF" as default.


SL_PAGEAUTHOR

The purpose is to place a reference or name of the author of the page, wich may be set for each page individually.

The author is the fifth, optional, parameter on a pageline in the script.

APPEND="OFF" | "ON" applies with "OFF" as default.


SL_PAGENAME

The purpose is to place a message wich may be set for each page individually.

The message is the sixth, optional, parameter on a pageline in the script.

APPEND="OFF" | "ON" applies with "OFF" as default.


SL_POUP

The purpose is to facilitate simple popup-windows.

Explanation

<SL_POPUP FILENAME="apopfile.html" NAME ="a simple example" STYLE="astyle"/>

will produce the following code:

<span class="astyle">
<a href ="javascript:simplepopup('apopfile.html','CodePop','*')">
   a simple example</a>
</span>
<SL_POPUP FILENAME="apopfile.html" NAME ="a simple example" STYLE="astyle" REF="OFF"/>

will produce the following code:

<span class="astyle" Onclick()="javascript:simplepopup('apopfile.html','CodePop','*')">
   a simple example
</span>

If the referenced javascript function is not present (the string: "function simpepopup" does not exist) on the actual page, the following javacode is inserted:

<script language="JavaScript" type="text/javascript">
function simplepopup(url,wname,wstyle)
{
	if(wstyle=="*")
		wstyle='scrollbars=yes,resizable=yes,width=600,height=600,status=0';
	newwindow=window.open(url, wname, wstyle);
	if (window.focus) {newwindow.focus()}
}
</script>

The code will produce a popupwindow which is allways in front. When called again the content will be swapped with the new file, and the popup will be brought in focus.

It is obviuos that you may write an other version of simplepopup to achive other effects. It is also obvious that you may use this function directly, without using SL_POPUP.

Eksempler

<SL_POPUP FILENAME="apopfile.html" NAME ="a simple example" STYLE="astyle"/>
<SL_POPUP FILENAME="apopfile.html" STYLE="astyle"/>
<SL_POPUP FILENAME="apopfile.html"/>
<SL_POPUP FILENAME="apopfile.html" NAME ="a simple example" STYLE="none"/>

SL_XREF

The purpose is to place a link to another page within the site.

Eksempler

<SL_XREF PAGE="First page"/>

     translates to
<a href="pages/page1.html" title="page's pagetip">First page</a>

<SL_XREF PAGE="First page"/>a text</SL_XREF>

     translates to
<a href="pages/page1.html" title="page's pagetip">a text</a>

<SL_XREF PAGE="pages/page1.html"/>

     translates to
<a href="pages/page1.html" title="page's pagetip">First page</a>

<SL_XREF PAGE="pages/page1.html"/>a text</SL_XREF>

     translates to
<a href="pages/page1.html" title="page's pagetip">a text</a>


SL_NEXT

The purpose is to place a link to the next page.

The next page is the next when reading the scriptfile, disregarding all pages with level=0.


SL_PREV

The purpose is to place a link to the previous page.

The previous page is the previous when reading the scriptfile from the top, disregarding all pages with level=0.


SL_HOME

The purpose is to place a link to the home page.

The home page is the first page in the script with level > 0.


SL_PARENT

The purpose is to place a link to the parent page.

The parent page is the first page above this page in the script with level > this page's level.


SL_FRIENDS

The purpose is to produce a linklist for this page containing the pages in the FRIENDS-line(s) in the script.


SL_CONLIST

The purpose is to insert a pagerelative table of contents (TOC)

The TOC will be a typical "left-column" TOC and include:
- all level 1 pages in the site
- all ancestors of the page
- the page itself
- all siblings of the page
- all children of the page

Each entry will be placed in a div-element with style: clevelx, where x is the level of the referenced page. The name of the present page will be styled with: aclevelx.


SL_FULLTOC

The purpose is to insert an exhaustive table of contents (TOC), a sitemap.

Each entry will be placed in a div-element with style: tlevelx, where x is the level of the referenced page.


SL_SINGLETOC

The purpose is to insert a table of contents (TOC), which includes only children or siblings.

Each entry will be placed in a div-element with style: tlevel0.


SL_LOCALTOC

The purpose is to insert a pagelocal table of contents (TOC), in the page.

NOTE that if SiteLite does not find a pagelocal toc-element in a page, it automatically places the following line immediately below the first heading 1 in the page:
<SL_LOCALTOC SHOW="ON" LEVEL="2" WIDTH="60" />
If you want to place it elsewhere or suppress it you must insert a proper localtoc-element yourself.

The local toc wil be placed in a paragrah with style: localtoc.


SL_FULLPAGETOC

The purpose is to insert an exhaustive pagelocal table of contents (TOC), in the page. The toc is based on elements h1 .. h6.

The entries in the toc wil be placed in div-elements with styles tleveln, where n is the level of the entry.


SL_FINALPAGETOC

The purpose is to insert an exhaustive pagelocal table of contents (TOC), in the page. The toc is based on elements h1 .. h6. This is done after elements of type SL_PRINTLIST has been effectuated.

The entries in the toc wil be placed in div-elements with styles tleveln, where n is the level of the entry.


SL_TRAIL

The purpose is to insert a table of contents (TOC), that show this pages ancestors, including the homepage even if it is not an ancestor.

APPEND="OFF" | "ON" applies with "OFF" as default.


SL_INDEX

The purpose is to insert an index with references to pages wich contain words that are marked as indexentries and/or words that appear in the indexwordfile stated in the INDEXWORDS - line in the script.

Each keyword will be placed in a div-element with style: index_keyword, and each index-entry in a div-element with style: index_entry.


SL_INX

The purpose is to mark a word in the text that will be included in an index.

NOTE that the whole element is removed during pagebuild. Thus you should make separate elements to mark indexentries. Do not enclose a word in the running text in the element.

NOTE also that it is possible to instruct SiteLite to build indexes based on words in the file given in the INDEXWORDS - line in the script.

APPEND="OFF" | "ON" does not apply.


SL_COLLECTION

The purpose is to produce collections of material from the site.


SL_PRINTABLE

The purpose is to mark out the content that should be collected from this page when we aggregate a printpage.

No attributes

APPEND="OFF" | "ON" does not apply.

SL_PRINTLIST

The purpose is to collect material from any selection of readybuilt pages to produce an aggregated page, usually with the purpose to make a printable page.


SL_STAMP

SiteLite insists to leave its fingerprint somewhere in the site. You can control where with this element.

APPEND="OFF" | "ON" applies with "OFF" as default.

You can also wrap this in a style of your liking.


SL_DATE

The purpose is to insert the building date.


SL_PAGENO

The purpose is to place the number of this page.

A pages number means the rank of the page as counted from top in the script, disregarding all pages with level=0.

APPEND="OFF" | "ON" applies with "OFF" as default.


SL_PAGECOUNT

The purpose is insert the number of pages in the site.

All pages with level > 0 is counted

APPEND="OFF" | "ON" applies with "OFF" as default.


SL_TOTOP

This element will be replaced with a link to the top of the page.

Assumes that the anchor "#TopOfPage" exists.
The reference will manifest itself as an arrow: up.gif, from the gfx-catalog.


SL_KEYWORDS

This element will be replaced with the comma separated list of keywords from the scriptline KEYWORDS.

Mark Up

Thinking_XML ] [ Thinking_HTML ] [ Technical_summary ]

The strategy for tagging in SiteLite is a compromise between the ideal and the practical. It is fairly obviuos that later versions of SiteLite will be a true XML-oriented tool. This will among other things imply enhanced control and precision in description of templates, scripts and contentblocks. The limited general knowledge of XML and the lack of good XML-editors is the reason for SiteLite's halfhearted approach to XML.

The present version of SiteLite, version 3, opens up for a a lot of the possibilities inherent in a true XML-world, but does at the same time allow for a traditional HTML-based thinking. The major drawback of the compromise is a vague control of document structures and a lack of editing support.

Thinking XML

Think of the templates and the blockfiles as XML-files. SiteLite is in this context a tool for moving blocks among XML-files, merging, rearranging and splitting. The resulting files may or may not appear as XML-files. That is the tags may or may not be preserved, se bottom of page.

As a XML-tool SiteLite does not reckognize a full DOM-structure, and it does not bother about other namespaces than its own inherent namespace. It simply moves elements which it knows and produce a set of new elements (tocs, trails, indexs etc.). This of course limits the functionality, but it simplifies the basic operations it is designed for considerably.

If you like you may use any XML-tool to produce contentfiles, and you may use any XML-tool on the resulting pages. You may for instance make a dtd and use a dtd-sensible editor to produce blockfiles, and you may make a XSL-transform on the resulting pages.

Some browsers reckognise XML as legal content and together with a stylesheet they produce readable pages. Other browsers demand HTML. Most browsers will ignore tags in a HTML-page that is not defined HTML. It will however be a problem to validate such pages.

Thinking HTML

Think of the templates as HTML-files and the blockfiles as text/html. SiteLite was originally, and is still, foremost a tool for producing structures of HTML-pages where the layout and the content of each page may be prepared separately.

SiteLite 3 offers a lot of flexibility in tagging style to allow users to validate templates, resulting pages and even blockfiles at the level wanted. To achieve this SiteLite allows tagging as commented tags, se below.

Technical summary

Element may appear in comments or as pure elements, as short elements or complete elements with starttag and endtag.

Uncommented Commented
  <tag/>
  <tag>content</tag>
  <!--tag/-->
  <!--tag-->content<!--/tag--> 

The scriptline

 OPTIONS:COMMENTED
 

tells SiteLite to expect commented tags. This yields all material in the site.

Most of the elements in the templates are "receiving" elements and in most cases the two forms, short or complete has the same effect, unless you use the APPEND property. Elements of the former short form are removed by SiteLite when the element is "filled". Elements of the second form are preserved. If the tags are in commented style the difference is not important from a validating point of view. The script line

 OPTIONS:KEEPTAGS 
 

stops the unconditionally removal of all traces of SiteLite in the resulting file.

X-Refs

Refs_in_the_script ] [ X-Refs_on_pages ] [ Image_Refs ]

A main issue in SiteLite is to keep track of references within a site, and recalculate such references when necessary. The targets for such reference calculations are images and pages. SiteLite accepts a number of referencing strategies, and it is up to you to choose which one suits your needs. The catalog structure and the dynamics of your site is factors to consider.

Refs in the script

Pages and blocks in the script should allways be referenced relative to the sitecatalog or by an absolute address.

1,Pagename,P,pages/page-1.html
1,Pagename,P,pages\page-1.html
1,Pagename,P,../catb/page-1.html
1,Pagename,P,d:\acatalog\page-1.html
1,Pagename,,http://www.x.y/~b/cat/page-1.html,,N

are all legal pagelines.

The same rules apply for filenames in the elements SL_IMPORT and SL_PATCH.

X-Refs on pages

You may reference an other page in the site in two ways:

  1. With normal HTML: <a href="pageid">pagename</a>
  2. With normal the SiteLite tag: <SL_XREF PAGE="pagid"/>

The advantage of the second is that it gives you access to the "PAGETIP"- text witch appears as a title-attribute in HTML. PAGETIP's are specified in the script, se page Script. Details of the SL_XREF-element. Of course all traces of the SL_XREF-element is removed when the page is prepared.

SiteLite has a considerable tolerance in identifing a page from the pageid you use. References to other pages within the site may be:

Image Refs

References to images may be:

Templates

Standard ] [ Using_templates ] [ Frames ]

You may have any number of templates in a site. You connect the template to the actual page in page-line in the script:

 Level,PageName,TemplateType,PageLocation,,,
 

SiteLite autmatically generates templates for types I,P,PRINT,PRINTALL, and some templates for frame-based solutions, see below. You will most certainly want both to edit the standard templates and introduce your own templates for other types of pages. You introduce a new template type by the scriptline:

 ATEMPLATE:TemplateType,TemplateLocation
 

Templates may be collected from any address, but you should notice the following:

Note 1 Templates collected from an absolute URL are copied to the templates-catalog each time the script is executed. If you edit this local copy, you should correct the location accordingly or disconnect the internet to avoid that your changes are lost in the next build.

Note 2 Unless you have good reasons for it, all templates you introduce should be placed in the templates- catalog, and all images they refer should be placed in the gfx-catalog. This strategy ensures that SiteLite is able to correct all references without naming conflicts when a template is used to build a page.

Standard

The basic templates that are automatically produced by SiteLite for a no-frame solution are the following:

The layout of the P and I templates are based on tables and are like this: ( html-source )

stdtmp

The templates use a number of images that are all referenced as gfx/. SiteLite will pick up and recalculate these links to match the actual page that is using the template. The images in the standard templates are:

In addition to these SiteLite will use a few more images when building a page:

All the images mentioned are produced in the gfx-folder and may be changed by you.

The PRINT template, nf_print_template.html has a much simpler layout and use less images.

TopOfPage

Using templates

Consider a few examples:

Frames

SiteLite can easily be used to build and maintain frame based sites. You have all the freedom you would like to set up the framelayout. The easiest way to investigate frames in SiteLite is to build a new site with frames, Menu File - New, and check the Use Frames- box in the dialog box.

SiteLite suggests a simple solution with a frame structure:

frames

SiteLite produces 4 page lines which describes the frame structure in the script:

  0,Frameset,FF,index.html
  0,Topframe,FT,top.html
  0,Leftframe,FL,left.html
  1,Home,FI,home.html
    BLOCKS:blocks\src_home.html

The three first page lines has level 0, and will thus never appear in tables of contents. The best thing is to investigate the four pages. It is important that the name given to the home-frame in the page Frameset matches the name of the page: home.

You will also see that SiteLite has a separate set of templates for frame-based sites. Their meaning and intended use should be evident from the names and the way they are used in the site SiteLite generates. Templates meant for frames have names starting with f_ as opposed to the templates for non-frame sites which begin with nf_. The predefined templates are:

You are of course free to define your own templates, and your own frame structure.

Resources

Gifs ] [ Stylesheet ]

Resources are used as a general name on the images and the style sheet that realises the layout. The resources must be available to all pages. They are kept in a catalog that by default is named gfx and is placed directly under the sitecatalog. You may change the location of the resourcecatalog by the RESOURCE: - line in the script. You may suggest any catalog relative to the sitecatalog, or an absolute URL. You may not use an absolute filepath to a catalog on disk.

When you refer to resources, always refer to them as if they were directly available in a catalog called gfx.

SiteLite will identify these references to resources and correct the addresses if necessary.

Below is an explanation of the resources that should be present in gfx in a "standard" site, as SiteLite makes it as default. When you change the templates or roll your own you will need other resources.

Gifs

bullet.gif is a small image that is placed in front of pages in a table of contents. See element CONLIST for a description of how to turn it on or off. SiteLite hardcodes use of this image. May be edited, but should not be removed if you don't abandon the idea of a marker once and for all.

hiltebullet.gif is a small image that is used to mark the current page in a table of contents. See element CONLIST for a description of how to turn it on or off. SiteLite hardcodes use of this image. May be edited, but should not be removed if you don't abandon the idea of a marker once and for all.

logo.gif is the logo that appears in the top-let corner of a "standard" page. May be, and will most certainly be, edited. If you change the size of the logo, you should inspect the relevant templates to make sure it does not corrupt the layout.

navigare.gif is the small cluster of arrows that appears in the upper-right and lower-right corners of a page like ths one. If you change the dimensions of this, you must also change the corresponding image map in the relevant templates.

up.gif is the little arrow that brings you to the top of the page. You may edit this, but you should not delete it. SiteLite hardcodes this arrow together with a reference as a substitution for the <!--TOTOP/--> element. The reference depends on an anchor <a name="TopOfPage"></a> in the top of the template, or page.

pixel.gif is a small (1x1 pixels) transparent image that may be used to pad spaces in the pages. SiteLite does not hardcode any use this image, but it may be used in the templates. You may find it useful, since it is not possible to realise all layout plans with style sheets.

Stylesheet

SiteLite relies on cascading style sheets, and the file def.css is important. You will find the file in the catalog gfx, and there should be a reference to the file in all templates, typically by the line:
<link rel="STYLESHEET" href="gfx/def.css">
(the actual reference is correct by SiteLite during build.)

If you are not familiar with style sheets, you should not be too worried. You may achieve great results with some educated guessing. There are lots of sources for Cascading Style Sheets (css) on the Internet. Good places to start looking is at http://www.w3.org or at http://www.w3schools.com/, or you may make an internetsearch for "css" or "cascading stylesheets".

The default styles distributed by SiteLite are chosen to be "reasonable", but you will almost certainly want to do some adjustments to reflect your preferences; colors, textsize etc.

The styles defined in def.css falls in three categories.

  1. Styles that are hard coded in SiteLite. Use of these styles are inserted by SiteLite in a way that cannot be controlled by the user. The user may however change the style definitions.
  2. Styles that is used by SiteLite templates. These styles are used in "standard" templates. User may inspect and edit their use in the templates or blocks, as well as the styledefinitions in the stylesheet.
  3. General styles for standard html-tags. Some general styles are included for users convenience, so they easily may be edited in the style sheet.

Hardcoded styles

When SiteLite assembles lists and table of contents, it inserts styles as an integrated part of the lists. These styles are chosen and described in a way that allows the user maximum control of the appearance. Below is a list that explain their use and refer to the actual styles names in the style sheet.

Page relevant table of contents

marked as SL_CONLIST in the templates, is the table of content that are made for each page, and which normally appears in the left bar of the page. Each of the possible levels in this table is described with its own style. A page with level 3 is for instance described by SiteLite as:
<div class="clevel3">pagename and reference</div>
There are defined 11 clevel-types to match page levels. These are found in the style sheet as:
.clevel0
.clevel1
etc

There are a matching set of styles aclevel which are used to mark the current page, the page that owns the table of content.

Site map

The site map, marked as SL_TOC in the templates, have a structure that are like the SL_CONLIST. To make the freedom of choice as great as possible there are defined a parallel set of styles for this table of content. The styles are found as tlevel, 0 to 10.

PageLocal TOC

The table of content that normally appears in the head of a page, with references to subsections in square brackets are controlled by the style: localtoc

Single TOC

Siblings or children. singletoc, and asingletoc for the active element.

Index

The index is marked as SL_INDEX in the templates. An index consists of a series of keywords, each with a list of page references. The actual styles that are inserted by SiteLite are
<div class="index_keyword">keyword</div>
<div class="index_entry">pageref1</div>
<div class="index_entry">pageref2</div>
etc

Friends

If you use FRIENDS:-lines in the script, SiteLite expects to find a <SL_FRIENDS> -tag in the template. The actual list of pages are hard coded by SiteLite as:
<div class="friends">page name or reference</div>

Template styles

These styles are introduced to match specific needs of SiteLite. Their use is not hardcoded, or forced, but they are generally useful. The indicated use refers to the "standard" templates. You are of course free to use them in another way, simply discard them or introduce new styles, when you construct your own templates.

sitename

Used to wrap the SL_SITENAME-element

mainfooter

Used to wrap the footer, including SL_SITEEDITOR, SL_PAGEAUTHOR, SL_DATE, SL_AMESSAGE elements. Offsets the content to match the main area on the page.

leftfooter

Used to wrap the footer, including SL_SITEEDITOR, SL_PAGEAUTHOR, SL_DATE, SL_AMESSAGE elements. No offset, used by frame pages and print pages.

If you inspect def.css you will find that there are some styles used to wrap predefined (PRE) contents. They are defined to document program code. You may use them, modified or not, for other purposes. They are included to show samples of some useful styling with blocks and background color.

You may find it usefull to make your own styles. Probably the best candidates are (sub)classes of div, p or pre.

General styles

To control the overall appearance of your pages, it is useful to be able to manipulate the appearance of general html-elements. The html-elements that are defined in the std style sheet are:

You may choose to include more definitions at will.

Examples

The best way to investigate the possibilities of SiteLite is probably to get some inspiration from examples. Below you will find references to working sites built by SiteLite and you will find a set of small sites made solely for demonstration purposes.


User Centered Program Design

A site describing a method for design of pedagogical material http://www.ia.hiof.no/~borres/marketmet/

Pedagogy and Technology

An article about the relationship between Tehcnolgy and Pedagogy in a historical perspective. http://www.ia.hiof.no/~borres/pedtech/

Grafisk databehandling

A site used in teaching basic Computer Graphics at Ostfold College, in Norwegian.
http://www.ia.hiof.no/~borres/gb

Vi på Vindusrekka

Mathematics for primary school, in Norwegian. This site consists of 8 different parts maintained separately by SiteLite. The parts are connected by a "manual" index-page.
http://www.ia.hiof.no/~borres/vrekka

EL-Verk

Netbased courseware from The Department of Informatics, in Norwegian.
http://elverk.ia.hiof.no

Download and Updates

Downloads ] [ Updates ] [ Converting ]

Downloads

The program
~300kb
Download CSite3x.exe and run.
This documentation
in a printfriendly version

Neither me nor Ostfold College take any responsibility for any damage caused by the program or the use of it. SiteLite is downloaded and used completely at your own risk. Reasonable measures has been taken to ensure that what you download is what it is meant to be.

Updates

Date What is new
2004-01-05

Adding an attribute, REF, to element SL_POPUP, se Elements page. This does not affect old scripts since default is as before

2003-12-03

Changing generated code for totaltoc (sitemap) to match XHTML.

2003-11-28

Changing generated code for anchors to match XHTML.

Introducing hardcoded styles: singletoc and asingletoc for SINGLE TOC-elements (children or siblings)

2003-10-28

Bugfix in implementation of element: <SL_SIMPLETOC>

Using COLS=0 will now perform as intended.

2003-09-27

Bugfix in implementation of element: <SL_PRINTLIST>

Introduction of element <SL_FINALPAGETOC> to produce a full table of contents on a page after elements of type <SL_PRINTLIST> has been effectuated. See page Elements

2003-09-11 Minor fixes in fileopening and in production of backup of imported files (copies of imported Internet resources).
2003-06-03 Introducing element: <SL_POPUP> to facilitate administration of simple popup-windows. See page Elements
2003-04-25

The calculated address for storing local copies of imported files are changed. Serverinformation is incorporated in path. Example:

SITECATALOG:c:\mysite
...
BLOCKS:http://www.a.b.no/~c/d/e.html
	

A copy of the block will be stored as:

c:\mysite\imported\www_a_b_no\c\d\e.html
	

Existing local copies will not be changed. Delete your entire imported-catalog if you want full effect of this change.

2003-03-11 A new element is introduced: SL_XREF. This constitutes a safe way to set up references from one page to another within the site and benefit from the PAGETIP-effect. See page Elements for a full description.
2003-03-08 A new scripline is introduced:PAGETIP. Lines of this type is associated with a page and may contain a simple unformatted text which pops as the mouse is moved across a reference to that page in a table of content. The text is also available via the new element: <SL_PAGETIP/>. See pages Script and Elements for a full description.
2003-01-10 Element <PRINTLIST> has a new optional attribute: PAGETOC. See page Elements
2002-11-07 Two new script-lines are introduced:
PRECOPY:from,to
POSTCOPY: from,to
The idea is to copy single files or catalogs before(PRE) or after(POST) a site is built. Se page Script.
2002-10-05 The name-attribute of a collection element is changed from NAME to COLLNAME.
2002-09-29 Enhancement: It is now possile to introduce the line:
RESOURCES:rescat
in your script. rescat is a catalog relative to the sitecatalog where SiteLite will expect to find resources. It may also be an absolute URL. It may not be an absolute filepath.
This is done to simplify the sharing of resources between to or more sites.
2002-09-09 Enhancement:
You can inspect the properties of a file selected in listbox. Menu Tools-Properties of selected page, whith accelerator ctrl-p.
2002-09-01 Enhancement:
DoubleClick on filelist is same as Tools - Browse selected page, whith accelerator ctrl-b.
2002-08-27 Enhancement:
Interface on Tools - Replace dialogbox changed.
A simple searchfunction introduced as Tools - Find.
2002-08-18 Enhancement: Element SL_PAGEURL is introduced to make it possible to pick up each pages absolute URL. Depends on script-line SITEURL:
2002-08-17 Bugfix: Browse button in New Site is activated
2002-08-02 If a pagename contains breaks (<br> or <br/>), these breaks will unconditionnaly be replaced by a space in SL_TRAIL-elements and title-elements. The breaks may be replaced by a space from the SL_PAGENAME-element with the UNBREAK="ON" attribute.
2002-07-09 Slight modification allows rtf-files as sourceblocks, templates and result.
2002-07-07 Minor updates of standard templates and resources.
Correction of a rare error occuring when there is no homepage in the site.
2002-06-24 SiteLite 3.0 released for betatesting.

Converting

SiteLite 3.0 offers an automatic upgrade of your site from version 2.0. When SiteLite reads a script without the line: SITEVERSION=3, it assumes that the script is a description of a site built with version 2. SiteLite inspects and attempts to update all templates and all blocks in the site, in addition to the script itself. SiteLite does not do anything with the style sheet file during update.

It is a good idea to make a backup copy of the site before you allow an automatic update.

Note the following:

  1. The C-type template is abandoned. P-type is used in stead. You may want to introduce the C-type template by a ATEMPLATE-line in the script, or put the FULLTOC-element in the block.

  2. Investigate the templates, and pay special attention to the SL_PREV,SL_NEXT,SL_HOME elements. The structure has changed and SiteLite does not convert this. Make a new site and inspect the "standard" templates to learn how to.

  3. Investigate the stylesheet, and make sure you have all the hardcoded styles present. Make a new site and inspect the "standard" def.css file to check.

References

SiteLite has a small but dedicated group of users, and it has been possible have a constructive dialog with a few people during the development. Trond Løvereide, Håkon Tolsby, Gunnar Misund, Laila Kynningsrud and Håvard Blok Rask has all contributed constructively with suggestions for improvement and by reporting errors. Thanks.


site: Børre Stenseth
generated: January 05, 2004
Extract from: http://www.ia.hiof.no/~borres/sitelite/ver30/
SiteLite