-<:
+<define-tag top-menu>
+<:
# First the menu definition
#
@menu = ('Infodrom','Linux','Debian','linx','text','service','zeitungen','News','projects');
'News' => 'News',
'projects' => 'Projekte',
);
-# Noch frei: #ba55d3 (dunkelviolett), dann aber die beiden Grüntöne tauschen
- %menu_colors = (
- 'Infodrom' => '0000ff',
- 'Linux' => '00bdff',
- 'Debian' => 'ff4040',
-# 'linx' => 'ff7f00',
-# 'linx' => 'f6be00',
-# 'linx' => 'f6d629',
-# 'linx' => 'f9bd09',
- 'linx' => 'ff8c00',
-# 'text' => 'ffd700',
- 'text' => 'ffc125',
- 'service' => 'ff00ff',
- 'zeitungen' => 'ab82ff',
-# 'News' => '32cd05',
-# 'projects' => '3cb371',
-# 'News' => '00ee00',
-# 'projects' => '66cd00',
- 'News' => '32cd05',
-# 'projects' => '19c100',
- 'projects' => '20b705',
- );
-
-
-sub main_menu
-{
- $menucolor = "008dfd"; # Default: <menu-fgcolor> - Infodrom-Blau
+:>
+<div class="navigation">
+<p class=none><a href="#content"><strong>Skip navigation</strong></a></p>
+<ul>
+<:
# The main menu
- print "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" summary=\"\"><tr>";
for ($index=0; $index <= $#menu; $index++) {
- print "<td width=\"1\"> </td>" if ($index > 0);
- if (("<get-var WML_SRC_DIRNAME>" =~ /src\/$menu[$index]$/) && ("<get-var WML_SRC_BASENAME>" eq "index")) {
- printf "<td align=\"center\" valign=\"top\" bgcolor=\"#%s\">"
- ."<font color=\"#ffffff\" face=\"<infodrom-font />\"><b>%s</b></font></td>",
- $menu_colors{$menu[$index]},
- $menu_name{$menu[$index]};
- } else {
- printf "<td align=\"center\" valign=\"top\" bgcolor=\"#%s\"><a href=\"%s%s/\" target=\"_top\">"
- ."<font color=\"#ffffff\" face=\"<infodrom-font />\"><b>%s</b></font></a></td>",
- $menu_colors{$menu[$index]},
- $root_prefix,
- $menu[$index],
- $menu_name{$menu[$index]};
- }
+ my $current = '';
+ $current = 'id="current" ' if ("<get-var WML_SRC_DIRNAME>" =~ /src\/$menu[$index]$/);
+ printf '<li class="%s"><a %shref="%s%s/" target="_top">%s</a></li>'."\n",
+ $menu[$index],
+ $current,
+ $root_prefix,
+ $menu[$index],
+ $menu_name{$menu[$index]};
}
- print "</tr></table>";
+:>
+</ul>
+</div>
+<:
# The second menu
for ($index=0; $index <= $#menu; $index++) {
if ("<get-var WML_SRC_DIRNAME>" =~ /src\/$menu[$index](\/|$)/) {
- $menucolor = $menu_colors{$menu[$index]};
- if (open (MENU, "$root_prefix$menu[$index]/menu.def")) {
- printf "<table border=\"0\" cellspacing=\"0\" cellpadding=\"3\" summary=\"\">"
- ."<tr bgcolor=\"#%s\"><td align=\"center\" valign=\"top\">", $menucolor;
- $nr = 0;
- while (<MENU>) {
- chomp();
- next if /^\s*#/;
- next if /^\s*$/;
- print " <font color=\"#ffffff\" face=\"<infodrom-font />\"><b>|</b></font> " if ($nr > 0);
- ($name,$link) = split (/:/);
- $selected = 0;
- if ($link =~ /(.*)\/$/) {
- $dir = $1;
- "<get-var WML_SRC_DIRNAME>" =~ /.*\/(src\/.*)$/; $wdir = $1;
- if (($wdir eq "src/$menu[$index]/$dir") && ("<get-var WML_SRC_BASENAME>" eq "index")) {
- $selected = 1;
- }
- # ACHTUNG: Ist etwas unsauber, wegen foo/bar.html != bar.php3
- } elsif ($link =~ /(.*)\.(html|php3)$/) {
- if ("<get-var WML_SRC_BASENAME>" eq "$1") {
- $selected = 1;
- }
- }
-
- if ($selected) {
- printf "<font size=\"-1\" color=\"#ffffff\" face=\"<infodrom-font />\"><b>%s</b></font>", $name;
- } else {
- printf "<a href=\"%s%s/%s\" target=\"_top\"><font size=\"-1\" color=\"#ffffff\" face=\"<infodrom-font />\"><b>%s</b></font></a>",
- $root_prefix, $menu[$index], $link, $name;
- }
- $nr++;
+ $second = $index;
+ last;
+ }
+ }
+ if (defined ($second)) {
+ if (open (MENU, "$root_prefix$menu[$second]/menu.def")) {
+ print "<div class=\"submenu\">\n<ul>\n";
+ while (<MENU>) {
+ chomp();
+ next if /^\s*#/;
+ next if /^\s*$/;
+ ($name,$link) = split (/:/);
+ $current = '';
+ if ($link =~ /(.*)\/$/) {
+ $dir = $1;
+ "<get-var WML_SRC_DIRNAME>" =~ /.*\/(src\/.*)$/;
+ $wdir = $1;
+ $current = 'id="current" ' if (($wdir eq "src/$menu[$index]/$dir")
+ && ("<get-var WML_SRC_BASENAME>" eq "index"));
+ $current = 'id="current" ' if (substr($wdir,0,5+length($menu[$index].$dir)) eq "src/$menu[$index]/$dir");
+ # ACHTUNG: Ist etwas unsauber, wegen foo/bar.html != bar.php3
+ } elsif ($link =~ /(.*)\.(html|php3)$/) {
+ $current = 'id="current" ' if ("<get-var WML_SRC_BASENAME>" eq "$1");
}
- close (MENU);
- print "</td></tr></table>";
+
+ printf '<li><a class=%s %shref="%s%s/%s">%s</a></li>'."\n",
+ $menu[$second],
+ $current,
+ $root_prefix,
+ $menu[$second],
+ $link,
+ $name;
}
+ print "</ul>\n</div>\n";
+ close (MENU);
}
}
-
-}
-
:>
+</define-tag>
+
# The color of the current 2nd menu (regardless if there is any)
<define-tag menucolor><: print $menucolor; :></define-tag>
--- /dev/null
+/*
+ * Navigation
+ */
+div.navigation {
+ padding: 0 0;
+ border-bottom: 1px solid #707070;
+}
+div.navigation ul {
+ padding: 0 0;
+ margin-bottom: 0px;
+ padding-bottom: 3px;
+ font: bold 14px Verdana, Sans-Serif;
+}
+div.navigation ul li {
+ list-style: none;
+ margin: 0;
+ display: inline;
+}
+div.navigation ul li.Infodrom a {
+ padding: 3px 0.5em;
+ margin-right: 1px;
+ margin-left: 7px;
+ border: 1px solid #707070;
+ background: #b1b1ff;
+ text-decoration: none;
+}
+div.navigation ul li.Linux a {
+ padding: 3px 0.5em;
+ margin-right: 1px;
+ margin-left: 1px;
+ border: 1px solid #707070;
+ background: #b5e2f1;
+ text-decoration: none;
+}
+div.navigation ul li.Debian a {
+ padding: 3px 0.5em;
+ margin-right: 1px;
+ margin-left: 1px;
+ border: 1px solid #707070;
+ background: #ff6c6c;
+ text-decoration: none;
+}
+div.navigation ul li.linx a {
+ padding: 3px 0.5em;
+ margin-right: 1px;
+ margin-left: 1px;
+ border: 1px solid #707070;
+ background: #ffb35a;
+ text-decoration: none;
+}
+div.navigation ul li.text a {
+ padding: 3px 0.5em;
+ margin-right: 1px;
+ margin-left: 1px;
+ border: 1px solid #707070;
+ background: #f4ff76;
+ text-decoration: none;
+}
+div.navigation ul li.service a {
+ padding: 3px 0.5em;
+ margin-right: 1px;
+ margin-left: 1px;
+ border: 1px solid #707070;
+ background: #ffa9fa;
+ text-decoration: none;
+}
+div.navigation ul li.zeitungen a {
+ padding: 3px 0.5em;
+ margin-right: 1px;
+ margin-left: 1px;
+ border: 1px solid #707070;
+ background: #ab82ff;
+ text-decoration: none;
+}
+div.navigation ul li.News a {
+ padding: 3px 0.5em;
+ margin-right: 1px;
+ margin-left: 1px;
+ border: 1px solid #707070;
+ background: #32cd05;
+ text-decoration: none;
+}
+div.navigation ul li.projects a {
+ padding: 3px 0.5em;
+ margin-right: 1px;
+ margin-left: 1px;
+ border: 1px solid #707070;
+ background: #20b705;
+ text-decoration: none;
+}
+div.navigation ul li a:link, div.navigation ul li a:visited {
+ color: #707070;
+}
+div.navigation ul li a:link:hover, div.navigation ul li a:visited:hover {
+ color: #000000;
+ border-color: #000000;
+}
+
+/*
+ * Settings with id=current
+ */
+div.navigation ul li.Infodrom a#current, div.navigation ul li.Infodrom a:link:hover#current, div.navigation ul li.Infodrom a:visited:hover#current {
+ color: #000000;
+ background: #b1b1ff;
+ border-color: #707070;
+ border-bottom: 1px solid #b1b1ff;
+}
+div.navigation ul li.Linux a#current, div.navigation ul li.Linux a:link:hover#current, div.navigation ul li.Linux a:visited:hover#current {
+ color: #000000;
+ background: #b5e2f1;
+ border-color: #707070;
+ border-bottom: 1px solid #b5e2f1;
+}
+div.navigation ul li.Debian a#current, div.navigation ul li.Debian a:link:hover#current, div.navigation ul li.Debian a:visited:hover#current {
+ color: #000000;
+ background: #ff8080;
+ border-color: #707070;
+ border-bottom: 1px solid #ff6c6c;
+}
+div.navigation ul li.linx a#current, div.navigation ul li.linx a:link:hover#current, div.navigation ul li.linx a:visited:hover#current {
+ color: #000000;
+ background: #ffb35a;
+ border-color: #707070;
+ border-bottom: 1px solid #ffb35a;
+}
+div.navigation ul li.text a#current, div.navigation ul li.text a:link:hover#current, div.navigation ul li.text a:visited:hover#current {
+ color: #000000;
+ background: #f4ff76;
+ border-color: #707070;
+ border-bottom: 1px solid #f4ff76;
+}
+div.navigation ul li.service a#current, div.navigation ul li.service a:link:hover#current, div.navigation ul li.service a:visited:hover#current {
+ color: #000000;
+ background: #ffa9fa;
+ border-color: #707070;
+ border-bottom: 1px solid #ffa9fa;
+}
+div.navigation ul li.zeitungen a#current, div.navigation ul li.zeitungen a:link:hover#current, div.navigation ul li.zeitungen a:visited:hover#current {
+ color: #000000;
+ background: #ab82ff;
+ border-color: #707070;
+ border-bottom: 1px solid #ab82ff;
+}
+div.navigation ul li.News a#current, div.navigation ul li.News a:link:hover#current, div.navigation ul li.News a:visited:hover#current {
+ color: #000000;
+ background: #32cd05;
+ border-color: #707070;
+ border-bottom: 1px solid #32cd05;
+}
+div.navigation ul li.projects a#current, div.navigation ul li.projects a:link:hover#current, div.navigation ul li.projects a:visited:hover#current {
+ color: #000000;
+ background: #20b705;
+ border-color: #707070;
+ border-bottom: 1px solid #20b705;
+}
+
+/*
+ * Second menu:
+ */
+div.submenu ul {
+ padding: 0 0;
+ margin-top: 3px;
+ margin-bottom: 0px;
+ font: bold 13px Verdana, Sans-Serif;
+}
+div.submenu ul li {
+ list-style: none;
+ margin: 0;
+ display: inline;
+}
+div.submenu ul li a.Infodrom {
+ padding: 3px 3px;
+ margin-right: 0px;
+ margin-left: 0px;
+ border: 1px solid #707070;
+ border-top-style: none;
+ background: #b1b1ff;
+ text-decoration: none;
+}
+div.submenu ul li a.Linux {
+ padding: 3px 3px;
+ margin-right: 0px;
+ margin-left: 0px;
+ border: 1px solid #707070;
+ border-top-style: none;
+ background: #b5e2f1;
+ text-decoration: none;
+}
+div.submenu ul li a.Debian {
+ padding: 3px 3px;
+ margin-right: 0px;
+ margin-left: 0px;
+ border: 1px solid #707070;
+ border-top-style: none;
+ background: #ff6c6c;
+ text-decoration: none;
+}
+div.submenu ul li a.linx {
+ padding: 3px 3px;
+ margin-right: 0px;
+ margin-left: 0px;
+ border: 1px solid #707070;
+ border-top-style: none;
+ background: #ffb35a;
+ text-decoration: none;
+}
+div.submenu ul li a.text {
+ padding: 3px 3px;
+ margin-right: 0px;
+ margin-left: 0px;
+ border: 1px solid #707070;
+ border-top-style: none;
+ background: #f4ff76;
+ text-decoration: none;
+}
+div.submenu ul li a.service {
+ padding: 3px 3px;
+ margin-right: 0px;
+ margin-left: 0px;
+ border: 1px solid #707070;
+ border-top-style: none;
+ background: #ffa9fa;
+ text-decoration: none;
+}
+div.submenu ul li a.zeitungen {
+ padding: 3px 3px;
+ margin-right: 0px;
+ margin-left: 0px;
+ border: 1px solid #707070;
+ border-top-style: none;
+ background: #ab82ff;
+ text-decoration: none;
+}
+div.submenu ul li a.News {
+ padding: 3px 3px;
+ margin-right: 0px;
+ margin-left: 0px;
+ border: 1px solid #707070;
+ border-top-style: none;
+ background: #32cd05;
+ text-decoration: none;
+}
+div.submenu ul li a.projects {
+ padding: 3px 3px;
+ margin-right: 0px;
+ margin-left: 0px;
+ border: 1px solid #707070;
+ border-top-style: none;
+ background: #20b705;
+ text-decoration: none;
+}
+div.submenu ul li a:link, div.submenu ul li a:visited {
+ color: #707070;
+}
+div.submenu ul li a:link:hover, div.submenu ul li a:visited:hover,
+div.submenu ul li a#current, div.submenu ul li a:link:hover#current,
+div.submenu ul li a:visited:hover#current {
+ color: #000000;
+ border-color: #000000;
+}
+
+/*
+ * Local variables:
+ * mode: indented-text
+ * mode: auto-fill
+ * End:
+*/