Commits

shl...@124812d1-1e0d-29c7-c697-926a49d246de  committed bd2bcab

Hackers-IL Site: importing the files into the repository from my local copy

  • Participants

Comments (0)

Files changed (12)

+
+TARGET = dest
+
+# PAGES = about articles/index books/index core-doc/index index irc/index mailing-lists/index links/index site-resources/index tutorials/index web-forums/index
+
+# SUBDIRS = articles books core-doc irc links mailing-lists tutorials site-resources source source/arcs web-forums
+
+include defs.mak
+
+
+SOURCES = $(addprefix src/,$(addsuffix .html.wml,$(PAGES)))
+
+DESTS = $(patsubst src/%.html.wml,$(TARGET)/%.html,$(SOURCES))
+
+RAW_FILES = $(IMAGES)
+RAW_FILES_SOURCES = $(addprefix src/,$(RAW_FILES))
+RAW_FILES_DEST = $(addprefix $(TARGET)/,$(RAW_FILES))
+
+PODS = $(addprefix docs/,roadmap spec whitepaper version-0.2-spec)
+PODS_DESTS_HTMLS = $(patsubst %,$(TARGET)/%.html,$(PODS))
+PODS_DESTS_PODS = $(patsubst %,$(TARGET)/%.pod,$(PODS))
+
+# PACKAGES_DIR = $(TARGET)/download/arcs
+# PACKAGES = $(shell cd temp && cd lk-module-compiler-final && ls)
+# PACKAGES_DESTS = $(addprefix $(PACKAGES_DIR)/,$(PACKAGES))
+
+SUBDIRS_DEST = $(addprefix $(TARGET)/,$(SUBDIRS))
+
+WML_FLAGS += --passoption=2,-X --passoption=3,-I../lib/ --passoption=7,"-S imgsize" -DROOT~.
+
+RSYNC = rsync --progress --verbose --rsh=ssh 
+
+LIBRARY_FILES = template.wml
+
+# This is a file that does not change or is timestamped from invocation
+# to inovcation of this makefile. Useful for synchronizing uploads.
+UNCHANGED_FILE = unchanged
+
+all: dest $(SUBDIRS_DEST) $(DESTS) $(RAW_FILES_DEST)
+
+$(UNCHANGED_FILE):
+	touch $@
+
+dest:
+	if [ ! -e $@ ] ; then mkdir $@ ; fi
+	
+$(DESTS) :: $(TARGET)/% : src/%.wml $(LIBRARY_FILES)
+	(cd src && wml $(WML_FLAGS) -DFILENAME=$(patsubst src/%.wml,%,$<) $(patsubst src/%,%,$<)) > $@
+
+$(RAW_FILES_DEST) :: $(TARGET)/% : src/%
+	cp -f $< $@
+
+$(SUBDIRS_DEST) :: % : $(UNCHANGED_FILE)
+	if [ ! -e $@ ] ; then mkdir $@ ; fi
+
+
+
+$(PODS_DESTS) :: $(TARGET)/% : src/%
+	cp -f $< $@
+
+$(PODS_DESTS_HTMLS) :: $(TARGET)/%.html : src/%.pod
+	pod2html $< > $@
+
+# $(PACKAGES_DESTS) :: $(PACKAGES_DIR)/% : ./temp/lk-module-compiler-final/%
+# 	cp -f $< $@
+
+upload: upload_berlios
+
+upload_berlios: all
+	(cd dest && $(RSYNC) -r * shlomif@shell.berlios.de:/home/groups/perl-begin/htdocs/)
+
+upload_iglu: all
+	(cd dest && $(RSYNC) -r * shlomif@iglu.org.il:/iglu/html/shlomif/Perl-Begin/)
+
+.PHONY: 

File gen_helper.sh

