Example script (we will make a better presentation of this
eventually...)
/* WebComp/0.7 */
/*
* HTML-filter component for static documents. We can use
* regular expressions to select the right one to use
*/
LOCAL_ACCESSOR = [ '.*\.(html|HTML|htm|HTM)',
@wcomp.htmlparser.HtmlParserFunc ] ;
contentgen = @wcomp.func.ContentFunction;
/* Starting point is defined by SITE_MAIN */
SITE_MAIN = @wcomp.func.PageFunction | 'PAGE';
/* We can use modify behaviour for old browsers */
ifOldBrowser = @wcomp.func.HeaderMatch
| 'user-agent'
| 'Mozilla[1234].*';
/* Bulletin board application component */
board = @openbbs.core.MboxJspFunc
| 'jdbc:postgresql://localhost/database'
| 'username' | 'passwd'
| 'wcomp';
PAGE.STYLESHEET = style.css;
/* Menu at the left side */
PAGE.LEFT = @wcomp.func.MenuFunction | 'MENU';
/* Content at the right. Different framing depending on browser */
PAGE.RIGHT = $ifOldBrowser | ($contentgen | 'OLDBROWSER') | ($contentgen | 'NORMAL');
/* Heading and footing */
PAGE.HEAD = "<img src=\"wc2.gif\" width=\"543\" height=\"70\" alt=\"WCOMP-LOGO\">";
PAGE.FOOT = "<p align=right><font size=\"-2\"> \
(C) 2002, Ø. Hanssen ";
/* Use another framing technique for old browsers */
NORMAL.FRAMING = "SHADOW";
OLDBROWSER.FRAMING = "BOX";
OLDBROWSER.BOX_COLOR = "#ffffff";
OLDBROWSER.BOX_SIZE = 4;
MENU.HEAD = "<br>";
PAGE.TITLE = "Web Components";
DEFAULT_ITEM = "start";
/***********************************************
* The welcome page is composed from different
* parts.
***********************************************/
frontpage = "<table cellpadding=2 cellspacing=0><tr> \
<td width=\"45%\" valign=\"top\"> "
+ text/welcome.html
+ "</td><td valign=\"top\"><br>"
+ $board | jsp/listmsg.jsp
+ "</td></tr></table>" ;
/********************************************
* The menu items.
********************************************/
start: "Welcome Page" -> $frontpage;
showmsg: "Show Message" -> $board | jsp/msg.jsp HIDDEN;
archive: "News Archive" -> $board | jsp/listallmsg.jsp;
SECTION "Documentation:"
{
demo: "Example script" -> text/index.wc.html;
cache: "Web cache support" -> text/caching.html;
script: "Scripting language.." -> text/script.html
{
sfunc: "Function expressions" -> text/script-func.html;
inherit: "Inheritance" -> text/inheritance.html;
};
};
SECTION "Core Components:"
{
layout_gen: "Layout Generator" -> text/layout_gen.html;
menu_gen: "Menu Generator" -> text/menu_gen.html;
content_gen: "Content Generator" -> text/content_gen.html;
login: "Login (security)" -> text/dblogin.html
{
logout: "Logout" -> text/logout.html;
};
utils: "Utility components.." -> "Todo: Write summary<br><br>"
{
headermatch: "Header Matcher" -> text/headermatch.html;
tracker: "Session tracker" -> text/tracker.html;
logger: "Logger" -> text/logger.html;
dblogger: "Database logger" -> text/dblogger.html;
printer: "Printer friendly" -> text/printer.html;
qstring: "Query String" -> text/qstring.html;
ttl: "Time to Live" -> text/ttl.html;
};
};
SECTION "Code:"
{
dl: "Download" -> dl/index.html;
};