first cut of the new, shiny...
Andrew Lewman authored 13 years ago
|
1) #! /usr/bin/wml
2) <: use strict; :>
3) <: use warnings; :>
4) #use "perl-globals.wmi"
5) #use "links.wmi"
6) #use "versions.wmi"
7) #use "navigation.wmi"
8)
9) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
10) <html xmlns="http://www.w3.org/1999/xhtml">
11) <head>
12) <title>$(TITLE)</title>
13) <link rel="shortcut icon" type="image/x-icon" href="$(IMGROOT)/favicon.ico" />
14) <ifneq "$(REDIRECT)" "" "<meta http-equiv="refresh" content="0;url=$(DOCROOT)/$(REDIRECT)" />">
15) <ifneq "$(REDIRECT_GLOBAL)" "" "<meta http-equiv="refresh" content="0;url=$(REDIRECT_GLOBAL)" />">
16) <ifeq "$(ANNOUNCE_RSS)" "yes" "<link rel="alternate" title="Tor Project OR-announce" href="http://rss.gmane.org/gmane.network.onion-routing.announce" type="application/rss+xml" />">
17)
18) # begin WML to generate css/js paths
19) <ifneq "$(STYLESHEET)" "" "<link rel="stylesheet" type="text/css" href="$(DOCROOT)/$(STYLESHEET)" />">
20) <ifeq "$(STYLESHEET)" "" "<link rel="stylesheet" type="text/css" href="$(DOCROOT)/css/master.css" />">
21)
22) #<link href="css/master.css" rel="stylesheet" type="text/css" />
23) <!--[if lte IE 7]>
24) <link rel="stylesheet" type="text/css" href="$(DOCROOT)/css/ie7-and-down.css" />
25) <![endif]-->
26) <!--[if IE 6]>
27) <link rel="stylesheet" type="text/css" href="$(DOCROOT)/css/ie6.css" />
28) <![endif]-->
29) <script language="javascript" type="text/javascript" src="$(DOCROOT)/global.js"></script>
30) # end WML to generate css/js paths
31)
32) <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
33) <meta name="author" content="" />
34) <meta name="keywords" content="" />
35) <meta name="description" content="" />
36) </head>
37) <body>
38) <div id="wrap">
39) <div id="header">
40) <h1 id="logo"><a href="<page home>">Tor</a></h1>
41) # navigation menu generation
42) <div id="nav">
43) <ul>
44) <:{
45) # create a hash and maintain order of keys
46) my %navigation;
47) my @keys;
48) while (@navigation) {
49) my $key = shift @navigation;
50) my $val = shift @navigation;
51) push @keys, $key;
52) $navigation{$key} = $val;
53) }
54)
55) my $page = $WML_SRC_BASENAME;
56) my $lang = "$(LANG)";
57)
58) for my $key (@keys) {
59) my ($dir, $base) = $key =~ m,^(?:(.*)/)?(.*?)$,;
60)
61) # in directory of active link, set class active
62) my $class;
63) if ((defined $dir) and ($WML_SRC_DIRNAME =~/$dir/) or ($WML_SRC_BASENAME eq $base)) {
64) $class = 'class="active"';
65) } else {
66) $class = '';
67) }
68)
69) $dir = '.' unless defined $dir;
70)
71) # translated version
|
revert the pathing for lang
Andrew Lewman authored 13 years ago
|
72) if (-e "$(DOCROOT)/$dir/$lang/$base.wml") {
|
first cut of the new, shiny...
Andrew Lewman authored 13 years ago
|
73) printf '<li><a '.$class.' href="%s">%s</a></li>'."\n",
74) stripDotSlashs("$(DOCROOT)/$dir/$base.html.$(LANG)"),$navigation{$key};
75) }
76) # english version
77) elsif (-e "$(DOCROOT)/$dir/en/$base.wml") {
78) printf '<li><a '.$class.' href="%s">%s</a></li>'."\n",
79) stripDotSlashs("$(DOCROOT)/$dir/$base.html"), $navigation{$key};
80) }
81) # full url
82) elsif ($key =~/^http/) {
83) printf '<li><a href="%s">%s</a></li>'."\n", $key, $navigation{$key};
84) } else {
|
switch to Goldstein's idea...
Andrew Lewman authored 13 years ago
|
85) warn "$WML_SRC_FILENAME has a [page $key] (parses to
|
revert the pathing for lang
Andrew Lewman authored 13 years ago
|
86) docdir: $(DOCROOT)/; dir: $dir; base: $base -> $(DOCROOT)/$dir/$lang/$base.wml), but that doesn't exist.";
|
first cut of the new, shiny...
Andrew Lewman authored 13 years ago
|
87) }
88) }
89) }:>
90) </ul>
91) </div>
92) <!-- END NAV -->
93) # end navigation generation
94) <div id="calltoaction">
95) <ul>
96) <:{
97) my %calltoaction;
98) my @keys;
99) while (@calltoaction) {
100) my $key = shift @calltoaction;
101) my $val = shift @calltoaction;
102) push @keys, $key;
103) $calltoaction{$key} = $val;
104) }
105)
106) my $page = $WML_SRC_BASENAME;
107) my $lang = "$(LANG)";
108) for my $key (@keys) {
109) my ($dir, $base) = $key =~ m,^(?:(.*)/)?(.*?)$,;
110)
111) # in directory, set active
112) my $class;
113) if ((defined $dir) and ($WML_SRC_DIRNAME =~/$dir/) or ($WML_SRC_BASENAME eq $base)) {
114) #if ($WML_SRC_BASENAME eq $base) {
115) $class = 'class="active"';
116) } else {
117) $class = '';
118) }
119)
120) $dir = '.' unless defined $dir;
121) # try to use a translated version
|
revert the pathing for lang
Andrew Lewman authored 13 years ago
|
122) if (-e "$(DOCROOT)/$dir/$lang/$base.wml") {
|
first cut of the new, shiny...
Andrew Lewman authored 13 years ago
|
123) printf '<li class="donate"><a '.$class.' href="%s">%s</a></li>'."\n",
124) stripDotSlashs("$(DOCROOT)/$dir/$base.html.$(LANG)"),$calltoaction{$key};
125) }
126) # default to english version
127) elsif (-e "$(DOCROOT)/$dir/en/$base.wml") {
128) printf '<li class="donate"><a '.$class.' href="%s">%s</a></li>'."\n",
129) stripDotSlashs("$(DOCROOT)/$dir/$base.html"), $calltoaction{$key};
130) } else {
|
revert the pathing for lang
Andrew Lewman authored 13 years ago
|
131) warn "$WML_SRC_FILENAME has a [page $key] (parses to docdir: $(DOCROOT)/; dir: $dir; base: $base -> $(DOCROOT)/$dir/$lang/$base.wml), but that doesn't exist.";
|