+#!/bin/bash
+list_wmls()
+{
+    find ./src/ -name '*.html.wml' | 
+        sed 's!^\./src/!!' | 
+        sed 's!\.html\.wml$!!' | 
+        grep -v '^source/index$' |
+        sort
+}
+
+get_subdirs()
+{
+    grep '/' | 
+        sed 's!/[^/]*$!!' |
+        sort |
+        uniq |
+        sort
+}
+
+add_extra()
+{
+    cat ;
+    # echo "source"
+    # echo "source/arcs"
+}
+
+list_images()
+{
+    find ./src -type f -not -name '*.wml' -not -name '.*' | 
+    grep -v '/\.svn' | 
+    grep -v '~$' | 
+    sed 's!^./src/!!'
+}
+
+(echo "PAGES = $(list_wmls | xargs)" ;
+echo
+echo "SUBDIRS = $(((list_wmls) ; (list_images))| get_subdirs | add_extra | xargs)"
+echo 
+echo "IMAGES = $(list_images | xargs)" ;
+echo ) > defs.mak
+
+    

File lib/MyNavData.pm

+package MyNavData;
+
+my $hosts =
+{
+    'hackers' => 
+    {
+        'base_url' => "http://www.hackers.org.il/",
+    },
+};
+
+my $tree_contents =
+{
+    'host' => "hackers",
+    'value' => "The Hackers-IL Homepage",
+    'title' => "Hackers-IL: Israeli Software Enthusiasts",
+    'expand_re' => "",
+    'subs' =>
+    [
+        {
+            'value' => "Home",
+            'url' => "",
+        },
+        {
+            'value' => "Wiki",
+            'url' => "wiki/",
+        },
+        {
+            'value' => "Mailing List",
+            'url' => "mailing-list/",
+        },
+    ],
+};
+
+sub get_params
+{
+    return 
+        (
+            'hosts' => $hosts,
+            'tree_contents' => $tree_contents,
+        );
+}
+
+1;
+-D ROOT~.

File src/images/glider-israel.png

Added
New image

File src/index.html.wml

+#include '../template.wml'
+
+<subject "The Hackers-IL Homepage" />
+
+<p>
+Welcome to the homepage of Hackers-IL, a group of Israeli, or Israeli-oriented 
+software enthusiasts. We are 
+<a href="/mediawiki/index.php/Computer_Intruders"><b>by no means computer 
+intruders</b></a>!. Most of the action of this site takes place 
+<a href="./mediawiki/index.php"><b>in the wiki</b></a>.
+</p>
+
+<h2><a href="./mediawiki/index.php">The Hackers-IL Wiki</a></h2>
+
+<p>
+A world-editable sub-section of this site. Powered by the fully capable
+<a href="http//www.mediawiki.org/">MediaWiki</a>.
+</p>
+
+

File src/sinorca-print.css

