summaryrefslogtreecommitdiff
path: root/skins/original/header.txt
diff options
context:
space:
mode:
authorcashmere <cashmere@autistici.org>2026-09-04 09:05:24 +0200
committercashmere <cashmere@autistici.org>2026-09-04 09:05:24 +0200
commit4f49b16079b27d7ce633619e4cddfdf2bffbc952 (patch)
treec296c1e7f3c3e2f6859c6d3a1b1b208779b89679 /skins/original/header.txt
downloadrelic-4f49b16079b27d7ce633619e4cddfdf2bffbc952.tar.gz
initial commitHEADmaster
Diffstat (limited to 'skins/original/header.txt')
-rw-r--r--skins/original/header.txt107
1 files changed, 107 insertions, 0 deletions
diff --git a/skins/original/header.txt b/skins/original/header.txt
new file mode 100644
index 0000000..a309241
--- /dev/null
+++ b/skins/original/header.txt
@@ -0,0 +1,107 @@
+<header>
+ <div class="logo">
+ <th1>
+ ##
+ ## NOTE: The purpose of this procedure is to take the base URL of the
+ ## Fossil project and return the root of the entire web site using
+ ## the same URI scheme as the base URL (e.g. http or https).
+ ##
+ proc getLogoUrl { baseurl } {
+ set idx(first) [string first // $baseurl]
+ if {$idx(first) != -1} {
+ ##
+ ## NOTE: Skip second slash.
+ ##
+ set idx(first+1) [expr {$idx(first) + 2}]
+ ##
+ ## NOTE: (part 1) The [string first] command does NOT actually
+ ## support the optional startIndex argument as specified
+ ## in the TH1 support manual; therefore, we fake it by
+ ## using the [string range] command and then adding the
+ ## necessary offset to the resulting index manually
+ ## (below). In Tcl, we could use the following instead:
+ ##
+ ## set idx(next) [string first / $baseurl $idx(first+1)]
+ ##
+ set idx(nextRange) [string range $baseurl $idx(first+1) end]
+ set idx(next) [string first / $idx(nextRange)]
+ if {$idx(next) != -1} {
+ ##
+ ## NOTE: (part 2) Add the necessary offset to the result of
+ ## the search for the next slash (i.e. the one after
+ ## the initial search for the two slashes).
+ ##
+ set idx(next) [expr {$idx(next) + $idx(first+1)}]
+ ##
+ ## NOTE: Back up one character from the next slash.
+ ##
+ set idx(next-1) [expr {$idx(next) - 1}]
+ ##
+ ## NOTE: Extract the URI scheme and host from the base URL.
+ ##
+ set scheme [string range $baseurl 0 $idx(first)]
+ set host [string range $baseurl $idx(first+1) $idx(next-1)]
+ ##
+ ## NOTE: Try to stay in SSL mode if we are there now.
+ ##
+ if {[string compare $scheme http:/] == 0} {
+ set scheme http://
+ } else {
+ set scheme https://
+ }
+ set logourl $scheme$host/
+ } else {
+ set logourl $baseurl
+ }
+ } else {
+ set logourl $baseurl
+ }
+ return $logourl
+ }
+ set logourl [getLogoUrl $baseurl]
+ </th1>
+ <a href="$logourl">
+ <img src="$logo_image_url" border="0" alt="$<project_name>">
+ </a>
+ </div>
+ <div class="title">$<title></div>
+ <div class="status"><nobr><th1>
+ if {[info exists login]} {
+ puts "Logged in as $login"
+ } else {
+ puts "Not logged in"
+ }
+ </th1></nobr><small><div id="clock"></div></small></div>
+</header>
+<th1>html "<script nonce='$nonce'>"</th1>
+ function updateClock(){
+ var e = document.getElementById("clock");
+ if(e){
+ var d = new Date();
+ function f(n) {
+ return n < 10 ? '0' + n : n;
+ }
+ e.innerHTML = d.getUTCFullYear()+ '-' +
+ f(d.getUTCMonth() + 1) + '-' +
+ f(d.getUTCDate()) + ' ' +
+ f(d.getUTCHours()) + ':' +
+ f(d.getUTCMinutes());
+ setTimeout(updateClock,(60-d.getUTCSeconds())*1000);
+ }
+ }
+ updateClock();
+</script>
+<nav class="mainmenu" title="Main Menu">
+ <th1>
+ set sitemap 0
+ foreach {name url expr class} $mainmenu {
+ if {![capexpr $expr]} continue
+ if {[string match /* $url]} {set url $home$url}
+ html "<a href='$url' class='$class'>$name</a>\n"
+ if {[string match */sitemap $url]} {set sitemap 1}
+ }
+ if {!$sitemap} {
+ html "<a href='$home/sitemap'>...</a>"
+ }
+ </th1>
+</nav>