webwml/include/head.wmi
2015-02-08 17:14:19 +01:00

150 lines
5.5 KiB
Plaintext

#! /usr/bin/wml
<: use strict; :>
<: use warnings; :>
#use "perl-globals.wmi"
#use "links.wmi"
#use "versions.wmi"
#use "navigation.wmi"
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="author" content="The Tor Project, Inc.">
<meta name="keywords" content="anonymity online, tor, tor project, censorship circumvention, traffic analysis, anonymous communications research">
<meta property="og:image" content="https://www.torproject.org/images/tor-logo.jpg">
<title>$(TITLE)</title>
<link rel="icon" href="$(IMGROOT)/favicon.ico">
<ifneq "$(REDIRECT)" "" "<meta http-equiv="refresh" content="0;url=$(DOCROOT)/$(REDIRECT)">">
<ifneq "$(REDIRECT_GLOBAL)" "" "<meta http-equiv="refresh" content="0;url=$(REDIRECT_GLOBAL)">">
# begin WML to generate css/js paths
<ifneq "$(STYLESHEET)" "" "<link href="$(DOCROOT)/$(STYLESHEET)" rel="stylesheet">">
<ifeq "$(STYLESHEET)" "" "<link href="$(DOCROOT)/css/master.css" rel="stylesheet">">
#<link href="css/master.css" rel="stylesheet">
<!--[if lte IE 8]>
<link href="$(DOCROOT)/css/ie8-and-down.css" rel="stylesheet">
<![endif]-->
<!--[if lte IE 7]>
<link href="$(DOCROOT)/css/ie7-and-down.css" rel="stylesheet">
<![endif]-->
<!--[if IE 6]>
<link href="$(DOCROOT)/css/ie6.css" rel="stylesheet">
<![endif]-->
# <script language="javascript" type="text/javascript" src="$(DOCROOT)/global.js"></script>
# end WML to generate css/js paths
</head>
<body>
<div id="wrap">
<div id="header">
<h1 id="logo"><a href="<page index>">Tor</a></h1>
# navigation menu generation
<div id="nav">
<ul>
<:{
# create a hash and maintain order of keys
my %navigation;
my @keys;
while (@navigation) {
my $key = shift @navigation;
my $val = shift @navigation;
push @keys, $key;
$navigation{$key} = $val;
}
my $page = $WML_SRC_BASENAME;
my $lang = "$(LANG)";
for my $key (@keys) {
my ($dir, $base) = $key =~ m,^(?:(.*)/)?(.*?)$,;
# in directory of active link, set class active
my $class;
if ((defined $dir) and ($WML_SRC_DIRNAME =~/$dir/) or ($WML_SRC_BASENAME eq $base)) {
$class = 'class="active"';
} else {
$class = '';
}
$dir = '.' unless defined $dir;
# translated version
if (-e "$(DOCROOT)/$dir/$lang/$base.wml") {
printf '<li><a '.$class.' href="%s">%s</a></li>'."\n",
stripDotSlashs("$(DOCROOT)/$dir/$base.html.$(LANG)"),$navigation{$key};
}
# english version
elsif (-e "$(DOCROOT)/$dir/en/$base.wml") {
printf '<li><a '.$class.' href="%s">%s</a></li>'."\n",
stripDotSlashs("$(DOCROOT)/$dir/$base.html"), $navigation{$key};
}
# full url
elsif ($key =~/^http/) {
printf '<li><a href="%s">%s</a></li>'."\n", $key, $navigation{$key};
} else {
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.";
}
}
}:>
</ul>
</div>
<!-- END NAV -->
# end navigation generation
<div id="calltoaction">
<ul>
<:{
my %calltoaction;
my @keys;
while (@calltoaction) {
my $key = shift @calltoaction;
my $val = shift @calltoaction;
push @keys, $key;
$calltoaction{$key} = $val;
}
my $page = $WML_SRC_BASENAME;
my $lang = "$(LANG)";
for my $key (@keys) {
my ($dir, $base) = $key =~ m,^(?:(.*)/)?(.*?)$,;
# in directory, set active
my $class;
if ((defined $dir) and ($WML_SRC_DIRNAME =~/$dir/) or ($WML_SRC_BASENAME eq $base)) {
#if ($WML_SRC_BASENAME eq $base) {
$class = 'class="active"';
} else {
$class = '';
}
$dir = '.' unless defined $dir;
# try to use a translated version
if (-e "$(DOCROOT)/$dir/$lang/$base.wml") {
printf '<li class="donate"><a '.$class.' href="%s">%s</a></li>'."\n",
stripDotSlashs("$(DOCROOT)/$dir/$base.html.$(LANG)"),$calltoaction{$key};
}
# default to english version
elsif (-e "$(DOCROOT)/$dir/en/$base.wml") {
printf '<li class="donate"><a '.$class.' href="%s">%s</a></li>'."\n",
stripDotSlashs("$(DOCROOT)/$dir/$base.html"), $calltoaction{$key};
} else {
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.";
}
}
}:>
</ul>
</div>
<!-- END CALLTOACTION -->
</div>
<!-- END HEADER -->
#<ifneq "$(REDIRECT)" "" "Redirecting to <a href="$(DOCROOT)/$(REDIRECT)">$(DOCROOT)/$(REDIRECT)</a>.">
#<ifneq "$(REDIRECT_GLOBAL)" "" "Redirecting to <a href="$(REDIRECT_GLOBAL)">$(REDIRECT_GLOBAL)</a>.">