+/************************************
+ * TITLE: Sinorca Print Stylesheet  * 
+ * URI  : sinorca/sinorca-print.css *
+ * MODIF: 2003-May-01 19:30 +0800   *
+ ************************************/
+
+
+/* ##### Common Styles ##### */
+
+body {
+  color: black;
+  background-color: white;
+  font-family: "times new roman", times, roman, serif;
+  font-size: 12pt;
+  margin: 0;
+  padding: 0;
+}
+
+acronym, .titleTip {
+  font-style: italic;
+  border-bottom: none;
+}
+
+acronym:after, .titleTip:after {  /* Prints titles after the acronyms/titletips. Doesn't work in MSIE */
+  content: "(" attr(title) ")";
+  font-size: 90%;
+  font-style: normal;
+  padding-left: 1ex;
+}
+
+.doNotPrint {
+  display: none !important;
+}
+
+
+/* ##### Header ##### */
+
+#header {
+  margin: 0;
+  padding: 0;
+  border-bottom: 1px solid black;
+}
+
+.superHeader {
+  display: none;
+}
+
+.headerTitle {
+  color: black;
+  background-color: transparent;
+  font-family: "trebuchet ms", verdana, helvetica, arial, sans-serif;
+  font-size: 200%;
+  font-weight: normal;
+  text-decoration: none;
+  margin: 0;
+  padding: 0 0 0.5ex 0;
+}
+
+.subHeader {
+  display: none;
+}
+
+
+/* ##### Side Bar ##### */
+
+#side-bar {
+  display: none;
+}
+
+
+/* ##### Main Copy ##### */
+
+#main-copy {
+  text-align: justify;
+  margin: 0;
+  padding: 0;
+}
+
+#main-copy h1 {
+  font-family: "trebuchet ms", verdana, helvetica, arial, sans-serif;
+  font-size: 120%;
+  margin: 2ex 0 1ex 0;
+  padding: 0;
+}
+
+#main-copy a {
+  color: black;
+  background-color: transparent;
+  text-decoration: none;
+}
+
+#main-copy a:after {  /* Prints the links' URIs after the links' texts. Doesn't work in MSIE */
+  content: "<" attr(href) ">";
+  font-size: 90%;
+  padding-left: 1ex;
+}
+
+p {
+  margin: 0 0 2ex 0;
+  padding: 0;
+}
+
+dl {
+  margin: 0;
+  padding: 0;
+}
+
+dt {
+  font-weight: bold;
+  margin: 0;
+  padding: 0 0 1ex 0;
+}
+
+dd {
+  margin: 0 0 2ex 1.5em;
+  padding: 0;
+}
+
+.topOfPage {
+  display: none;
+}
+
+
+/* ##### Footer ##### */
+
+#footer {
+  margin: 2em 0 0 0;
+  padding: 1ex 0 0 0;
+  border-top: 1px solid black;
+}
+
+#footer a {
+  color: black;
+  background-color: transparent;
+  text-decoration: none;
+}

File src/sinorca-screen-alt.css

+/***********************************************
+ * TITLE: Sinorca Alterative Screen Stylesheet *
+ * URI  : sinorca/sinorca-screen-alt.css       *
+ * MODIF: 2003-May-13 18:48 +0800              *
+ ***********************************************/
+
+
+/* ##### Common Styles ##### */
+
+body {
+  color: black;
+  background-color: white;
+  font-family: verdana, helvetica, arial, sans-serif;
+  font-size: 71%;  /* Enables font size scaling in MSIE */
+  margin: 0;
+  padding: 0;
+}
+
+html > body {
+  font-size: 8.5pt;
+}
+
+acronym, .titleTip {
+  border-bottom: 1px dotted rgb(153,153,153);
+  cursor: help;
+  margin: 0;
+  padding: 0 0 0.4px 0;
+}
+
+.doNotDisplay {
+  display: none;
+}
+
+.smallCaps {
+  font-size: 110%;
+  font-variant: small-caps;
+}
+
+
+/* ##### Header ##### */
+
+.superHeader {
+  color: white;
+  background-color: rgb(100,135,220);
+  height: 2em;
+}
+
+.superHeader a {
+  color: white;
+  background-color: transparent;
+  text-decoration: none;
+  font-size: 91%;
+  margin: 0;
+  padding: 0 0.5ex 0 0.25ex;
+}
+
+.superHeader a:hover {
+  text-decoration: underline;
+}
+
+.superHeader .left {
+  position: absolute;
+  left: 1.5mm;
+  top: 0.75ex;
+}
+
+.superHeader .right {
+  position: absolute;
+  right: 1.5mm;
+  top: 0.75ex;
+}
+
+.midHeader {
+  color: rgb(39,78,144);
+  background-color: rgb(140,170,230);
+}
+
+.headerTitle {
+  font-size: 337%;
+  font-weight: normal;
+  margin: 0 0 0 4mm;
+  padding: 0.25ex 0;
+}
+
+.subHeader {
+  color: white;
+  background-color: rgb(0,51,153);
+  margin: 0;
+  padding: 1ex 1ex 1ex 1.5mm;
+}
+
+.subHeader a {
+  color: white;
+  background-color: transparent;
+  text-decoration: none;
+  font-weight: bold;
+  margin: 0;
+  padding: 0 0.75ex 0 0.5ex;
+}  
+
+.subHeader a:hover {
+  text-decoration: underline;
+}
+
+.superHeader .highlight, .subHeader .highlight {
+  color: rgb(253,160,91);
+  background-color: transparent;
+}
+
+
+/* ##### Side Boxes ##### */
+
+#side-bar {
+  width: 14em;
+  margin: 2.5em 0 0 1.25mm;
+  float: left;
+  clear: left;
+}
+
+body > #side-bar {
+  margin-left: 2.5mm;  /* Circumvents a rendering bug in MSIE (6.0) */
+}
+
+.sideBarTitle {
+  color: white;
+  background-color: rgb(100,135,220);
+  font-weight: bold;
+  margin: 0;
+  padding: 0.4ex 0 0.4ex 0.6ex;
+}
+
+#side-bar ul {
+  list-style-type: none;
+  list-style-position: outside;
+  margin: 0;
+  padding: 0 0 2.25em 0;
+}
+
+#side-bar li {
+  margin: 0;
+  padding: 0.1ex 0;  /* Circumvents a rendering bug (?) in MSIE (6.0) */
+}
+
+#side-bar a, .thisPage {
+  color: rgb(0,102,204);
+  background-color: transparent;
+  text-decoration: none;
+  font-weight: bold;
+  margin: 0;
+  padding: 1.3ex 2ex;
+  display: block;
+}
+
+.thisPage {
+  color: black;
+  background-color: transparent;
+}
+
+#side-bar a:hover {
+  color: white;
+  background-color: rgb(100,135,220);
+  text-decoration: none;
+}
+
+.sideBarText {
+  line-height: 1.5em;
+  margin: 0 0 2.5em 0;
+  padding: 1ex 0.5ex 0 0.5ex;
+  display: block;
+}
+
+.sideBarText + .sideBarText {  /* Not recognised by MSIE (6.0) */
+  margin-top: -1.5em;
+}
+
+#side-bar .sideBarText a {
+  text-decoration: underline;
+  font-weight: normal;
+  margin: 0;
+  padding: 0;
+  display: inline;
+}
+
+#side-bar .sideBarText a:hover {
+  color: rgb(0,102,204);
+  background-color: transparent;
+  text-decoration: none;
+}
+
+
+/* ##### Main Copy ##### */
+
+#main-copy {
+  color: black;
+  background-color: transparent;
+  text-align: justify;
+  line-height: 1.5em;
+  margin: -1em 0 0 15em;
+  padding: 0.5mm 5mm 5mm 5mm;
+}
+
+#bodyText {
+  margin: 0 0 0 15.5em;
+  padding: 2mm 5mm 2mm 5mm;
+}
+
+
+#main-copy p {
+  margin: 1em 1ex 2em 1ex;
+  padding: 0;
+}
+
+#main-copy a {
+  color: rgb(0,102,204);
+  background-color: transparent;
+  text-decoration: underline;
+}
+
+#main-copy a:hover {
+  text-decoration: none;
+}
+
+#main-copy h1 {
+  color: rgb(0,102,204);
+  background-color: transparent;
+  font-size: 145.5%;
+  font-weight: bold;
+  margin: 2em 0 0 0;
+  padding: 0.5ex 0 0.5ex 0.6ex;
+  border-bottom: 1px solid rgb(0,102,204);
+}
+
+#main-copy .topOfPage {
+  color: rgb(0,102,204);
+  background-color: transparent;
+  font-size: 91%;
+  font-weight: bold;
+  text-decoration: none;
+  margin: 3ex 1ex 0 0;
+  padding: 0;
+  float: right;
+}
+
+dl {
+  margin: 1em 1ex 2em 1ex;
+  padding: 0;
+}
+
+dt {
+  font-weight: bold;
+  margin: 0 0 0 0;
+  padding: 0;
+}
+
+dd {
+  margin: 0 0 2em 2em;
+  padding: 0;
+}
+
+
+/* ##### Footer ##### */
+
+#footer {
+  color: white;
+  background-color: rgb(100,135,220);
+  font-size: 91%;
+  margin: 0;
+  padding: 1em 2.5mm 2.5ex 2.5mm;
+  clear: both;
+}
+
+#footer .left {
+  text-align: left;
+  line-height: 1.45em;
+  float: left;
+  clear: left;
+}
+
+#footer .right {
+  text-align: right;
+  line-height: 1.45em;
+}
+
+#footer a {
+  color: white;
+  background-color: transparent;
+  text-decoration: underline;
+}
+
+#footer a:hover {
+  text-decoration: none;
+}

File src/sinorca-screen.css

+/*************************************
+ * TITLE: Sinorca Screen Stylesheet  *
+ * URI  : sinorca/sinorca-screen.css *
+ * MODIF: 2003-Apr-30 19:31 +0800    *
+ *************************************/
+
+
+/* ##### Common Styles ##### */
+
+body {
+  color: black;
+  background-color: rgb(240,240,240);
+  font-family: verdana, helvetica, arial, sans-serif;
+  font-size: 71%;  /* Enables font size scaling in MSIE */
+  margin: 0;
+  padding: 0;
+}
+
+html > body {
+  font-size: 8.5pt;
+}
+
+acronym, .titleTip {
+  border-bottom: 1px dotted rgb(153,153,153);
+  cursor: help;
+  margin: 0;
+  padding: 0 0 0.4px 0;
+}
+
+.doNotDisplay {
+  display: none;
+}
+
+.smallCaps {
+  font-size: 110%;
+  font-variant: small-caps;
+}
+
+
+/* ##### Header ##### */
+
+.superHeader {
+  color: white;
+  background-color: rgb(100,135,220);
+  height: 2em;
+}
+
+.superHeader a {
+  color: white;
+  background-color: transparent;
+  text-decoration: none;
+  font-size: 91%;
+  margin: 0;
+  padding: 0 0.5ex 0 0.25ex;
+}
+
+.superHeader a:hover {
+  text-decoration: underline;
+}
+
+.superHeader .left {
+  position: absolute;
+  left: 1.5mm;
+  top: 0.75ex;
+}
+
+.superHeader .right {
+  position: absolute;
+  right: 1.5mm;
+  top: 0.75ex;
+}
+
+.midHeader {
+  color: rgb(39,78,144);
+  background-color: rgb(140,170,230);
+}
+
+.headerTitle {
+  font-size: 337%;
+  font-weight: normal;
+  margin: 0 0 0 4mm;
+  padding: 0.25ex 0;
+}
+
+.subHeader {
+  color: white;
+  background-color: rgb(0,51,153);
+  margin: 0;
+  padding: 1ex 1ex 1ex 1.5mm;
+}
+
+.subHeader a {
+  color: white;
+  background-color: transparent;
+  text-decoration: none;
+  font-weight: bold;
+  margin: 0;
+  padding: 0 0.75ex 0 0.5ex;
+}  
+
+.subHeader a:hover {
+  text-decoration: underline;
+}
+
+.superHeader .highlight, .subHeader .highlight {
+  color: rgb(253,160,91);
+  background-color: transparent;
+}
+
+
+/* ##### Side Bar ##### */
+
+#side-bar {
+  width: 15em;
+  float: left;
+  clear: left;
+  border-right: 1px solid rgb(153,153,153);
+}
+
+#side-bar div {
+  border-bottom: 1px solid rgb(153,153,153);
+}
+
+.sideBarTitle {
+  font-weight: bold;
+  margin: 0 0 0.5em 2.5mm;
+  padding: 1em 0 0 0;
+}
+
+#side-bar ul {
+  list-style-type: none;
+  list-style-position: outside;
+  margin: 0;
+  padding: 0 0 1.1em 0;
+}
+
+#side-bar li {
+  margin: 0;
+  padding: 0.1ex 0;  /* Circumvents a rendering bug (?) in MSIE 6.0 */
+}
+
+#side-bar a, .thisPage {
+  color: rgb(0,102,204);
+  background-color: transparent;
+  text-decoration: none;
+  margin: 0;
+  padding: 0.75em 1ex 0.75em 5mm;
+  display: block;
+}
+
+.thisPage {
+  color: black;
+  background-color: white;
+  padding-left: 4mm;
+  border-top: 1px solid rgb(153,153,153);
+  border-bottom: 1px solid rgb(153,153,153);
+}
+
+#side-bar a:hover {
+  color: white;
+  background-color: rgb(100,135,220);
+  text-decoration: none;
+}
+
+.sideBarText {
+  line-height: 1.5em;
+  margin: 0 0 1em 0;
+  padding: 0 1.5ex 0 2.5mm;
+  display: block;
+}
+
+#side-bar .sideBarText a {
+  text-decoration: underline;
+  margin: 0;
+  padding: 0;
+  display: inline;
+}
+
+#side-bar .sideBarText a:hover {
+  color: rgb(0,102,204);
+  background-color: transparent;
+  text-decoration: none;
+}
+
+.lighterBackground {
+  color: inherit;
+  background-color: white;
+}
+
+
+/* ##### Main Copy ##### */
+
+#main-copy {
+  color: black;
+  background-color: white;
+  text-align: justify;
+  line-height: 1.5em;
+  margin: 0 0 0 15em;
+  padding: 0.5mm 5mm 5mm 5mm;
+  border-left: 1px solid rgb(153,153,153);
+}
+
+#main-copy p {
+  margin: 1em 1ex 2em 1ex;
+  padding: 0;
+}
+
+#main-copy a {
+  color: rgb(0,102,204);
+  background-color: transparent;
+  text-decoration: underline;
+}
+
+#main-copy a:hover {
+  text-decoration: none;
+}
+
+#main-copy h1 {
+  color: white;
+  background-color: rgb(100,135,220);
+  font-size: 100%;
+  font-weight: bold;
+  margin: 3em 0 0 0;
+  padding: 0.5ex 0 0.5ex 1ex;
+}
+
+#main-copy .topOfPage {
+  color: white;
+  background-color: transparent;
+  font-size: 91%;
+  font-weight: bold;
+  text-decoration: none;
+  margin: 2.5ex 1ex 0 0;  /* For MSIE */
+  padding: 0;
+  float: right;
+}
+
+#main-copy > .topOfPage {
+  margin: 2.75ex 1ex 0 0;  /* For fully standards-compliant user agents */
+}
+
+dl {
+  margin: 1em 1ex 2em 1ex;
+  padding: 0;
+}
+
+dt {
+  font-weight: bold;
+  margin: 0 0 0 0;
+  padding: 0;
+}
+
+dd {
+  margin: 0 0 2em 2em;
+  padding: 0;
+}
+
+
+/* ##### Footer ##### */
+
+#footer {
+  color: white;
+  background-color: rgb(100,135,220);
+  font-size: 91%;
+  margin: 0;
+  padding: 1em 2.5mm 2.5ex 2.5mm;
+  clear: both;
+}
+
+#footer .left {
+  line-height: 1.45em;
+  float: left;
+  clear: left;
+}
+
+#footer .right {
+  text-align: right;
+  line-height: 1.45em;
+}
+
+#footer a {
+  color: white;
+  background-color: transparent;
+  text-decoration: underline;
+}
+
+#footer a:hover {
+  text-decoration: none;
+}

File src/std/logo.wml

+##
+##  wml::std::logo - Logo Insertion
+##  Copyright (c) 1997-2001 Ralf S. Engelschall, All Rights Reserved. 
+##
+
+#  The <preserve>/<restore> tags with multiple arguments require WML 2.0.3
+#use wml::mod::version
+<require 2.0.3 />
+
+#use wml::std::tags
+
+#
+#  Insert a Logo image
+#
+<define-tag logo>
+<preserve name base file format target notag />
+<set-var notag=* />
+<set-var %attributes />
+<defvar name wml />
+<defvar base <or <get-var LOGO_BASE /> <get-var IMAGE_BASE /> /> />
+<defvar format <or <get-var IMAGE_FORMAT /> png /> />
+<perl>
+    my $name   = '<get-var name />';
+    my $ext    = '<get-var format />';
+    my $base   = '<get-var base />';
+    my $file   = '<get-var file />';
+    my $target = '<get-var target />';
+    my $notag  = (qq|<get-var notag />| eq '' ? 1 : 0);
+
+    my $imgfile  = "$(WML_LOC_LIBDIR)/data/logos/logo-$name.$ext";
+    my $infofile = "$(WML_LOC_LIBDIR)/data/logos/logo-$name.info";
+
+    #   make sure the logo exists
+    if (! -f $imgfile or ! -f $infofile) {
+        print STDERR "Error: No such logo named '$name'.\n";
+        exit(1);
+    }
+
+    #   create the output filename
+    if ($file eq '') {
+        if ($base ne '' && $base !~ m|/$|) {
+            if (-d $base) {
+                $base .= '/';
+            }
+            else {
+                $base .= '.';
+            }
+        }
+        $file = sprintf("%slogo-%s.%s", $base, $name, $ext);
+    }
+
+    open(FH_LOGO, "<$infofile");
+    my $alt  = <*FH_LOGO>; $alt  =~ s|^\s+||; $alt  =~ s|\n$||; $alt  =~ s|\s+$||;
+    my $hint = <*FH_LOGO>; $hint =~ s|^\s+||; $hint =~ s|\n$||; $hint =~ s|\s+$||;
+    my $url  = <*FH_LOGO>; $url  =~ s|^\s+||; $url  =~ s|\n$||; $url  =~ s|\s+$||;
+    close(FH_LOGO);
+
+    #   create the logo image copy
+    my $error = `cp $imgfile $file`;
+    if ($? >> 8) {
+        print STDERR "** wml::std::logo:\n$error";
+        exit(1);
+    }
+
+    #   insert the markup code
+    if (not $notag) {
+        <perl:print>\
+           <*a href="$url" \
+              onmouseover="self.status='$hint';return true" \
+              onmouseout="self.status='';return true" \
+              onfocus="self.status='$hint';return true" \
+              onblur="self.status='';return true"\
+        </perl:print>
+        if ($target ne '') {
+          <perl:print> target="$target"</perl:print>
+        }
+        <perl:print>\
+           ><img src="$file" alt="$alt" style="border:0" /><*/a>\
+        </perl:print>
+    }
+</perl>
+<restore  name base file format target notag />
+</define-tag>
+
+##EOF##

File src/style.css

+a:hover { background-color : palegreen; }
+a.nobg:hover { background-color : transparent; }
+.navbar
+{
+    padding-top : 0.5em;
+    padding-right : 0.5em;
+    background-color: #C5CAE2;
+    width : 20% ;
+    padding-left : 0.5em;
+}
+.main { padding-left : 1em; }
+p.desc { margin-left : 3em }
+h2 { background-color: #FFEE00  }
+ul.navbarmain { list-style-type: none ; padding-left : 0em }
+ul.navbarnested { list-style-type : none ; padding-left : 2em }
+.note 
+{ 
+    border-color : black; 
+    border-style : double;
+    padding : 0.5em;
+    background-color : LemonChiffon;
+}

File template.wml

+# #use wml::des::navbar
+
+<:{
+use MyNavData;
+use Shlomif::NavMenu;
+
+my $filename = "$(FILENAME)";
+$filename =~ s!index\.html$!!;
+$filename = "/$filename";
+
+my $nav_bar = Shlomif::NavMenu->new(
+    'path_info' => $filename,
+    'current_host' => "berlios",
+    MyNavData::get_params(),
+    );
+
+my $rendered_results = 
+        $nav_bar->render(
+            no_ie => 'true',
+            styles => 
+            {
+                'bar' => 'nav',
+                'level0' => 'navbarmain',
+                'level1' => 'navbarnested',
+                'level2' => "navbarnested",
+                'level3' => "navbarnested",
+                'level4' => "navbarnested",
+                'list' => "navbarmain",
+            },
+            );
+
+use vars qw($nav_links);
+
+$nav_links = $rendered_results->{nav_links};
+
+use vars qw($nav_html);
+
+$nav_html = $rendered_results->{html};
+
+}:>
+
+<define-tag email:link>
+<a href="mailto:%0">%0</a>
+</define-tag>
+
+# The Definition of the page itself
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html 
+     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
+<head>
+<title>{#SUBJECT_LOC#}</title>
+<link rel="stylesheet" href="$(ROOT)/style.css" type="text/css" />
+<:{
+use CGI qw();
+
+while (my ($key, $url) = each(%$nav_links))
+{
+    print "<link rel=\"$key\" href=\"" . CGI::escapeHTML($url) . "\" />\n"
+}
+}:>
+</head>
+<body>
+
+
+<define-tag rellink whitespace="delete">
+<preserve url />
+<set-var %attributes />
+$(ROOT)/<get-var url />
+<restore url />
+</define-tag>
+
+<define-tag site:link whitespace="delete">
+<preserve url />
+<set-var %attributes />
+http://perl-begin.berlios.de/<get-var url />
+<restore url />
+</define-tag>
+
+<define-tag wiki:link whitespace="delete">
+<preserve url />
+<set-var %attributes />
+<ifeq "<get-var url />" "" 
+    "<set-var url="/Main/HomePage" />" 
+    "<set-var url="/<get-var url />" />" 
+    />
+<site:link url="Wiki/pmwiki/pmwiki.php" /><get-var url />
+<restore url />
+</define-tag>
+
+<define-tag mailing:list:link whitespace="delete">
+https://lists.berlios.de/mailman/listinfo/perl-begin-help
+</define-tag>
+
+<define-tag web:forum:link whitespace="delete">
+http://developer.berlios.de/forum/forum.php?forum_id=2341
+</define-tag>
+
+<define-tag nothing></define-tag>
+
+<table summary="Layout Table: The first cell contains a navigation bar, the second the main page" border="0" width="99%">
+<tr>
+<td valign="top" class="navbar" style="width:20%">
+
+<a href="$(ROOT)" class="nobg"><img 
+   src="$(ROOT)/images/glider-israel.png" /></a>
+
+<:{ print join("\n", @$nav_html); }:>
+
+<define-tag validhtml>
+<p>
+<a href="http://www.spreadfirefox.com/?q=affiliates&amp;id=0&amp;t=70"><img 
+   style="margin-top:1em; border:0;" alt="Get Firefox!" 
+   title="Get Firefox! A safer, faster, better web-browser." 
+   src="$(ROOT)/images/get-firefox.gif" /></a>
+</p>
+<p>
+<a href="http://validator.w3.org/check/referer"><img 
+    style="border:0" src="http://www.w3.org/Icons/valid-xhtml10" 
+         alt="Valid XHTML 1.0!"
+         /></a>
+</p>
+<p>
+ <a href="http://jigsaw.w3.org/css-validator/validator?uri=http%%3A//perl-begin.berlios.de/$(FILENAME)"><img style="border:0"
+       src="http://jigsaw.w3.org/css-validator/images/vcss" 
+       alt="Valid CSS!" /></a>
+</p>
+<p>
+</p>
+</define-tag>
+
+# <ifeq "$(FILENAME)" "index.html" "<validhtml />" "" />
+
+<validhtml />
+
+</td>
+<td valign="top" class="main">
+<h1>{#SUBJECT_LOC#}</h1>
+{#BODY#}
+
+</td>
+</tr>
+</table>
+<hr />
+<p>
+<b>Webmaster:</b> <a href="mailto:shlomif@iglu.org.il">Shlomi Fish - shlomif@iglu.org.il</a>
+</p>
+
+</body>
+</html>
+
+<define-tag subject>
+{#SUBJECT_LOC#:%0:##}
+</define-tag>
+
+
+#   per default we are in body
+{#BODY#:
+