Fossil SCM

Applied semantic header and footer tag changes made to the default skin to all the others. This not only improves WCAG 2 conformance, it's necessary to allow the prior commit's changes to the /chat JS to find the equivalent header/footer/mainmenu/hbdrop tags in these skins, too.

wyoung 2024-02-10 23:15 trunk
Commit 8f344297a429feb8dd95ef21920d3032f268f5c543a8361cd70e56eb513a57cc
--- skins/ardoise/css.txt
+++ skins/ardoise/css.txt
@@ -616,11 +616,11 @@
616616
pre,
617617
table,
618618
ul {
619619
margin-bottom: 1.5rem
620620
}
621
-.header {
621
+header {
622622
color: #888;
623623
font-weight: 400;
624624
padding-top: 10px;
625625
border-width: 0
626626
}
@@ -629,32 +629,32 @@
629629
border-left: 2px solid #888;
630630
content: '';
631631
position: absolute
632632
}
633633
.filetree>ul,
634
-.header .logo,
635
-.header .logo h1 {
634
+header .logo,
635
+header .logo h1 {
636636
display: inline-block
637637
}
638
-.header .login {
638
+header .login {
639639
padding-top: 2px;
640640
text-align: right
641641
}
642
-.header .login .button {
642
+header .login .button {
643643
margin: 0
644644
}
645
-.header h1 {
645
+header h1 {
646646
margin: 0;
647647
color: #888;
648648
display: inline-block
649649
}
650
-.header .title h1 {
650
+header .title h1 {
651651
padding-bottom: 10px
652652
}
653
-.header .login,
654
-.header h1 small,
655
-.header h2 small {
653
+header .login,
654
+header h1 small,
655
+header h2 small {
656656
color: #777
657657
}
658658
.middle {
659659
background-color: #1d2021;
660660
padding-bottom: 20px;
@@ -684,21 +684,21 @@
684684
padding: 1px 20px;
685685
margin: 0 0 20px;
686686
background: #000;
687687
border-radius: 5px
688688
}
689
-.footer {
689
+footer {
690690
padding: 10px 0 60px;
691691
border-top: 0;
692692
color: #888
693693
}
694
-.footer a {
694
+footer a {
695695
color: #527b8f;
696696
background-repeat: no-repeat;
697697
background-position: center top 10px
698698
}
699
-.footer a:hover {
699
+footer a:hover {
700700
color: #eef8ff
701701
}
702702
.mainmenu {
703703
background-color: #161819;
704704
border-top-right-radius: 15px;
@@ -733,11 +733,11 @@
733733
border-radius: 5px
734734
}
735735
.mainmenu li:hover a {
736736
color: #000
737737
}
738
-div#hbdrop {
738
+nav#hbdrop {
739739
background-color: #161819;
740740
border-radius: 15px;
741741
display: none;
742742
width: 100%;
743743
position: absolute;
744744
--- skins/ardoise/css.txt
+++ skins/ardoise/css.txt
@@ -616,11 +616,11 @@
616 pre,
617 table,
618 ul {
619 margin-bottom: 1.5rem
620 }
621 .header {
622 color: #888;
623 font-weight: 400;
624 padding-top: 10px;
625 border-width: 0
626 }
@@ -629,32 +629,32 @@
629 border-left: 2px solid #888;
630 content: '';
631 position: absolute
632 }
633 .filetree>ul,
634 .header .logo,
635 .header .logo h1 {
636 display: inline-block
637 }
638 .header .login {
639 padding-top: 2px;
640 text-align: right
641 }
642 .header .login .button {
643 margin: 0
644 }
645 .header h1 {
646 margin: 0;
647 color: #888;
648 display: inline-block
649 }
650 .header .title h1 {
651 padding-bottom: 10px
652 }
653 .header .login,
654 .header h1 small,
655 .header h2 small {
656 color: #777
657 }
658 .middle {
659 background-color: #1d2021;
660 padding-bottom: 20px;
@@ -684,21 +684,21 @@
684 padding: 1px 20px;
685 margin: 0 0 20px;
686 background: #000;
687 border-radius: 5px
688 }
689 .footer {
690 padding: 10px 0 60px;
691 border-top: 0;
692 color: #888
693 }
694 .footer a {
695 color: #527b8f;
696 background-repeat: no-repeat;
697 background-position: center top 10px
698 }
699 .footer a:hover {
700 color: #eef8ff
701 }
702 .mainmenu {
703 background-color: #161819;
704 border-top-right-radius: 15px;
@@ -733,11 +733,11 @@
733 border-radius: 5px
734 }
735 .mainmenu li:hover a {
736 color: #000
737 }
738 div#hbdrop {
739 background-color: #161819;
740 border-radius: 15px;
741 display: none;
742 width: 100%;
743 position: absolute;
744
--- skins/ardoise/css.txt
+++ skins/ardoise/css.txt
@@ -616,11 +616,11 @@
616 pre,
617 table,
618 ul {
619 margin-bottom: 1.5rem
620 }
621 header {
622 color: #888;
623 font-weight: 400;
624 padding-top: 10px;
625 border-width: 0
626 }
@@ -629,32 +629,32 @@
629 border-left: 2px solid #888;
630 content: '';
631 position: absolute
632 }
633 .filetree>ul,
634 header .logo,
635 header .logo h1 {
636 display: inline-block
637 }
638 header .login {
639 padding-top: 2px;
640 text-align: right
641 }
642 header .login .button {
643 margin: 0
644 }
645 header h1 {
646 margin: 0;
647 color: #888;
648 display: inline-block
649 }
650 header .title h1 {
651 padding-bottom: 10px
652 }
653 header .login,
654 header h1 small,
655 header h2 small {
656 color: #777
657 }
658 .middle {
659 background-color: #1d2021;
660 padding-bottom: 20px;
@@ -684,21 +684,21 @@
684 padding: 1px 20px;
685 margin: 0 0 20px;
686 background: #000;
687 border-radius: 5px
688 }
689 footer {
690 padding: 10px 0 60px;
691 border-top: 0;
692 color: #888
693 }
694 footer a {
695 color: #527b8f;
696 background-repeat: no-repeat;
697 background-position: center top 10px
698 }
699 footer a:hover {
700 color: #eef8ff
701 }
702 .mainmenu {
703 background-color: #161819;
704 border-top-right-radius: 15px;
@@ -733,11 +733,11 @@
733 border-radius: 5px
734 }
735 .mainmenu li:hover a {
736 color: #000
737 }
738 nav#hbdrop {
739 background-color: #161819;
740 border-radius: 15px;
741 display: none;
742 width: 100%;
743 position: absolute;
744
--- skins/ardoise/footer.txt
+++ skins/ardoise/footer.txt
@@ -1,15 +1,15 @@
1
- <th1>
2
- if {[string first artifact $current_page] == 0 || [string first hexdump $current_page] == 0} {
3
- html "</div>"
4
- }
5
- </th1>
1
+ <th1>
2
+ if {[string first artifact $current_page] == 0 || [string first hexdump $current_page] == 0} {
3
+ html "</div>"
4
+ }
5
+ </th1>
66
</div> <!-- end div container -->
77
</div> <!-- end div middle max-full-width -->
8
-<div class="footer">
8
+<footer>
99
<div class="container">
1010
<div class="pull-right">
1111
<a href="https://fossil-scm.org/">Fossil $release_version $manifest_version $manifest_date</a>
1212
</div>
1313
This page was generated in about <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s
1414
</div>
15
-</div>
15
+</footer>
1616
--- skins/ardoise/footer.txt
+++ skins/ardoise/footer.txt
@@ -1,15 +1,15 @@
1 <th1>
2 if {[string first artifact $current_page] == 0 || [string first hexdump $current_page] == 0} {
3 html "</div>"
4 }
5 </th1>
6 </div> <!-- end div container -->
7 </div> <!-- end div middle max-full-width -->
8 <div class="footer">
9 <div class="container">
10 <div class="pull-right">
11 <a href="https://fossil-scm.org/">Fossil $release_version $manifest_version $manifest_date</a>
12 </div>
13 This page was generated in about <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s
14 </div>
15 </div>
16
--- skins/ardoise/footer.txt
+++ skins/ardoise/footer.txt
@@ -1,15 +1,15 @@
1 <th1>
2 if {[string first artifact $current_page] == 0 || [string first hexdump $current_page] == 0} {
3 html "</div>"
4 }
5 </th1>
6 </div> <!-- end div container -->
7 </div> <!-- end div middle max-full-width -->
8 <footer>
9 <div class="container">
10 <div class="pull-right">
11 <a href="https://fossil-scm.org/">Fossil $release_version $manifest_version $manifest_date</a>
12 </div>
13 This page was generated in about <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s
14 </div>
15 </footer>
16
--- skins/ardoise/header.txt
+++ skins/ardoise/header.txt
@@ -1,6 +1,6 @@
1
-<div class="header">
1
+<header>
22
<div class="container">
33
<div class="login pull-right">
44
<th1>
55
if {[info exists login]} {
66
html "<b>$login</b> — <a class='button' href='$home/login'>Logout</a>\n"
@@ -18,33 +18,34 @@
1818
</th1>
1919
<small> &nbsp;$<title></small></h1>
2020
</div>
2121
2222
<!-- Main Menu -->
23
- <div class="mainmenu">
23
+ <nav class="mainmenu" title="Main Menu">
2424
<ul>
2525
<th1>
26
-html "<li><a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a></li>\n"
27
-builtin_request_js hbmenu.js
28
-set once 1
29
-foreach {name url expr class} $mainmenu {
30
- if {![capexpr $expr]} continue
31
- if {$once && [string match $url\[/?#\]* /$current_page/]} {
32
- set class "$class active"
33
- set once 0
34
- }
35
- html "<li class='$class'>"
36
- if {[string match /* $url]} {set url $home$url}
37
- html "<a href='$url'>$name</a></li>\n"
38
-}
39
-</th1></ul>
40
- </div> <!-- end div mainmenu -->
41
- <div id="hbdrop"></div>
42
- </div> <!-- end div container -->
43
- </div> <!-- end div header -->
44
- <div class="middle max-full-width">
45
- <div class="container">
46
- <th1>
47
- if {[string first artifact $current_page] == 0 || [string first hexdump $current_page] == 0} {
48
- html "<div class=\"artifact_content\">"
26
+ html "<li><a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a></li>\n"
27
+ builtin_request_js hbmenu.js
28
+ set once 1
29
+ foreach {name url expr class} $mainmenu {
30
+ if {![capexpr $expr]} continue
31
+ if {$once && [string match $url\[/?#\]* /$current_page/]} {
32
+ set class "$class active"
33
+ set once 0
34
+ }
35
+ html "<li class='$class'>"
36
+ if {[string match /* $url]} {set url $home$url}
37
+ html "<a href='$url'>$name</a></li>\n"
4938
}
5039
</th1>
40
+ </ul>
41
+ </nav>
42
+ <nav id="hbdrop" class='hbdrop' title="sitemap"></nav>
43
+ </div> <!-- end div container -->
44
+</header>
45
+<div class="middle max-full-width">
46
+ <div class="container">
47
+ <th1>
48
+ if {[string first artifact $current_page] == 0 || [string first hexdump $current_page] == 0} {
49
+ html "<div class=\"artifact_content\">"
50
+ }
51
+ </th1>
5152
--- skins/ardoise/header.txt
+++ skins/ardoise/header.txt
@@ -1,6 +1,6 @@
1 <div class="header">
2 <div class="container">
3 <div class="login pull-right">
4 <th1>
5 if {[info exists login]} {
6 html "<b>$login</b> — <a class='button' href='$home/login'>Logout</a>\n"
@@ -18,33 +18,34 @@
18 </th1>
19 <small> &nbsp;$<title></small></h1>
20 </div>
21
22 <!-- Main Menu -->
23 <div class="mainmenu">
24 <ul>
25 <th1>
26 html "<li><a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a></li>\n"
27 builtin_request_js hbmenu.js
28 set once 1
29 foreach {name url expr class} $mainmenu {
30 if {![capexpr $expr]} continue
31 if {$once && [string match $url\[/?#\]* /$current_page/]} {
32 set class "$class active"
33 set once 0
34 }
35 html "<li class='$class'>"
36 if {[string match /* $url]} {set url $home$url}
37 html "<a href='$url'>$name</a></li>\n"
38 }
39 </th1></ul>
40 </div> <!-- end div mainmenu -->
41 <div id="hbdrop"></div>
42 </div> <!-- end div container -->
43 </div> <!-- end div header -->
44 <div class="middle max-full-width">
45 <div class="container">
46 <th1>
47 if {[string first artifact $current_page] == 0 || [string first hexdump $current_page] == 0} {
48 html "<div class=\"artifact_content\">"
49 }
50 </th1>
 
 
 
 
 
 
 
 
 
 
 
 
51
--- skins/ardoise/header.txt
+++ skins/ardoise/header.txt
@@ -1,6 +1,6 @@
1 <header>
2 <div class="container">
3 <div class="login pull-right">
4 <th1>
5 if {[info exists login]} {
6 html "<b>$login</b> — <a class='button' href='$home/login'>Logout</a>\n"
@@ -18,33 +18,34 @@
18 </th1>
19 <small> &nbsp;$<title></small></h1>
20 </div>
21
22 <!-- Main Menu -->
23 <nav class="mainmenu" title="Main Menu">
24 <ul>
25 <th1>
26 html "<li><a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a></li>\n"
27 builtin_request_js hbmenu.js
28 set once 1
29 foreach {name url expr class} $mainmenu {
30 if {![capexpr $expr]} continue
31 if {$once && [string match $url\[/?#\]* /$current_page/]} {
32 set class "$class active"
33 set once 0
34 }
35 html "<li class='$class'>"
36 if {[string match /* $url]} {set url $home$url}
37 html "<a href='$url'>$name</a></li>\n"
 
 
 
 
 
 
 
 
 
 
 
38 }
39 </th1>
40 </ul>
41 </nav>
42 <nav id="hbdrop" class='hbdrop' title="sitemap"></nav>
43 </div> <!-- end div container -->
44 </header>
45 <div class="middle max-full-width">
46 <div class="container">
47 <th1>
48 if {[string first artifact $current_page] == 0 || [string first hexdump $current_page] == 0} {
49 html "<div class=\"artifact_content\">"
50 }
51 </th1>
52
--- skins/black_and_white/css.txt
+++ skins/black_and_white/css.txt
@@ -49,11 +49,11 @@
4949
font-weight: bold;
5050
white-space: nowrap;
5151
}
5252
5353
/* The header across the top of the page */
54
-div.header {
54
+header {
5555
margin:10px 0px 10px 0px;
5656
padding:1px 0px 0px 20px;
5757
border-style:solid;
5858
border-color:black;
5959
border-width:1px 0px;
@@ -60,11 +60,11 @@
6060
background-color:#eee;
6161
}
6262
6363
/* The main menu bar that appears at the top left of the page beneath
6464
** the header. Width must be co-ordinated with the container below */
65
-div.mainmenu {
65
+nav.mainmenu {
6666
float: left;
6767
margin-left: 10px;
6868
margin-right: 20px;
6969
font-size: 0.9em;
7070
font-weight: bold;
@@ -73,20 +73,20 @@
7373
border:1px solid #999;
7474
width:6em;
7575
}
7676
7777
/* Main menu is now a list */
78
-div.mainmenu ul {
78
+nav.mainmenu ul {
7979
padding: 0;
8080
list-style:none;
8181
}
82
-div.mainmenu a, div.mainmenu a:visited{
82
+nav.mainmenu a, nav.mainmenu a:visited{
8383
padding: 1px 10px 1px 10px;
8484
color: #333;
8585
text-decoration: none;
8686
}
87
-div.mainmenu a:hover {
87
+nav.mainmenu a:hover {
8888
color: #eee;
8989
background-color: #333;
9090
}
9191
9292
/* Container for the sub-menu and content so they don't spread
@@ -149,11 +149,11 @@
149149
color: #333;
150150
white-space: nowrap;
151151
}
152152
153153
/* The footer at the very bottom of the page */
154
-div.footer {
154
+footer {
155155
font-size: 0.8em;
156156
margin-top: 12px;
157157
padding: 5px 10px 5px 10px;
158158
text-align: right;
159159
background-color: #eee;
160160
--- skins/black_and_white/css.txt
+++ skins/black_and_white/css.txt
@@ -49,11 +49,11 @@
49 font-weight: bold;
50 white-space: nowrap;
51 }
52
53 /* The header across the top of the page */
54 div.header {
55 margin:10px 0px 10px 0px;
56 padding:1px 0px 0px 20px;
57 border-style:solid;
58 border-color:black;
59 border-width:1px 0px;
@@ -60,11 +60,11 @@
60 background-color:#eee;
61 }
62
63 /* The main menu bar that appears at the top left of the page beneath
64 ** the header. Width must be co-ordinated with the container below */
65 div.mainmenu {
66 float: left;
67 margin-left: 10px;
68 margin-right: 20px;
69 font-size: 0.9em;
70 font-weight: bold;
@@ -73,20 +73,20 @@
73 border:1px solid #999;
74 width:6em;
75 }
76
77 /* Main menu is now a list */
78 div.mainmenu ul {
79 padding: 0;
80 list-style:none;
81 }
82 div.mainmenu a, div.mainmenu a:visited{
83 padding: 1px 10px 1px 10px;
84 color: #333;
85 text-decoration: none;
86 }
87 div.mainmenu a:hover {
88 color: #eee;
89 background-color: #333;
90 }
91
92 /* Container for the sub-menu and content so they don't spread
@@ -149,11 +149,11 @@
149 color: #333;
150 white-space: nowrap;
151 }
152
153 /* The footer at the very bottom of the page */
154 div.footer {
155 font-size: 0.8em;
156 margin-top: 12px;
157 padding: 5px 10px 5px 10px;
158 text-align: right;
159 background-color: #eee;
160
--- skins/black_and_white/css.txt
+++ skins/black_and_white/css.txt
@@ -49,11 +49,11 @@
49 font-weight: bold;
50 white-space: nowrap;
51 }
52
53 /* The header across the top of the page */
54 header {
55 margin:10px 0px 10px 0px;
56 padding:1px 0px 0px 20px;
57 border-style:solid;
58 border-color:black;
59 border-width:1px 0px;
@@ -60,11 +60,11 @@
60 background-color:#eee;
61 }
62
63 /* The main menu bar that appears at the top left of the page beneath
64 ** the header. Width must be co-ordinated with the container below */
65 nav.mainmenu {
66 float: left;
67 margin-left: 10px;
68 margin-right: 20px;
69 font-size: 0.9em;
70 font-weight: bold;
@@ -73,20 +73,20 @@
73 border:1px solid #999;
74 width:6em;
75 }
76
77 /* Main menu is now a list */
78 nav.mainmenu ul {
79 padding: 0;
80 list-style:none;
81 }
82 nav.mainmenu a, nav.mainmenu a:visited{
83 padding: 1px 10px 1px 10px;
84 color: #333;
85 text-decoration: none;
86 }
87 nav.mainmenu a:hover {
88 color: #eee;
89 background-color: #333;
90 }
91
92 /* Container for the sub-menu and content so they don't spread
@@ -149,11 +149,11 @@
149 color: #333;
150 white-space: nowrap;
151 }
152
153 /* The footer at the very bottom of the page */
154 footer {
155 font-size: 0.8em;
156 margin-top: 12px;
157 padding: 5px 10px 5px 10px;
158 text-align: right;
159 background-color: #eee;
160
--- skins/black_and_white/footer.txt
+++ skins/black_and_white/footer.txt
@@ -1,3 +1,3 @@
1
-<div class="footer">
1
+<footer>
22
Fossil $release_version $manifest_version $manifest_date
3
-</div>
3
+</footer>
44
--- skins/black_and_white/footer.txt
+++ skins/black_and_white/footer.txt
@@ -1,3 +1,3 @@
1 <div class="footer">
2 Fossil $release_version $manifest_version $manifest_date
3 </div>
4
--- skins/black_and_white/footer.txt
+++ skins/black_and_white/footer.txt
@@ -1,3 +1,3 @@
1 <footer>
2 Fossil $release_version $manifest_version $manifest_date
3 </footer>
4
--- skins/black_and_white/header.txt
+++ skins/black_and_white/header.txt
@@ -1,27 +1,28 @@
1
-<div class="header">
1
+<header>
22
<div class="logo">
33
<img src="$logo_image_url" alt="logo">
44
<br />$<project_name>
55
</div>
66
<div class="title">$<title></div>
77
<div class="status"><th1>
8
- if {[info exists login]} {
9
- puts "Logged in as $login"
10
- } else {
11
- puts "Not logged in"
12
- }
13
- </th1></div>
14
-</div>
15
-<div class="mainmenu">
16
-<th1>
17
-set sitemap 0
18
-foreach {name url expr class} $mainmenu {
19
- if {![capexpr $expr]} continue
20
- if {[string match /* $url]} {set url $home$url}
21
- html "<a href='$url'>$name</a><br/>\n"
22
- if {[string match /sitemap $url]} {set sitemap 1}
23
-}
24
-if {!$sitemap} {
25
- html "<a href='$home/sitemap'>Sitemap</a>\n"
26
-}
27
-</th1></div>
8
+ if {[info exists login]} {
9
+ puts "Logged in as $login"
10
+ } else {
11
+ puts "Not logged in"
12
+ }
13
+ </th1></div>
14
+</header>
15
+<nav class="mainmenu" title="Main Menu">
16
+ <th1>
17
+ set sitemap 0
18
+ foreach {name url expr class} $mainmenu {
19
+ if {![capexpr $expr]} continue
20
+ if {[string match /* $url]} {set url $home$url}
21
+ html "<a href='$url'>$name</a><br/>\n"
22
+ if {[string match /sitemap $url]} {set sitemap 1}
23
+ }
24
+ if {!$sitemap} {
25
+ html "<a href='$home/sitemap'>Sitemap</a>\n"
26
+ }
27
+ </th1>
28
+</nav>
2829
--- skins/black_and_white/header.txt
+++ skins/black_and_white/header.txt
@@ -1,27 +1,28 @@
1 <div class="header">
2 <div class="logo">
3 <img src="$logo_image_url" alt="logo">
4 <br />$<project_name>
5 </div>
6 <div class="title">$<title></div>
7 <div class="status"><th1>
8 if {[info exists login]} {
9 puts "Logged in as $login"
10 } else {
11 puts "Not logged in"
12 }
13 </th1></div>
14 </div>
15 <div class="mainmenu">
16 <th1>
17 set sitemap 0
18 foreach {name url expr class} $mainmenu {
19 if {![capexpr $expr]} continue
20 if {[string match /* $url]} {set url $home$url}
21 html "<a href='$url'>$name</a><br/>\n"
22 if {[string match /sitemap $url]} {set sitemap 1}
23 }
24 if {!$sitemap} {
25 html "<a href='$home/sitemap'>Sitemap</a>\n"
26 }
27 </th1></div>
 
28
--- skins/black_and_white/header.txt
+++ skins/black_and_white/header.txt
@@ -1,27 +1,28 @@
1 <header>
2 <div class="logo">
3 <img src="$logo_image_url" alt="logo">
4 <br />$<project_name>
5 </div>
6 <div class="title">$<title></div>
7 <div class="status"><th1>
8 if {[info exists login]} {
9 puts "Logged in as $login"
10 } else {
11 puts "Not logged in"
12 }
13 </th1></div>
14 </header>
15 <nav class="mainmenu" title="Main Menu">
16 <th1>
17 set sitemap 0
18 foreach {name url expr class} $mainmenu {
19 if {![capexpr $expr]} continue
20 if {[string match /* $url]} {set url $home$url}
21 html "<a href='$url'>$name</a><br/>\n"
22 if {[string match /sitemap $url]} {set sitemap 1}
23 }
24 if {!$sitemap} {
25 html "<a href='$home/sitemap'>Sitemap</a>\n"
26 }
27 </th1>
28 </nav>
29
--- skins/blitz/css.txt
+++ skins/blitz/css.txt
@@ -755,51 +755,51 @@
755755
756756
757757
/* Header
758758
* Div displayed at the top of every page.
759759
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
760
-.header {
760
+header {
761761
color: #666;
762762
font-weight: 400;
763763
padding-top: 10px;
764764
border-width: 0px;
765765
border-top: 4px solid #446979;
766766
border-bottom: 1px solid #ccc;
767767
}
768768
769
-.header .logo {
769
+header .logo {
770770
display: inline-block;
771771
}
772772
773
-.header .login {
773
+header .login {
774774
padding-top: 2px;
775775
text-align: right;
776776
}
777777
778
-.header .login .button {
778
+header .login .button {
779779
margin: 0;
780780
}
781781
782
-.header h1 {
782
+header h1 {
783783
margin: 0px;
784784
color: #666;
785785
display: inline-block;
786786
}
787787
788
-.header .logo h1 {
788
+header .logo h1 {
789789
display: inline-block;
790790
}
791791
792
-.header .title h1 {
792
+header .title h1 {
793793
padding-bottom: 10px;
794794
}
795795
796
-.header h1 small, .header h2 small {
796
+header h1 small, header h2 small {
797797
color: #888;
798798
}
799799
800
-.header a.rss {
800
+header a.rss {
801801
display: inline-block;
802802
padding: 10px 15px;
803803
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3wMNDhwn05VjawAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAGlSURBVDjLrdPfb8xREAXwT7tIl+paVNaPJghCKC8kXv0XXvyNXsRfwYPQJqVKiqykWFVZXd12vcxNJtduUtJJvrm7984998ycMxxwNGI9jPs4j7nY+/U/gIdiPYO71dk21rCE7r8ybOHGmMfmcRNnsbEf1gXwNzqYSXs5WljEMXzAaBLg1Ji9Js7hOi6OeeAznqC/X8AcMyHWYpX7E4/Rm1QyHMdefCWGeI/VcMDR2D8S7Fci5y/AeTzCPVyLi1sYJAut4BTaiX0n9kc14MmkcjPY3I5LXezGtxqKtyJ3Lir6VAM2AmCq6m8Hl6PsQTB5hyvxmMhZxk4G3MZLfAwLtdNZM9rwOs528TVVNB3ga7UoQ2wGmyWciFaU0VwIJiP8iL6Xfp7GK+w0JthliDep8UKonTSGvbBTaU8f3QzYxgPcCsBvWK9E6OBFCNGPVjTTqC430p+H6fLVGLGtmIw7SbwevqT+XkgVPJ9Otpmtyl6I9XswLXEp/d6oPN0ugJu14xMLob4kgPRYjtkCOMDTUG+AZ3ibEtfDLorfEmAB3UuTdXDxBzUUZV+B82aLAAAAAElFTkSuQmCC);
804804
background-position: center center;
805805
background-repeat: no-repeat;
@@ -830,20 +830,20 @@
830830
831831
832832
/* Footer
833833
* Displayed after the middle div and forms the page bottom.
834834
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
835
-.footer {
835
+footer {
836836
padding: 10px 0 60px;
837837
border-top: 1px solid #ccc;
838838
background-color: #f8f8f8;
839839
background-image: url(data:image/png;base64,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);
840840
background-repeat: no-repeat;
841841
background-position: center top 10px;
842842
}
843843
844
-.footer a {
844
+footer a {
845845
color: #3b5c6b;
846846
}
847847
848848
849849
/* Main Menu
@@ -871,25 +871,25 @@
871871
background-repeat: no-repeat;
872872
background-position: center bottom;
873873
}
874874
875875
.mainmenu li a,
876
-div#hbdrop a {
876
+nav#hbdrop a {
877877
color: #3b5c6b;
878878
padding: 10px 15px;
879879
}
880880
881881
.mainmenu li.active a {
882882
font-weight: bold;
883883
}
884884
885885
.mainmenu li:hover
886
-div#hbdrop a:hover {
886
+nav#hbdrop a:hover {
887887
background-color: #eee;
888888
}
889889
890
-div#hbdrop {
890
+nav#hbdrop {
891891
background-color: white;
892892
border: 2px solid #ccc;
893893
display: none;
894894
width: 100%;
895895
position: absolute;
896896
--- skins/blitz/css.txt
+++ skins/blitz/css.txt
@@ -755,51 +755,51 @@
755
756
757 /* Header
758 * Div displayed at the top of every page.
759 ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
760 .header {
761 color: #666;
762 font-weight: 400;
763 padding-top: 10px;
764 border-width: 0px;
765 border-top: 4px solid #446979;
766 border-bottom: 1px solid #ccc;
767 }
768
769 .header .logo {
770 display: inline-block;
771 }
772
773 .header .login {
774 padding-top: 2px;
775 text-align: right;
776 }
777
778 .header .login .button {
779 margin: 0;
780 }
781
782 .header h1 {
783 margin: 0px;
784 color: #666;
785 display: inline-block;
786 }
787
788 .header .logo h1 {
789 display: inline-block;
790 }
791
792 .header .title h1 {
793 padding-bottom: 10px;
794 }
795
796 .header h1 small, .header h2 small {
797 color: #888;
798 }
799
800 .header a.rss {
801 display: inline-block;
802 padding: 10px 15px;
803 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3wMNDhwn05VjawAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAGlSURBVDjLrdPfb8xREAXwT7tIl+paVNaPJghCKC8kXv0XXvyNXsRfwYPQJqVKiqykWFVZXd12vcxNJtduUtJJvrm7984998ycMxxwNGI9jPs4j7nY+/U/gIdiPYO71dk21rCE7r8ybOHGmMfmcRNnsbEf1gXwNzqYSXs5WljEMXzAaBLg1Ji9Js7hOi6OeeAznqC/X8AcMyHWYpX7E4/Rm1QyHMdefCWGeI/VcMDR2D8S7Fci5y/AeTzCPVyLi1sYJAut4BTaiX0n9kc14MmkcjPY3I5LXezGtxqKtyJ3Lir6VAM2AmCq6m8Hl6PsQTB5hyvxmMhZxk4G3MZLfAwLtdNZM9rwOs528TVVNB3ga7UoQ2wGmyWciFaU0VwIJiP8iL6Xfp7GK+w0JthliDep8UKonTSGvbBTaU8f3QzYxgPcCsBvWK9E6OBFCNGPVjTTqC430p+H6fLVGLGtmIw7SbwevqT+XkgVPJ9Otpmtyl6I9XswLXEp/d6oPN0ugJu14xMLob4kgPRYjtkCOMDTUG+AZ3ibEtfDLorfEmAB3UuTdXDxBzUUZV+B82aLAAAAAElFTkSuQmCC);
804 background-position: center center;
805 background-repeat: no-repeat;
@@ -830,20 +830,20 @@
830
831
832 /* Footer
833 * Displayed after the middle div and forms the page bottom.
834 ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
835 .footer {
836 padding: 10px 0 60px;
837 border-top: 1px solid #ccc;
838 background-color: #f8f8f8;
839 background-image: url(data:image/png;base64,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);
840 background-repeat: no-repeat;
841 background-position: center top 10px;
842 }
843
844 .footer a {
845 color: #3b5c6b;
846 }
847
848
849 /* Main Menu
@@ -871,25 +871,25 @@
871 background-repeat: no-repeat;
872 background-position: center bottom;
873 }
874
875 .mainmenu li a,
876 div#hbdrop a {
877 color: #3b5c6b;
878 padding: 10px 15px;
879 }
880
881 .mainmenu li.active a {
882 font-weight: bold;
883 }
884
885 .mainmenu li:hover
886 div#hbdrop a:hover {
887 background-color: #eee;
888 }
889
890 div#hbdrop {
891 background-color: white;
892 border: 2px solid #ccc;
893 display: none;
894 width: 100%;
895 position: absolute;
896
--- skins/blitz/css.txt
+++ skins/blitz/css.txt
@@ -755,51 +755,51 @@
755
756
757 /* Header
758 * Div displayed at the top of every page.
759 ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
760 header {
761 color: #666;
762 font-weight: 400;
763 padding-top: 10px;
764 border-width: 0px;
765 border-top: 4px solid #446979;
766 border-bottom: 1px solid #ccc;
767 }
768
769 header .logo {
770 display: inline-block;
771 }
772
773 header .login {
774 padding-top: 2px;
775 text-align: right;
776 }
777
778 header .login .button {
779 margin: 0;
780 }
781
782 header h1 {
783 margin: 0px;
784 color: #666;
785 display: inline-block;
786 }
787
788 header .logo h1 {
789 display: inline-block;
790 }
791
792 header .title h1 {
793 padding-bottom: 10px;
794 }
795
796 header h1 small, header h2 small {
797 color: #888;
798 }
799
800 header a.rss {
801 display: inline-block;
802 padding: 10px 15px;
803 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3wMNDhwn05VjawAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAGlSURBVDjLrdPfb8xREAXwT7tIl+paVNaPJghCKC8kXv0XXvyNXsRfwYPQJqVKiqykWFVZXd12vcxNJtduUtJJvrm7984998ycMxxwNGI9jPs4j7nY+/U/gIdiPYO71dk21rCE7r8ybOHGmMfmcRNnsbEf1gXwNzqYSXs5WljEMXzAaBLg1Ji9Js7hOi6OeeAznqC/X8AcMyHWYpX7E4/Rm1QyHMdefCWGeI/VcMDR2D8S7Fci5y/AeTzCPVyLi1sYJAut4BTaiX0n9kc14MmkcjPY3I5LXezGtxqKtyJ3Lir6VAM2AmCq6m8Hl6PsQTB5hyvxmMhZxk4G3MZLfAwLtdNZM9rwOs528TVVNB3ga7UoQ2wGmyWciFaU0VwIJiP8iL6Xfp7GK+w0JthliDep8UKonTSGvbBTaU8f3QzYxgPcCsBvWK9E6OBFCNGPVjTTqC430p+H6fLVGLGtmIw7SbwevqT+XkgVPJ9Otpmtyl6I9XswLXEp/d6oPN0ugJu14xMLob4kgPRYjtkCOMDTUG+AZ3ibEtfDLorfEmAB3UuTdXDxBzUUZV+B82aLAAAAAElFTkSuQmCC);
804 background-position: center center;
805 background-repeat: no-repeat;
@@ -830,20 +830,20 @@
830
831
832 /* Footer
833 * Displayed after the middle div and forms the page bottom.
834 ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
835 footer {
836 padding: 10px 0 60px;
837 border-top: 1px solid #ccc;
838 background-color: #f8f8f8;
839 background-image: url(data:image/png;base64,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);
840 background-repeat: no-repeat;
841 background-position: center top 10px;
842 }
843
844 footer a {
845 color: #3b5c6b;
846 }
847
848
849 /* Main Menu
@@ -871,25 +871,25 @@
871 background-repeat: no-repeat;
872 background-position: center bottom;
873 }
874
875 .mainmenu li a,
876 nav#hbdrop a {
877 color: #3b5c6b;
878 padding: 10px 15px;
879 }
880
881 .mainmenu li.active a {
882 font-weight: bold;
883 }
884
885 .mainmenu li:hover
886 nav#hbdrop a:hover {
887 background-color: #eee;
888 }
889
890 nav#hbdrop {
891 background-color: white;
892 border: 2px solid #ccc;
893 display: none;
894 width: 100%;
895 position: absolute;
896
--- skins/blitz/footer.txt
+++ skins/blitz/footer.txt
@@ -1,10 +1,10 @@
11
</div> <!-- end div container -->
22
</div> <!-- end div middle max-full-width -->
3
-<div class="footer">
3
+<footer>
44
<div class="container">
55
<div class="pull-right">
66
<a href="https://www.fossil-scm.org/">Fossil $release_version $manifest_version $manifest_date</a>
77
</div>
88
This page was generated in about <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s
99
</div>
10
-</div>
10
+</footer>
1111
--- skins/blitz/footer.txt
+++ skins/blitz/footer.txt
@@ -1,10 +1,10 @@
1 </div> <!-- end div container -->
2 </div> <!-- end div middle max-full-width -->
3 <div class="footer">
4 <div class="container">
5 <div class="pull-right">
6 <a href="https://www.fossil-scm.org/">Fossil $release_version $manifest_version $manifest_date</a>
7 </div>
8 This page was generated in about <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s
9 </div>
10 </div>
11
--- skins/blitz/footer.txt
+++ skins/blitz/footer.txt
@@ -1,10 +1,10 @@
1 </div> <!-- end div container -->
2 </div> <!-- end div middle max-full-width -->
3 <footer>
4 <div class="container">
5 <div class="pull-right">
6 <a href="https://www.fossil-scm.org/">Fossil $release_version $manifest_version $manifest_date</a>
7 </div>
8 This page was generated in about <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s
9 </div>
10 </footer>
11
--- skins/blitz/header.txt
+++ skins/blitz/header.txt
@@ -1,6 +1,6 @@
1
-<div class="header">
1
+<header>
22
<div class="container">
33
44
<!-- Header -->
55
<div class="login pull-right">
66
<th1>
@@ -20,27 +20,29 @@
2020
</th1>
2121
<small> &nbsp;$<title></small></h1>
2222
</div>
2323
2424
<!-- Main Menu -->
25
- <div class="mainmenu">
26
- <ul><th1>
27
-html "<li><a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a></li>\n"
28
-builtin_request_js hbmenu.js
29
-set once 1
30
-foreach {name url expr class} $mainmenu {
31
- if {![capexpr $expr]} continue
32
- if {$once && [string match $url\[/?#\]* /$current_page/]} {
33
- set class "active $class"
34
- set once 0
35
- }
36
- html "<li class='$class'>"
37
- if {[string match /* $url]} {set url $home$url}
38
- html "<a href='$url'>$name</a></li>\n"
39
-}
40
-</th1></ul>
41
- </div> <!-- end div mainmenu -->
42
- <div id="hbdrop"></div>
43
- </div> <!-- end div container -->
44
- </div> <!-- end div header -->
45
- <div class="middle max-full-width">
46
- <div class="container">
25
+ <nav class="mainmenu" title="Main Menu">
26
+ <ul>
27
+ <th1>
28
+ html "<li><a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a></li>\n"
29
+ builtin_request_js hbmenu.js
30
+ set once 1
31
+ foreach {name url expr class} $mainmenu {
32
+ if {![capexpr $expr]} continue
33
+ if {$once && [string match $url\[/?#\]* /$current_page/]} {
34
+ set class "active $class"
35
+ set once 0
36
+ }
37
+ html "<li class='$class'>"
38
+ if {[string match /* $url]} {set url $home$url}
39
+ html "<a href='$url'>$name</a></li>\n"
40
+ }
41
+ </th1>
42
+ </ul>
43
+ </nav>
44
+ <nav id="hbdrop" class='hbdrop' title="sitemap"></nav>
45
+ </div> <!-- end div container -->
46
+</header>
47
+<div class="middle max-full-width">
48
+ <div class="container">
4749
--- skins/blitz/header.txt
+++ skins/blitz/header.txt
@@ -1,6 +1,6 @@
1 <div class="header">
2 <div class="container">
3
4 <!-- Header -->
5 <div class="login pull-right">
6 <th1>
@@ -20,27 +20,29 @@
20 </th1>
21 <small> &nbsp;$<title></small></h1>
22 </div>
23
24 <!-- Main Menu -->
25 <div class="mainmenu">
26 <ul><th1>
27 html "<li><a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a></li>\n"
28 builtin_request_js hbmenu.js
29 set once 1
30 foreach {name url expr class} $mainmenu {
31 if {![capexpr $expr]} continue
32 if {$once && [string match $url\[/?#\]* /$current_page/]} {
33 set class "active $class"
34 set once 0
35 }
36 html "<li class='$class'>"
37 if {[string match /* $url]} {set url $home$url}
38 html "<a href='$url'>$name</a></li>\n"
39 }
40 </th1></ul>
41 </div> <!-- end div mainmenu -->
42 <div id="hbdrop"></div>
43 </div> <!-- end div container -->
44 </div> <!-- end div header -->
45 <div class="middle max-full-width">
46 <div class="container">
 
 
47
--- skins/blitz/header.txt
+++ skins/blitz/header.txt
@@ -1,6 +1,6 @@
1 <header>
2 <div class="container">
3
4 <!-- Header -->
5 <div class="login pull-right">
6 <th1>
@@ -20,27 +20,29 @@
20 </th1>
21 <small> &nbsp;$<title></small></h1>
22 </div>
23
24 <!-- Main Menu -->
25 <nav class="mainmenu" title="Main Menu">
26 <ul>
27 <th1>
28 html "<li><a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a></li>\n"
29 builtin_request_js hbmenu.js
30 set once 1
31 foreach {name url expr class} $mainmenu {
32 if {![capexpr $expr]} continue
33 if {$once && [string match $url\[/?#\]* /$current_page/]} {
34 set class "active $class"
35 set once 0
36 }
37 html "<li class='$class'>"
38 if {[string match /* $url]} {set url $home$url}
39 html "<a href='$url'>$name</a></li>\n"
40 }
41 </th1>
42 </ul>
43 </nav>
44 <nav id="hbdrop" class='hbdrop' title="sitemap"></nav>
45 </div> <!-- end div container -->
46 </header>
47 <div class="middle max-full-width">
48 <div class="container">
49
--- skins/darkmode/css.txt
+++ skins/darkmode/css.txt
@@ -34,28 +34,28 @@
3434
div.leftoftitle {
3535
visibility: hidden;
3636
}
3737
3838
/* The header across the top of the page */
39
-div.header {
39
+header {
4040
display: table;
4141
width: 100%;
4242
}
4343
4444
/* The main menu bar that appears at the top of the page beneath
4545
** the header */
46
-div.mainmenu {
46
+nav.mainmenu {
4747
padding: 0.25em 0.5em;
4848
font-size: 0.9em;
4949
font-weight: bold;
5050
text-align: center;
5151
border-top-left-radius: 0.5em;
5252
border-top-right-radius: 0.5em;
5353
border-bottom: 1px dotted rgba(200,200,200,0.3);
5454
z-index: 21; /* just above hbdrop */
5555
}
56
-div#hbdrop {
56
+nav#hbdrop {
5757
background-color: #1f1f1f;
5858
border: 2px solid #303536;
5959
border-radius: 0 0 0.5em 0.5em;
6060
display: none;
6161
left: 2em;
@@ -62,11 +62,11 @@
6262
width: calc(100% - 4em);
6363
position: absolute;
6464
z-index: 20; /* just below mainmenu, but above timeline bubbles */
6565
}
6666
67
-div.mainmenu, div.submenu, div.sectionmenu {
67
+nav.mainmenu, div.submenu, div.sectionmenu {
6868
color: #ffffffcc;
6969
background-color: #303536/*#0000ff60*/;
7070
}
7171
/* The submenu bar that *sometimes* appears below the main menu */
7272
div.submenu, div.sectionmenu {
@@ -80,16 +80,16 @@
8080
color: rgba(127, 201, 255, 0.9);
8181
display: inline;
8282
text-decoration: none;
8383
}
8484
a:visited {opacity: 0.8}
85
-div.mainmenu a, div.submenu a,
85
+nav.mainmenu a, div.submenu a,
8686
div.sectionmenu>a.button, div.submenu label,
87
-div.footer a {
87
+footer a {
8888
padding: 0.15em 0.5em;
8989
}
90
-div.mainmenu a.active {
90
+nav.mainmenu a.active {
9191
border-bottom: 1px solid #FF4500f0;
9292
}
9393
a:hover,
9494
a:visited:hover {
9595
background-color: #FF4500f0;
@@ -172,11 +172,11 @@
172172
clear: left;
173173
white-space: nowrap;
174174
}
175175
176176
/* The footer at the very bottom of the page */
177
-div.footer {
177
+footer {
178178
clear: both;
179179
font-size: 0.8em;
180180
padding: 0.15em 0.5em;
181181
text-align: right;
182182
background-color: #303536/*#0000ff60*/;
183183
--- skins/darkmode/css.txt
+++ skins/darkmode/css.txt
@@ -34,28 +34,28 @@
34 div.leftoftitle {
35 visibility: hidden;
36 }
37
38 /* The header across the top of the page */
39 div.header {
40 display: table;
41 width: 100%;
42 }
43
44 /* The main menu bar that appears at the top of the page beneath
45 ** the header */
46 div.mainmenu {
47 padding: 0.25em 0.5em;
48 font-size: 0.9em;
49 font-weight: bold;
50 text-align: center;
51 border-top-left-radius: 0.5em;
52 border-top-right-radius: 0.5em;
53 border-bottom: 1px dotted rgba(200,200,200,0.3);
54 z-index: 21; /* just above hbdrop */
55 }
56 div#hbdrop {
57 background-color: #1f1f1f;
58 border: 2px solid #303536;
59 border-radius: 0 0 0.5em 0.5em;
60 display: none;
61 left: 2em;
@@ -62,11 +62,11 @@
62 width: calc(100% - 4em);
63 position: absolute;
64 z-index: 20; /* just below mainmenu, but above timeline bubbles */
65 }
66
67 div.mainmenu, div.submenu, div.sectionmenu {
68 color: #ffffffcc;
69 background-color: #303536/*#0000ff60*/;
70 }
71 /* The submenu bar that *sometimes* appears below the main menu */
72 div.submenu, div.sectionmenu {
@@ -80,16 +80,16 @@
80 color: rgba(127, 201, 255, 0.9);
81 display: inline;
82 text-decoration: none;
83 }
84 a:visited {opacity: 0.8}
85 div.mainmenu a, div.submenu a,
86 div.sectionmenu>a.button, div.submenu label,
87 div.footer a {
88 padding: 0.15em 0.5em;
89 }
90 div.mainmenu a.active {
91 border-bottom: 1px solid #FF4500f0;
92 }
93 a:hover,
94 a:visited:hover {
95 background-color: #FF4500f0;
@@ -172,11 +172,11 @@
172 clear: left;
173 white-space: nowrap;
174 }
175
176 /* The footer at the very bottom of the page */
177 div.footer {
178 clear: both;
179 font-size: 0.8em;
180 padding: 0.15em 0.5em;
181 text-align: right;
182 background-color: #303536/*#0000ff60*/;
183
--- skins/darkmode/css.txt
+++ skins/darkmode/css.txt
@@ -34,28 +34,28 @@
34 div.leftoftitle {
35 visibility: hidden;
36 }
37
38 /* The header across the top of the page */
39 header {
40 display: table;
41 width: 100%;
42 }
43
44 /* The main menu bar that appears at the top of the page beneath
45 ** the header */
46 nav.mainmenu {
47 padding: 0.25em 0.5em;
48 font-size: 0.9em;
49 font-weight: bold;
50 text-align: center;
51 border-top-left-radius: 0.5em;
52 border-top-right-radius: 0.5em;
53 border-bottom: 1px dotted rgba(200,200,200,0.3);
54 z-index: 21; /* just above hbdrop */
55 }
56 nav#hbdrop {
57 background-color: #1f1f1f;
58 border: 2px solid #303536;
59 border-radius: 0 0 0.5em 0.5em;
60 display: none;
61 left: 2em;
@@ -62,11 +62,11 @@
62 width: calc(100% - 4em);
63 position: absolute;
64 z-index: 20; /* just below mainmenu, but above timeline bubbles */
65 }
66
67 nav.mainmenu, div.submenu, div.sectionmenu {
68 color: #ffffffcc;
69 background-color: #303536/*#0000ff60*/;
70 }
71 /* The submenu bar that *sometimes* appears below the main menu */
72 div.submenu, div.sectionmenu {
@@ -80,16 +80,16 @@
80 color: rgba(127, 201, 255, 0.9);
81 display: inline;
82 text-decoration: none;
83 }
84 a:visited {opacity: 0.8}
85 nav.mainmenu a, div.submenu a,
86 div.sectionmenu>a.button, div.submenu label,
87 footer a {
88 padding: 0.15em 0.5em;
89 }
90 nav.mainmenu a.active {
91 border-bottom: 1px solid #FF4500f0;
92 }
93 a:hover,
94 a:visited:hover {
95 background-color: #FF4500f0;
@@ -172,11 +172,11 @@
172 clear: left;
173 white-space: nowrap;
174 }
175
176 /* The footer at the very bottom of the page */
177 footer {
178 clear: both;
179 font-size: 0.8em;
180 padding: 0.15em 0.5em;
181 text-align: right;
182 background-color: #303536/*#0000ff60*/;
183
--- skins/darkmode/footer.txt
+++ skins/darkmode/footer.txt
@@ -1,8 +1,8 @@
1
-<div class="footer">
1
+<footer>
22
<div class="container">
33
<div class="pull-right">
44
<a href="https://www.fossil-scm.org/">Fossil $release_version $manifest_version $manifest_date</a>
55
</div>
66
This page was generated in about <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s
77
</div>
8
-</div>
8
+</footer>
99
--- skins/darkmode/footer.txt
+++ skins/darkmode/footer.txt
@@ -1,8 +1,8 @@
1 <div class="footer">
2 <div class="container">
3 <div class="pull-right">
4 <a href="https://www.fossil-scm.org/">Fossil $release_version $manifest_version $manifest_date</a>
5 </div>
6 This page was generated in about <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s
7 </div>
8 </div>
9
--- skins/darkmode/footer.txt
+++ skins/darkmode/footer.txt
@@ -1,8 +1,8 @@
1 <footer>
2 <div class="container">
3 <div class="pull-right">
4 <a href="https://www.fossil-scm.org/">Fossil $release_version $manifest_version $manifest_date</a>
5 </div>
6 This page was generated in about <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s
7 </div>
8 </footer>
9
--- skins/darkmode/header.txt
+++ skins/darkmode/header.txt
@@ -1,6 +1,6 @@
1
-<div class="header">
1
+<header>
22
<div class="status leftoftitle"><th1>
33
if {[info exists login]} {
44
set logintext "<a href='$home/login'>$login</a>\n"
55
} else {
66
set logintext "<a href='$home/login'>Login</a>\n"
@@ -7,24 +7,25 @@
77
}
88
html $logintext
99
</th1></div>
1010
<div class="title">$<title></div>
1111
<div class="status"><nobr><th1>
12
- html $logintext
13
- </th1></nobr></div>
14
-</div>
15
-<div class="mainmenu">
16
-<th1>
17
-html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
18
-builtin_request_js hbmenu.js
19
-foreach {name url expr class} $mainmenu {
20
- if {![capexpr $expr]} continue
21
- if {[string match /* $url]} {
22
- if {[string match $url\[/?#\]* /$current_page/]} {
23
- set class "active $class"
24
- }
25
- set url $home$url
26
- }
27
- html "<a href='$url' class='$class'>$name</a>\n"
28
-}
29
-</th1></div>
30
-<div id='hbdrop'></div>
12
+ html $logintext
13
+ </th1></nobr></div>
14
+</header>
15
+<nav class="mainmenu" title="Main Menu">
16
+ <th1>
17
+ html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
18
+ builtin_request_js hbmenu.js
19
+ foreach {name url expr class} $mainmenu {
20
+ if {![capexpr $expr]} continue
21
+ if {[string match /* $url]} {
22
+ if {[string match $url\[/?#\]* /$current_page/]} {
23
+ set class "active $class"
24
+ }
25
+ set url $home$url
26
+ }
27
+ html "<a href='$url' class='$class'>$name</a>\n"
28
+ }
29
+ </th1>
30
+</nav>
31
+<nav id="hbdrop" class='hbdrop' title="sitemap"></nav>
3132
--- skins/darkmode/header.txt
+++ skins/darkmode/header.txt
@@ -1,6 +1,6 @@
1 <div class="header">
2 <div class="status leftoftitle"><th1>
3 if {[info exists login]} {
4 set logintext "<a href='$home/login'>$login</a>\n"
5 } else {
6 set logintext "<a href='$home/login'>Login</a>\n"
@@ -7,24 +7,25 @@
7 }
8 html $logintext
9 </th1></div>
10 <div class="title">$<title></div>
11 <div class="status"><nobr><th1>
12 html $logintext
13 </th1></nobr></div>
14 </div>
15 <div class="mainmenu">
16 <th1>
17 html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
18 builtin_request_js hbmenu.js
19 foreach {name url expr class} $mainmenu {
20 if {![capexpr $expr]} continue
21 if {[string match /* $url]} {
22 if {[string match $url\[/?#\]* /$current_page/]} {
23 set class "active $class"
24 }
25 set url $home$url
26 }
27 html "<a href='$url' class='$class'>$name</a>\n"
28 }
29 </th1></div>
30 <div id='hbdrop'></div>
 
31
--- skins/darkmode/header.txt
+++ skins/darkmode/header.txt
@@ -1,6 +1,6 @@
1 <header>
2 <div class="status leftoftitle"><th1>
3 if {[info exists login]} {
4 set logintext "<a href='$home/login'>$login</a>\n"
5 } else {
6 set logintext "<a href='$home/login'>Login</a>\n"
@@ -7,24 +7,25 @@
7 }
8 html $logintext
9 </th1></div>
10 <div class="title">$<title></div>
11 <div class="status"><nobr><th1>
12 html $logintext
13 </th1></nobr></div>
14 </header>
15 <nav class="mainmenu" title="Main Menu">
16 <th1>
17 html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
18 builtin_request_js hbmenu.js
19 foreach {name url expr class} $mainmenu {
20 if {![capexpr $expr]} continue
21 if {[string match /* $url]} {
22 if {[string match $url\[/?#\]* /$current_page/]} {
23 set class "active $class"
24 }
25 set url $home$url
26 }
27 html "<a href='$url' class='$class'>$name</a>\n"
28 }
29 </th1>
30 </nav>
31 <nav id="hbdrop" class='hbdrop' title="sitemap"></nav>
32
--- skins/default/header.txt
+++ skins/default/header.txt
@@ -35,30 +35,33 @@
3535
</div>
3636
<div class="title">
3737
<h1>$<project_name></h1>
3838
<span class="page-title">$<title></span>
3939
</div>
40
- <div class="status"><th1>
41
- if {[info exists login]} {
42
- html "<a href='$home/login'>$login</a>\n"
43
- } else {
44
- html "<a href='$home/login'>Login</a>\n"
45
- }
46
- </th1></div>
40
+ <div class="status">
41
+ <th1>
42
+ if {[info exists login]} {
43
+ html "<a href='$home/login'>$login</a>\n"
44
+ } else {
45
+ html "<a href='$home/login'>Login</a>\n"
46
+ }
47
+ </th1>
48
+ </div>
4749
</header>
4850
<nav class="mainmenu" title="Main Menu">
49
-<th1>
50
-html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
51
-builtin_request_js hbmenu.js
52
-foreach {name url expr class} $mainmenu {
53
- if {![capexpr $expr]} continue
54
- if {[string match /* $url]} {
55
- if {[string match $url\[/?#\]* /$current_page/]} {
56
- set class "active $class"
57
- }
58
- set url $home$url
59
- }
60
- html "<a href='$url' class='$class'>$name</a>\n"
61
-}
62
-</th1></nav>
63
-<nav id="hbdrop" title="sitemap"></nav>
51
+ <th1>
52
+ html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
53
+ builtin_request_js hbmenu.js
54
+ foreach {name url expr class} $mainmenu {
55
+ if {![capexpr $expr]} continue
56
+ if {[string match /* $url]} {
57
+ if {[string match $url\[/?#\]* /$current_page/]} {
58
+ set class "active $class"
59
+ }
60
+ set url $home$url
61
+ }
62
+ html "<a href='$url' class='$class'>$name</a>\n"
63
+ }
64
+ </th1>
65
+</nav>
66
+<nav id="hbdrop" class='hbdrop' title="sitemap"></nav>
6467
<h1 class="page-title">$<title></h1>
6568
--- skins/default/header.txt
+++ skins/default/header.txt
@@ -35,30 +35,33 @@
35 </div>
36 <div class="title">
37 <h1>$<project_name></h1>
38 <span class="page-title">$<title></span>
39 </div>
40 <div class="status"><th1>
41 if {[info exists login]} {
42 html "<a href='$home/login'>$login</a>\n"
43 } else {
44 html "<a href='$home/login'>Login</a>\n"
45 }
46 </th1></div>
 
 
47 </header>
48 <nav class="mainmenu" title="Main Menu">
49 <th1>
50 html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
51 builtin_request_js hbmenu.js
52 foreach {name url expr class} $mainmenu {
53 if {![capexpr $expr]} continue
54 if {[string match /* $url]} {
55 if {[string match $url\[/?#\]* /$current_page/]} {
56 set class "active $class"
57 }
58 set url $home$url
59 }
60 html "<a href='$url' class='$class'>$name</a>\n"
61 }
62 </th1></nav>
63 <nav id="hbdrop" title="sitemap"></nav>
 
64 <h1 class="page-title">$<title></h1>
65
--- skins/default/header.txt
+++ skins/default/header.txt
@@ -35,30 +35,33 @@
35 </div>
36 <div class="title">
37 <h1>$<project_name></h1>
38 <span class="page-title">$<title></span>
39 </div>
40 <div class="status">
41 <th1>
42 if {[info exists login]} {
43 html "<a href='$home/login'>$login</a>\n"
44 } else {
45 html "<a href='$home/login'>Login</a>\n"
46 }
47 </th1>
48 </div>
49 </header>
50 <nav class="mainmenu" title="Main Menu">
51 <th1>
52 html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
53 builtin_request_js hbmenu.js
54 foreach {name url expr class} $mainmenu {
55 if {![capexpr $expr]} continue
56 if {[string match /* $url]} {
57 if {[string match $url\[/?#\]* /$current_page/]} {
58 set class "active $class"
59 }
60 set url $home$url
61 }
62 html "<a href='$url' class='$class'>$name</a>\n"
63 }
64 </th1>
65 </nav>
66 <nav id="hbdrop" class='hbdrop' title="sitemap"></nav>
67 <h1 class="page-title">$<title></h1>
68
--- skins/eagle/css.txt
+++ skins/eagle/css.txt
@@ -47,18 +47,18 @@
4747
font-weight: bold;
4848
white-space: nowrap;
4949
}
5050
5151
/* The header across the top of the page */
52
-div.header {
52
+header {
5353
display: table;
5454
width: 100%;
5555
}
5656
5757
/* The main menu bar that appears at the top of the page beneath
5858
** the header */
59
-div.mainmenu {
59
+nav.mainmenu {
6060
padding: 5px 10px 5px 10px;
6161
font-size: 0.9em;
6262
font-weight: bold;
6363
text-align: center;
6464
letter-spacing: 1px;
@@ -66,11 +66,11 @@
6666
border-top-left-radius: 8px;
6767
border-top-right-radius: 8px;
6868
color: white;
6969
}
7070
71
-div#hbdrop {
71
+nav#hbdrop {
7272
background-color: #485D7B;
7373
border-radius: 0 0 15px 15px;
7474
border-left: 0.5em solid #76869d;
7575
border-bottom: 1.2em solid #76869d;
7676
display: none;
@@ -87,18 +87,18 @@
8787
font-weight: bold;
8888
text-align: center;
8989
background-color: #485D7B;
9090
color: white;
9191
}
92
-div.mainmenu a, div.mainmenu a:visited, div.submenu a, div.submenu a:visited,
92
+nav.mainmenu a, nav.mainmenu a:visited, div.submenu a, div.submenu a:visited,
9393
div.sectionmenu>a.button:link, div.sectionmenu>a.button:visited,
9494
div.submenu label {
9595
padding: 3px 10px 3px 10px;
9696
color: white;
9797
text-decoration: none;
9898
}
99
-div.mainmenu a:hover, div.submenu a:hover, div.sectionmenu>a.button:hover,
99
+nav.mainmenu a:hover, div.submenu a:hover, div.sectionmenu>a.button:hover,
100100
div.submenu label:hover {
101101
text-decoration: underline;
102102
}
103103
104104
/* All page content from the bottom of the menu or submenu down to
@@ -131,11 +131,11 @@
131131
clear: left;
132132
white-space: nowrap;
133133
}
134134
135135
/* The footer at the very bottom of the page */
136
-div.footer {
136
+footer {
137137
clear: both;
138138
font-size: 0.8em;
139139
margin-top: 12px;
140140
padding: 5px 10px 5px 10px;
141141
text-align: right;
142142
--- skins/eagle/css.txt
+++ skins/eagle/css.txt
@@ -47,18 +47,18 @@
47 font-weight: bold;
48 white-space: nowrap;
49 }
50
51 /* The header across the top of the page */
52 div.header {
53 display: table;
54 width: 100%;
55 }
56
57 /* The main menu bar that appears at the top of the page beneath
58 ** the header */
59 div.mainmenu {
60 padding: 5px 10px 5px 10px;
61 font-size: 0.9em;
62 font-weight: bold;
63 text-align: center;
64 letter-spacing: 1px;
@@ -66,11 +66,11 @@
66 border-top-left-radius: 8px;
67 border-top-right-radius: 8px;
68 color: white;
69 }
70
71 div#hbdrop {
72 background-color: #485D7B;
73 border-radius: 0 0 15px 15px;
74 border-left: 0.5em solid #76869d;
75 border-bottom: 1.2em solid #76869d;
76 display: none;
@@ -87,18 +87,18 @@
87 font-weight: bold;
88 text-align: center;
89 background-color: #485D7B;
90 color: white;
91 }
92 div.mainmenu a, div.mainmenu a:visited, div.submenu a, div.submenu a:visited,
93 div.sectionmenu>a.button:link, div.sectionmenu>a.button:visited,
94 div.submenu label {
95 padding: 3px 10px 3px 10px;
96 color: white;
97 text-decoration: none;
98 }
99 div.mainmenu a:hover, div.submenu a:hover, div.sectionmenu>a.button:hover,
100 div.submenu label:hover {
101 text-decoration: underline;
102 }
103
104 /* All page content from the bottom of the menu or submenu down to
@@ -131,11 +131,11 @@
131 clear: left;
132 white-space: nowrap;
133 }
134
135 /* The footer at the very bottom of the page */
136 div.footer {
137 clear: both;
138 font-size: 0.8em;
139 margin-top: 12px;
140 padding: 5px 10px 5px 10px;
141 text-align: right;
142
--- skins/eagle/css.txt
+++ skins/eagle/css.txt
@@ -47,18 +47,18 @@
47 font-weight: bold;
48 white-space: nowrap;
49 }
50
51 /* The header across the top of the page */
52 header {
53 display: table;
54 width: 100%;
55 }
56
57 /* The main menu bar that appears at the top of the page beneath
58 ** the header */
59 nav.mainmenu {
60 padding: 5px 10px 5px 10px;
61 font-size: 0.9em;
62 font-weight: bold;
63 text-align: center;
64 letter-spacing: 1px;
@@ -66,11 +66,11 @@
66 border-top-left-radius: 8px;
67 border-top-right-radius: 8px;
68 color: white;
69 }
70
71 nav#hbdrop {
72 background-color: #485D7B;
73 border-radius: 0 0 15px 15px;
74 border-left: 0.5em solid #76869d;
75 border-bottom: 1.2em solid #76869d;
76 display: none;
@@ -87,18 +87,18 @@
87 font-weight: bold;
88 text-align: center;
89 background-color: #485D7B;
90 color: white;
91 }
92 nav.mainmenu a, nav.mainmenu a:visited, div.submenu a, div.submenu a:visited,
93 div.sectionmenu>a.button:link, div.sectionmenu>a.button:visited,
94 div.submenu label {
95 padding: 3px 10px 3px 10px;
96 color: white;
97 text-decoration: none;
98 }
99 nav.mainmenu a:hover, div.submenu a:hover, div.sectionmenu>a.button:hover,
100 div.submenu label:hover {
101 text-decoration: underline;
102 }
103
104 /* All page content from the bottom of the menu or submenu down to
@@ -131,11 +131,11 @@
131 clear: left;
132 white-space: nowrap;
133 }
134
135 /* The footer at the very bottom of the page */
136 footer {
137 clear: both;
138 font-size: 0.8em;
139 margin-top: 12px;
140 padding: 5px 10px 5px 10px;
141 text-align: right;
142
--- skins/eagle/footer.txt
+++ skins/eagle/footer.txt
@@ -1,6 +1,6 @@
1
-<div class="footer">
1
+<footer>
22
<th1>
33
proc getTclVersion {} {
44
if {[catch {tclEval info patchlevel} tclVersion] == 0} {
55
return "<a href=\"https://www.tcl.tk/\">Tcl</a> version $tclVersion"
66
}
@@ -19,6 +19,6 @@
1919
<th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s by
2020
<a href="$fossilUrl/">Fossil</a>
2121
version $release_version $tclVersion
2222
<a href="$fossilUrl/index.html/info/$version">$manifest_version</a>
2323
<a href="$fossilUrl/index.html/timeline?c=$fossilDate&amp;y=ci">$manifest_date</a>
24
-</div>
24
+</footer>
2525
--- skins/eagle/footer.txt
+++ skins/eagle/footer.txt
@@ -1,6 +1,6 @@
1 <div class="footer">
2 <th1>
3 proc getTclVersion {} {
4 if {[catch {tclEval info patchlevel} tclVersion] == 0} {
5 return "<a href=\"https://www.tcl.tk/\">Tcl</a> version $tclVersion"
6 }
@@ -19,6 +19,6 @@
19 <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s by
20 <a href="$fossilUrl/">Fossil</a>
21 version $release_version $tclVersion
22 <a href="$fossilUrl/index.html/info/$version">$manifest_version</a>
23 <a href="$fossilUrl/index.html/timeline?c=$fossilDate&amp;y=ci">$manifest_date</a>
24 </div>
25
--- skins/eagle/footer.txt
+++ skins/eagle/footer.txt
@@ -1,6 +1,6 @@
1 <footer>
2 <th1>
3 proc getTclVersion {} {
4 if {[catch {tclEval info patchlevel} tclVersion] == 0} {
5 return "<a href=\"https://www.tcl.tk/\">Tcl</a> version $tclVersion"
6 }
@@ -19,6 +19,6 @@
19 <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s by
20 <a href="$fossilUrl/">Fossil</a>
21 version $release_version $tclVersion
22 <a href="$fossilUrl/index.html/info/$version">$manifest_version</a>
23 <a href="$fossilUrl/index.html/timeline?c=$fossilDate&amp;y=ci">$manifest_date</a>
24 </footer>
25
--- skins/eagle/header.txt
+++ skins/eagle/header.txt
@@ -1,6 +1,6 @@
1
-<div class="header">
1
+<header>
22
<div class="logo">
33
<th1>
44
##
55
## NOTE: The purpose of this procedure is to take the base URL of the
66
## Fossil project and return the root of the entire web site using
@@ -76,34 +76,36 @@
7676
puts "Logged in as $login"
7777
} else {
7878
puts "Not logged in"
7979
}
8080
</th1></nobr><small><div id="clock"></div></small></div>
81
-</div>
81
+</header>
8282
<th1>html "<script nonce='$nonce'>"</th1>
83
-(function updateClock(){
84
- var e = document.getElementById("clock");
85
- if(!e) return;
86
- if(!updateClock.fmt){
87
- updateClock.fmt = function(n){
88
- return n < 10 ? '0' + n : n;
89
- };
90
- }
91
- var d = new Date();
92
- e.innerHTML = d.getUTCFullYear()+ '-' +
93
- updateClock.fmt(d.getUTCMonth() + 1) + '-' +
94
- updateClock.fmt(d.getUTCDate()) + ' ' +
95
- updateClock.fmt(d.getUTCHours()) + ':' +
96
- updateClock.fmt(d.getUTCMinutes());
97
- setTimeout(updateClock,(60-d.getUTCSeconds())*1000);
98
-})();
83
+ (function updateClock(){
84
+ var e = document.getElementById("clock");
85
+ if(!e) return;
86
+ if(!updateClock.fmt){
87
+ updateClock.fmt = function(n){
88
+ return n < 10 ? '0' + n : n;
89
+ };
90
+ }
91
+ var d = new Date();
92
+ e.innerHTML = d.getUTCFullYear()+ '-' +
93
+ updateClock.fmt(d.getUTCMonth() + 1) + '-' +
94
+ updateClock.fmt(d.getUTCDate()) + ' ' +
95
+ updateClock.fmt(d.getUTCHours()) + ':' +
96
+ updateClock.fmt(d.getUTCMinutes());
97
+ setTimeout(updateClock,(60-d.getUTCSeconds())*1000);
98
+ })();
9999
</script>
100
-<div class="mainmenu"><th1>
101
-html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>\n"
102
-builtin_request_js hbmenu.js
103
-foreach {name url expr class} $mainmenu {
104
- if {![capexpr $expr]} continue
105
- if {[string match /* $url]} {set url $home$url}
106
- html "<a href='$url' class='$class'>$name</a>\n"
107
-}
108
-</th1></div>
109
-<div id="hbdrop"></div>
100
+<nav class="mainmenu" title="Main Menu">
101
+ <th1>
102
+ html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>\n"
103
+ builtin_request_js hbmenu.js
104
+ foreach {name url expr class} $mainmenu {
105
+ if {![capexpr $expr]} continue
106
+ if {[string match /* $url]} {set url $home$url}
107
+ html "<a href='$url' class='$class'>$name</a>\n"
108
+ }
109
+ </th1>
110
+</nav>
111
+<nav id="hbdrop" class='hbdrop' title="sitemap"></nav>
110112
--- skins/eagle/header.txt
+++ skins/eagle/header.txt
@@ -1,6 +1,6 @@
1 <div class="header">
2 <div class="logo">
3 <th1>
4 ##
5 ## NOTE: The purpose of this procedure is to take the base URL of the
6 ## Fossil project and return the root of the entire web site using
@@ -76,34 +76,36 @@
76 puts "Logged in as $login"
77 } else {
78 puts "Not logged in"
79 }
80 </th1></nobr><small><div id="clock"></div></small></div>
81 </div>
82 <th1>html "<script nonce='$nonce'>"</th1>
83 (function updateClock(){
84 var e = document.getElementById("clock");
85 if(!e) return;
86 if(!updateClock.fmt){
87 updateClock.fmt = function(n){
88 return n < 10 ? '0' + n : n;
89 };
90 }
91 var d = new Date();
92 e.innerHTML = d.getUTCFullYear()+ '-' +
93 updateClock.fmt(d.getUTCMonth() + 1) + '-' +
94 updateClock.fmt(d.getUTCDate()) + ' ' +
95 updateClock.fmt(d.getUTCHours()) + ':' +
96 updateClock.fmt(d.getUTCMinutes());
97 setTimeout(updateClock,(60-d.getUTCSeconds())*1000);
98 })();
99 </script>
100 <div class="mainmenu"><th1>
101 html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>\n"
102 builtin_request_js hbmenu.js
103 foreach {name url expr class} $mainmenu {
104 if {![capexpr $expr]} continue
105 if {[string match /* $url]} {set url $home$url}
106 html "<a href='$url' class='$class'>$name</a>\n"
107 }
108 </th1></div>
109 <div id="hbdrop"></div>
 
 
110
--- skins/eagle/header.txt
+++ skins/eagle/header.txt
@@ -1,6 +1,6 @@
1 <header>
2 <div class="logo">
3 <th1>
4 ##
5 ## NOTE: The purpose of this procedure is to take the base URL of the
6 ## Fossil project and return the root of the entire web site using
@@ -76,34 +76,36 @@
76 puts "Logged in as $login"
77 } else {
78 puts "Not logged in"
79 }
80 </th1></nobr><small><div id="clock"></div></small></div>
81 </header>
82 <th1>html "<script nonce='$nonce'>"</th1>
83 (function updateClock(){
84 var e = document.getElementById("clock");
85 if(!e) return;
86 if(!updateClock.fmt){
87 updateClock.fmt = function(n){
88 return n < 10 ? '0' + n : n;
89 };
90 }
91 var d = new Date();
92 e.innerHTML = d.getUTCFullYear()+ '-' +
93 updateClock.fmt(d.getUTCMonth() + 1) + '-' +
94 updateClock.fmt(d.getUTCDate()) + ' ' +
95 updateClock.fmt(d.getUTCHours()) + ':' +
96 updateClock.fmt(d.getUTCMinutes());
97 setTimeout(updateClock,(60-d.getUTCSeconds())*1000);
98 })();
99 </script>
100 <nav class="mainmenu" title="Main Menu">
101 <th1>
102 html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>\n"
103 builtin_request_js hbmenu.js
104 foreach {name url expr class} $mainmenu {
105 if {![capexpr $expr]} continue
106 if {[string match /* $url]} {set url $home$url}
107 html "<a href='$url' class='$class'>$name</a>\n"
108 }
109 </th1>
110 </nav>
111 <nav id="hbdrop" class='hbdrop' title="sitemap"></nav>
112
--- skins/etienne/css.txt
+++ skins/etienne/css.txt
@@ -59,11 +59,11 @@
5959
.mainmenu a.active,
6060
.mainmenu a:hover {
6161
color: #000;
6262
border-bottom: 2px solid #D26911;
6363
}
64
-div#hbdrop {
64
+nav#hbdrop {
6565
background-color: white;
6666
border: 1px solid black;
6767
border-top: white;
6868
border-radius: 0 0 0.5em 0.5em;
6969
display: none;
@@ -149,11 +149,11 @@
149149
}
150150
151151
152152
/* Page footer */
153153
154
-.footer {
154
+footer {
155155
border-top: 1px solid #ccc;
156156
padding: 10px;
157157
font-size: 0.7em;
158158
margin-top: 10px;
159159
color: #ccc;
160160
--- skins/etienne/css.txt
+++ skins/etienne/css.txt
@@ -59,11 +59,11 @@
59 .mainmenu a.active,
60 .mainmenu a:hover {
61 color: #000;
62 border-bottom: 2px solid #D26911;
63 }
64 div#hbdrop {
65 background-color: white;
66 border: 1px solid black;
67 border-top: white;
68 border-radius: 0 0 0.5em 0.5em;
69 display: none;
@@ -149,11 +149,11 @@
149 }
150
151
152 /* Page footer */
153
154 .footer {
155 border-top: 1px solid #ccc;
156 padding: 10px;
157 font-size: 0.7em;
158 margin-top: 10px;
159 color: #ccc;
160
--- skins/etienne/css.txt
+++ skins/etienne/css.txt
@@ -59,11 +59,11 @@
59 .mainmenu a.active,
60 .mainmenu a:hover {
61 color: #000;
62 border-bottom: 2px solid #D26911;
63 }
64 nav#hbdrop {
65 background-color: white;
66 border: 1px solid black;
67 border-top: white;
68 border-radius: 0 0 0.5em 0.5em;
69 display: none;
@@ -149,11 +149,11 @@
149 }
150
151
152 /* Page footer */
153
154 footer {
155 border-top: 1px solid #ccc;
156 padding: 10px;
157 font-size: 0.7em;
158 margin-top: 10px;
159 color: #ccc;
160
--- skins/etienne/footer.txt
+++ skins/etienne/footer.txt
@@ -1,5 +1,5 @@
1
-<div class="footer">
1
+<footer>
22
This page was generated in about
33
<th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s by
44
Fossil $release_version $manifest_version $manifest_date
5
-</div>
5
+</footer>
66
--- skins/etienne/footer.txt
+++ skins/etienne/footer.txt
@@ -1,5 +1,5 @@
1 <div class="footer">
2 This page was generated in about
3 <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s by
4 Fossil $release_version $manifest_version $manifest_date
5 </div>
6
--- skins/etienne/footer.txt
+++ skins/etienne/footer.txt
@@ -1,5 +1,5 @@
1 <footer>
2 This page was generated in about
3 <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s by
4 Fossil $release_version $manifest_version $manifest_date
5 </footer>
6
--- skins/etienne/header.txt
+++ skins/etienne/header.txt
@@ -1,26 +1,29 @@
1
-<div class="header">
1
+<header>
22
<div class="title"><h1>$<project_name></h1>$<title></div>
3
- <div class="status"><th1>
4
- if {[info exists login]} {
5
- html "<a href='$home/login'>$login</a>\n"
6
- } else {
7
- html "<a href='$home/login'>Login</a>\n"
8
- }
9
- </th1></div>
10
-</div>
11
-<div class="mainmenu">
12
-<th1>
13
-html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
14
-builtin_request_js hbmenu.js
15
-foreach {name url expr class} $mainmenu {
16
- if {![capexpr $expr]} continue
17
- if {[string match /* $url]} {
18
- if {[string match $url\[/?#\]* /$current_page/]} {
19
- set class "active $class"
20
- }
21
- set url $home$url
22
- }
23
- html "<a href='$url' class='$class'>$name</a>\n"
24
-}
25
-</th1></div>
26
-<div id='hbdrop'></div>
3
+ <div class="status">
4
+ <th1>
5
+ if {[info exists login]} {
6
+ html "<a href='$home/login'>$login</a>\n"
7
+ } else {
8
+ html "<a href='$home/login'>Login</a>\n"
9
+ }
10
+ </th1>
11
+ </div>
12
+</header>
13
+<nav class="mainmenu" title="Main Menu">
14
+ <th1>
15
+ html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
16
+ builtin_request_js hbmenu.js
17
+ foreach {name url expr class} $mainmenu {
18
+ if {![capexpr $expr]} continue
19
+ if {[string match /* $url]} {
20
+ if {[string match $url\[/?#\]* /$current_page/]} {
21
+ set class "active $class"
22
+ }
23
+ set url $home$url
24
+ }
25
+ html "<a href='$url' class='$class'>$name</a>\n"
26
+ }
27
+ </th1>
28
+</nav>
29
+<nav id="hbdrop" class='hbdrop' title="sitemap"></nav>
2730
--- skins/etienne/header.txt
+++ skins/etienne/header.txt
@@ -1,26 +1,29 @@
1 <div class="header">
2 <div class="title"><h1>$<project_name></h1>$<title></div>
3 <div class="status"><th1>
4 if {[info exists login]} {
5 html "<a href='$home/login'>$login</a>\n"
6 } else {
7 html "<a href='$home/login'>Login</a>\n"
8 }
9 </th1></div>
10 </div>
11 <div class="mainmenu">
12 <th1>
13 html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
14 builtin_request_js hbmenu.js
15 foreach {name url expr class} $mainmenu {
16 if {![capexpr $expr]} continue
17 if {[string match /* $url]} {
18 if {[string match $url\[/?#\]* /$current_page/]} {
19 set class "active $class"
20 }
21 set url $home$url
22 }
23 html "<a href='$url' class='$class'>$name</a>\n"
24 }
25 </th1></div>
26 <div id='hbdrop'></div>
 
 
 
27
--- skins/etienne/header.txt
+++ skins/etienne/header.txt
@@ -1,26 +1,29 @@
1 <header>
2 <div class="title"><h1>$<project_name></h1>$<title></div>
3 <div class="status">
4 <th1>
5 if {[info exists login]} {
6 html "<a href='$home/login'>$login</a>\n"
7 } else {
8 html "<a href='$home/login'>Login</a>\n"
9 }
10 </th1>
11 </div>
12 </header>
13 <nav class="mainmenu" title="Main Menu">
14 <th1>
15 html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
16 builtin_request_js hbmenu.js
17 foreach {name url expr class} $mainmenu {
18 if {![capexpr $expr]} continue
19 if {[string match /* $url]} {
20 if {[string match $url\[/?#\]* /$current_page/]} {
21 set class "active $class"
22 }
23 set url $home$url
24 }
25 html "<a href='$url' class='$class'>$name</a>\n"
26 }
27 </th1>
28 </nav>
29 <nav id="hbdrop" class='hbdrop' title="sitemap"></nav>
30
--- skins/khaki/css.txt
+++ skins/khaki/css.txt
@@ -41,28 +41,28 @@
4141
font-weight: bold;
4242
white-space: nowrap;
4343
}
4444
4545
/* The header across the top of the page */
46
-div.header {
46
+header {
4747
display: table;
4848
width: 100%;
4949
}
5050
5151
/* The main menu bar that appears at the top of the page beneath
5252
** the header */
53
-div.mainmenu {
53
+nav.mainmenu {
5454
padding: 5px 10px 5px 10px;
5555
font-size: 0.9em;
5656
font-weight: bold;
5757
text-align: center;
5858
letter-spacing: 1px;
5959
background-color: #a09048;
6060
color: black;
6161
z-index: 21; /* just above hbdrop */
6262
}
63
-div#hbdrop {
63
+nav#hbdrop {
6464
background-color: #fef3bc;
6565
border: 2px solid #a09048;
6666
border-radius: 0 0 0.5em 0.5em;
6767
display: none;
6868
left: 2em;
@@ -79,32 +79,32 @@
7979
font-size: 0.9em;
8080
text-align: center;
8181
background-color: #c0af58;
8282
color: white;
8383
}
84
-div.mainmenu a, div.mainmenu a:visited, div.submenu a, div.submenu a:visited,
84
+nav.mainmenu a, nav.mainmenu a:visited, div.submenu a, div.submenu a:visited,
8585
div.sectionmenu>a.button:link, div.sectionmenu>a.button:visited,
8686
div.submenu label {
8787
padding: 3px 10px 3px 10px;
8888
color: white;
8989
text-decoration: none;
9090
}
91
-div.mainmenu a:hover, div.submenu a:hover, div.sectionmenu>a.button:hover,
92
-div.submenu label:hover, div#hbdrop a:hover {
91
+nav.mainmenu a:hover, div.submenu a:hover, div.sectionmenu>a.button:hover,
92
+div.submenu label:hover, nav#hbdrop a:hover {
9393
color: #a09048;
9494
background-color: white;
9595
}
9696
9797
/* All page content from the bottom of the menu or submenu down to
9898
** the footer */
9999
div.content {
100100
padding: 1ex 5px;
101101
}
102
-div.content a, div#hbdrop a { color: #706532; }
103
-div.content a:link, div#hbdrop a:link { color: #706532; }
104
-div.content a:visited, div#hbdrop a:visited { color: #704032; }
105
-div.content a:hover, div#hbdrop a:hover {
102
+div.content a, nav#hbdrop a { color: #706532; }
103
+div.content a:link, nav#hbdrop a:link { color: #706532; }
104
+div.content a:visited, nav#hbdrop a:visited { color: #704032; }
105
+div.content a:hover, nav#hbdrop a:hover {
106106
background-color: white; color: #706532;
107107
}
108108
a, a:visited {
109109
text-decoration: none;
110110
}
@@ -133,24 +133,24 @@
133133
clear: left;
134134
white-space: nowrap;
135135
}
136136
137137
/* The footer at the very bottom of the page */
138
-div.footer {
138
+footer {
139139
font-size: 0.8em;
140140
margin-top: 12px;
141141
padding: 5px 10px 5px 10px;
142142
text-align: right;
143143
background-color: #a09048;
144144
color: white;
145145
}
146146
147147
/* Hyperlink colors */
148
-div.footer a { color: white; }
149
-div.footer a:link { color: white; }
150
-div.footer a:visited { color: white; }
151
-div.footer a:hover { background-color: white; color: #558195; }
148
+footer a { color: white; }
149
+footer a:link { color: white; }
150
+footer a:visited { color: white; }
151
+footer a:hover { background-color: white; color: #558195; }
152152
153153
/* <verbatim> blocks */
154154
pre.verbatim {
155155
background-color: #f5f5f5;
156156
padding: 0.5em;
157157
--- skins/khaki/css.txt
+++ skins/khaki/css.txt
@@ -41,28 +41,28 @@
41 font-weight: bold;
42 white-space: nowrap;
43 }
44
45 /* The header across the top of the page */
46 div.header {
47 display: table;
48 width: 100%;
49 }
50
51 /* The main menu bar that appears at the top of the page beneath
52 ** the header */
53 div.mainmenu {
54 padding: 5px 10px 5px 10px;
55 font-size: 0.9em;
56 font-weight: bold;
57 text-align: center;
58 letter-spacing: 1px;
59 background-color: #a09048;
60 color: black;
61 z-index: 21; /* just above hbdrop */
62 }
63 div#hbdrop {
64 background-color: #fef3bc;
65 border: 2px solid #a09048;
66 border-radius: 0 0 0.5em 0.5em;
67 display: none;
68 left: 2em;
@@ -79,32 +79,32 @@
79 font-size: 0.9em;
80 text-align: center;
81 background-color: #c0af58;
82 color: white;
83 }
84 div.mainmenu a, div.mainmenu a:visited, div.submenu a, div.submenu a:visited,
85 div.sectionmenu>a.button:link, div.sectionmenu>a.button:visited,
86 div.submenu label {
87 padding: 3px 10px 3px 10px;
88 color: white;
89 text-decoration: none;
90 }
91 div.mainmenu a:hover, div.submenu a:hover, div.sectionmenu>a.button:hover,
92 div.submenu label:hover, div#hbdrop a:hover {
93 color: #a09048;
94 background-color: white;
95 }
96
97 /* All page content from the bottom of the menu or submenu down to
98 ** the footer */
99 div.content {
100 padding: 1ex 5px;
101 }
102 div.content a, div#hbdrop a { color: #706532; }
103 div.content a:link, div#hbdrop a:link { color: #706532; }
104 div.content a:visited, div#hbdrop a:visited { color: #704032; }
105 div.content a:hover, div#hbdrop a:hover {
106 background-color: white; color: #706532;
107 }
108 a, a:visited {
109 text-decoration: none;
110 }
@@ -133,24 +133,24 @@
133 clear: left;
134 white-space: nowrap;
135 }
136
137 /* The footer at the very bottom of the page */
138 div.footer {
139 font-size: 0.8em;
140 margin-top: 12px;
141 padding: 5px 10px 5px 10px;
142 text-align: right;
143 background-color: #a09048;
144 color: white;
145 }
146
147 /* Hyperlink colors */
148 div.footer a { color: white; }
149 div.footer a:link { color: white; }
150 div.footer a:visited { color: white; }
151 div.footer a:hover { background-color: white; color: #558195; }
152
153 /* <verbatim> blocks */
154 pre.verbatim {
155 background-color: #f5f5f5;
156 padding: 0.5em;
157
--- skins/khaki/css.txt
+++ skins/khaki/css.txt
@@ -41,28 +41,28 @@
41 font-weight: bold;
42 white-space: nowrap;
43 }
44
45 /* The header across the top of the page */
46 header {
47 display: table;
48 width: 100%;
49 }
50
51 /* The main menu bar that appears at the top of the page beneath
52 ** the header */
53 nav.mainmenu {
54 padding: 5px 10px 5px 10px;
55 font-size: 0.9em;
56 font-weight: bold;
57 text-align: center;
58 letter-spacing: 1px;
59 background-color: #a09048;
60 color: black;
61 z-index: 21; /* just above hbdrop */
62 }
63 nav#hbdrop {
64 background-color: #fef3bc;
65 border: 2px solid #a09048;
66 border-radius: 0 0 0.5em 0.5em;
67 display: none;
68 left: 2em;
@@ -79,32 +79,32 @@
79 font-size: 0.9em;
80 text-align: center;
81 background-color: #c0af58;
82 color: white;
83 }
84 nav.mainmenu a, nav.mainmenu a:visited, div.submenu a, div.submenu a:visited,
85 div.sectionmenu>a.button:link, div.sectionmenu>a.button:visited,
86 div.submenu label {
87 padding: 3px 10px 3px 10px;
88 color: white;
89 text-decoration: none;
90 }
91 nav.mainmenu a:hover, div.submenu a:hover, div.sectionmenu>a.button:hover,
92 div.submenu label:hover, nav#hbdrop a:hover {
93 color: #a09048;
94 background-color: white;
95 }
96
97 /* All page content from the bottom of the menu or submenu down to
98 ** the footer */
99 div.content {
100 padding: 1ex 5px;
101 }
102 div.content a, nav#hbdrop a { color: #706532; }
103 div.content a:link, nav#hbdrop a:link { color: #706532; }
104 div.content a:visited, nav#hbdrop a:visited { color: #704032; }
105 div.content a:hover, nav#hbdrop a:hover {
106 background-color: white; color: #706532;
107 }
108 a, a:visited {
109 text-decoration: none;
110 }
@@ -133,24 +133,24 @@
133 clear: left;
134 white-space: nowrap;
135 }
136
137 /* The footer at the very bottom of the page */
138 footer {
139 font-size: 0.8em;
140 margin-top: 12px;
141 padding: 5px 10px 5px 10px;
142 text-align: right;
143 background-color: #a09048;
144 color: white;
145 }
146
147 /* Hyperlink colors */
148 footer a { color: white; }
149 footer a:link { color: white; }
150 footer a:visited { color: white; }
151 footer a:hover { background-color: white; color: #558195; }
152
153 /* <verbatim> blocks */
154 pre.verbatim {
155 background-color: #f5f5f5;
156 padding: 0.5em;
157
--- skins/khaki/footer.txt
+++ skins/khaki/footer.txt
@@ -1,3 +1,3 @@
1
-<div class="footer">
1
+<footer>
22
Fossil $release_version $manifest_version $manifest_date
3
-</div>
3
+</footer>
44
--- skins/khaki/footer.txt
+++ skins/khaki/footer.txt
@@ -1,3 +1,3 @@
1 <div class="footer">
2 Fossil $release_version $manifest_version $manifest_date
3 </div>
4
--- skins/khaki/footer.txt
+++ skins/khaki/footer.txt
@@ -1,3 +1,3 @@
1 <footer>
2 Fossil $release_version $manifest_version $manifest_date
3 </footer>
4
--- skins/khaki/header.txt
+++ skins/khaki/header.txt
@@ -1,22 +1,25 @@
1
-<div class="header">
1
+<header>
22
<div class="title">$<title></div>
33
<div class="status">
44
<div class="logo">$<project_name></div><br/>
55
<th1>
6
- if {[info exists login]} {
7
- puts "Logged in as $login"
8
- } else {
9
- puts "Not logged in"
10
- }
11
- </th1></div>
12
-</div>
13
-<div class="mainmenu"><th1>
14
-html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
15
-builtin_request_js hbmenu.js
16
-foreach {name url expr class} $mainmenu {
17
- if {![capexpr $expr]} continue
18
- if {[string match /* $url]} {set url $home$url}
19
- html "<a href='$url' class='$class'>$name</a>\n"
20
-}
21
-</th1></div>
22
-<div id='hbdrop'></div>
6
+ if {[info exists login]} {
7
+ puts "Logged in as $login"
8
+ } else {
9
+ puts "Not logged in"
10
+ }
11
+ </th1>
12
+ </div>
13
+</header>
14
+<nav class="mainmenu" title="Main Menu">
15
+ <th1>
16
+ html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
17
+ builtin_request_js hbmenu.js
18
+ foreach {name url expr class} $mainmenu {
19
+ if {![capexpr $expr]} continue
20
+ if {[string match /* $url]} {set url $home$url}
21
+ html "<a href='$url' class='$class'>$name</a>\n"
22
+ }
23
+ </th1>
24
+</nav>
25
+<nav id="hbdrop" class='hbdrop' title="sitemap"></nav>
2326
--- skins/khaki/header.txt
+++ skins/khaki/header.txt
@@ -1,22 +1,25 @@
1 <div class="header">
2 <div class="title">$<title></div>
3 <div class="status">
4 <div class="logo">$<project_name></div><br/>
5 <th1>
6 if {[info exists login]} {
7 puts "Logged in as $login"
8 } else {
9 puts "Not logged in"
10 }
11 </th1></div>
12 </div>
13 <div class="mainmenu"><th1>
14 html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
15 builtin_request_js hbmenu.js
16 foreach {name url expr class} $mainmenu {
17 if {![capexpr $expr]} continue
18 if {[string match /* $url]} {set url $home$url}
19 html "<a href='$url' class='$class'>$name</a>\n"
20 }
21 </th1></div>
22 <div id='hbdrop'></div>
 
 
 
23
--- skins/khaki/header.txt
+++ skins/khaki/header.txt
@@ -1,22 +1,25 @@
1 <header>
2 <div class="title">$<title></div>
3 <div class="status">
4 <div class="logo">$<project_name></div><br/>
5 <th1>
6 if {[info exists login]} {
7 puts "Logged in as $login"
8 } else {
9 puts "Not logged in"
10 }
11 </th1>
12 </div>
13 </header>
14 <nav class="mainmenu" title="Main Menu">
15 <th1>
16 html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
17 builtin_request_js hbmenu.js
18 foreach {name url expr class} $mainmenu {
19 if {![capexpr $expr]} continue
20 if {[string match /* $url]} {set url $home$url}
21 html "<a href='$url' class='$class'>$name</a>\n"
22 }
23 </th1>
24 </nav>
25 <nav id="hbdrop" class='hbdrop' title="sitemap"></nav>
26
--- skins/original/css.txt
+++ skins/original/css.txt
@@ -42,18 +42,18 @@
4242
font-weight: bold;
4343
white-space: nowrap;
4444
}
4545
4646
/* The header across the top of the page */
47
-div.header {
47
+header {
4848
display: table;
4949
width: 100%;
5050
}
5151
5252
/* The main menu bar that appears at the top of the page beneath
5353
** the header */
54
-div.mainmenu {
54
+nav.mainmenu {
5555
padding: 5px;
5656
font-size: 0.9em;
5757
font-weight: bold;
5858
text-align: center;
5959
letter-spacing: 1px;
@@ -69,18 +69,18 @@
6969
font-size: 0.9em;
7070
text-align: center;
7171
background-color: #456878;
7272
color: white;
7373
}
74
-div.mainmenu a, div.mainmenu a:visited, div.submenu a, div.submenu a:visited,
74
+nav.mainmenu a, nav.mainmenu a:visited, div.submenu a, div.submenu a:visited,
7575
div.sectionmenu>a.button:link, div.sectionmenu>a.button:visited,
7676
div.submenu label {
7777
padding: 3px 10px 3px 10px;
7878
color: white;
7979
text-decoration: none;
8080
}
81
-div.mainmenu a:hover, div.submenu a:hover, div.sectionmenu>a.button:hover,
81
+nav.mainmenu a:hover, div.submenu a:hover, div.sectionmenu>a.button:hover,
8282
div.submenu label:hover {
8383
color: #558195;
8484
background-color: white;
8585
}
8686
@@ -115,11 +115,11 @@
115115
clear: left;
116116
white-space: nowrap;
117117
}
118118
119119
/* The footer at the very bottom of the page */
120
-div.footer {
120
+footer {
121121
clear: both;
122122
font-size: 0.8em;
123123
padding: 5px 10px 5px 10px;
124124
text-align: right;
125125
background-color: #558195;
@@ -127,14 +127,14 @@
127127
border-bottom-right-radius: 8px;
128128
color: white;
129129
}
130130
131131
/* Hyperlink colors in the footer */
132
-div.footer a { color: white; }
133
-div.footer a:link { color: white; }
134
-div.footer a:visited { color: white; }
135
-div.footer a:hover { background-color: white; color: #558195; }
132
+footer a { color: white; }
133
+footer a:link { color: white; }
134
+footer a:visited { color: white; }
135
+footer a:hover { background-color: white; color: #558195; }
136136
137137
/* verbatim blocks */
138138
pre.verbatim {
139139
background-color: #f5f5f5;
140140
padding: 0.5em;
141141
--- skins/original/css.txt
+++ skins/original/css.txt
@@ -42,18 +42,18 @@
42 font-weight: bold;
43 white-space: nowrap;
44 }
45
46 /* The header across the top of the page */
47 div.header {
48 display: table;
49 width: 100%;
50 }
51
52 /* The main menu bar that appears at the top of the page beneath
53 ** the header */
54 div.mainmenu {
55 padding: 5px;
56 font-size: 0.9em;
57 font-weight: bold;
58 text-align: center;
59 letter-spacing: 1px;
@@ -69,18 +69,18 @@
69 font-size: 0.9em;
70 text-align: center;
71 background-color: #456878;
72 color: white;
73 }
74 div.mainmenu a, div.mainmenu a:visited, div.submenu a, div.submenu a:visited,
75 div.sectionmenu>a.button:link, div.sectionmenu>a.button:visited,
76 div.submenu label {
77 padding: 3px 10px 3px 10px;
78 color: white;
79 text-decoration: none;
80 }
81 div.mainmenu a:hover, div.submenu a:hover, div.sectionmenu>a.button:hover,
82 div.submenu label:hover {
83 color: #558195;
84 background-color: white;
85 }
86
@@ -115,11 +115,11 @@
115 clear: left;
116 white-space: nowrap;
117 }
118
119 /* The footer at the very bottom of the page */
120 div.footer {
121 clear: both;
122 font-size: 0.8em;
123 padding: 5px 10px 5px 10px;
124 text-align: right;
125 background-color: #558195;
@@ -127,14 +127,14 @@
127 border-bottom-right-radius: 8px;
128 color: white;
129 }
130
131 /* Hyperlink colors in the footer */
132 div.footer a { color: white; }
133 div.footer a:link { color: white; }
134 div.footer a:visited { color: white; }
135 div.footer a:hover { background-color: white; color: #558195; }
136
137 /* verbatim blocks */
138 pre.verbatim {
139 background-color: #f5f5f5;
140 padding: 0.5em;
141
--- skins/original/css.txt
+++ skins/original/css.txt
@@ -42,18 +42,18 @@
42 font-weight: bold;
43 white-space: nowrap;
44 }
45
46 /* The header across the top of the page */
47 header {
48 display: table;
49 width: 100%;
50 }
51
52 /* The main menu bar that appears at the top of the page beneath
53 ** the header */
54 nav.mainmenu {
55 padding: 5px;
56 font-size: 0.9em;
57 font-weight: bold;
58 text-align: center;
59 letter-spacing: 1px;
@@ -69,18 +69,18 @@
69 font-size: 0.9em;
70 text-align: center;
71 background-color: #456878;
72 color: white;
73 }
74 nav.mainmenu a, nav.mainmenu a:visited, div.submenu a, div.submenu a:visited,
75 div.sectionmenu>a.button:link, div.sectionmenu>a.button:visited,
76 div.submenu label {
77 padding: 3px 10px 3px 10px;
78 color: white;
79 text-decoration: none;
80 }
81 nav.mainmenu a:hover, div.submenu a:hover, div.sectionmenu>a.button:hover,
82 div.submenu label:hover {
83 color: #558195;
84 background-color: white;
85 }
86
@@ -115,11 +115,11 @@
115 clear: left;
116 white-space: nowrap;
117 }
118
119 /* The footer at the very bottom of the page */
120 footer {
121 clear: both;
122 font-size: 0.8em;
123 padding: 5px 10px 5px 10px;
124 text-align: right;
125 background-color: #558195;
@@ -127,14 +127,14 @@
127 border-bottom-right-radius: 8px;
128 color: white;
129 }
130
131 /* Hyperlink colors in the footer */
132 footer a { color: white; }
133 footer a:link { color: white; }
134 footer a:visited { color: white; }
135 footer a:hover { background-color: white; color: #558195; }
136
137 /* verbatim blocks */
138 pre.verbatim {
139 background-color: #f5f5f5;
140 padding: 0.5em;
141
--- skins/original/footer.txt
+++ skins/original/footer.txt
@@ -1,6 +1,6 @@
1
-<div class="footer">
1
+<footer>
22
<th1>
33
proc getTclVersion {} {
44
if {[catch {tclEval info patchlevel} tclVersion] == 0} {
55
return "<a href=\"https://www.tcl.tk/\">Tcl</a> version $tclVersion"
66
}
@@ -19,6 +19,6 @@
1919
<th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s by
2020
<a href="$fossilUrl/">Fossil</a>
2121
version $release_version $tclVersion
2222
<a href="$fossilUrl/index.html/info/$version">$manifest_version</a>
2323
<a href="$fossilUrl/index.html/timeline?c=$fossilDate&amp;y=ci">$manifest_date</a>
24
-</div>
24
+</footer>
2525
--- skins/original/footer.txt
+++ skins/original/footer.txt
@@ -1,6 +1,6 @@
1 <div class="footer">
2 <th1>
3 proc getTclVersion {} {
4 if {[catch {tclEval info patchlevel} tclVersion] == 0} {
5 return "<a href=\"https://www.tcl.tk/\">Tcl</a> version $tclVersion"
6 }
@@ -19,6 +19,6 @@
19 <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s by
20 <a href="$fossilUrl/">Fossil</a>
21 version $release_version $tclVersion
22 <a href="$fossilUrl/index.html/info/$version">$manifest_version</a>
23 <a href="$fossilUrl/index.html/timeline?c=$fossilDate&amp;y=ci">$manifest_date</a>
24 </div>
25
--- skins/original/footer.txt
+++ skins/original/footer.txt
@@ -1,6 +1,6 @@
1 <footer>
2 <th1>
3 proc getTclVersion {} {
4 if {[catch {tclEval info patchlevel} tclVersion] == 0} {
5 return "<a href=\"https://www.tcl.tk/\">Tcl</a> version $tclVersion"
6 }
@@ -19,6 +19,6 @@
19 <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s by
20 <a href="$fossilUrl/">Fossil</a>
21 version $release_version $tclVersion
22 <a href="$fossilUrl/index.html/info/$version">$manifest_version</a>
23 <a href="$fossilUrl/index.html/timeline?c=$fossilDate&amp;y=ci">$manifest_date</a>
24 </footer>
25
--- skins/original/header.txt
+++ skins/original/header.txt
@@ -1,6 +1,6 @@
1
-<div class="header">
1
+<header>
22
<div class="logo">
33
<th1>
44
##
55
## NOTE: The purpose of this procedure is to take the base URL of the
66
## Fossil project and return the root of the entire web site using
@@ -70,36 +70,38 @@
7070
puts "Logged in as $login"
7171
} else {
7272
puts "Not logged in"
7373
}
7474
</th1></nobr><small><div id="clock"></div></small></div>
75
-</div>
76
-<th1>html "<script nonce='$nonce'>"</th1>
77
-function updateClock(){
78
- var e = document.getElementById("clock");
79
- if(e){
80
- var d = new Date();
81
- function f(n) {
82
- return n < 10 ? '0' + n : n;
83
- }
84
- e.innerHTML = d.getUTCFullYear()+ '-' +
85
- f(d.getUTCMonth() + 1) + '-' +
86
- f(d.getUTCDate()) + ' ' +
87
- f(d.getUTCHours()) + ':' +
88
- f(d.getUTCMinutes());
89
- setTimeout(updateClock,(60-d.getUTCSeconds())*1000);
90
- }
91
-}
92
-updateClock();
93
-</script>
94
-<div class="mainmenu"><th1>
95
-set sitemap 0
96
-foreach {name url expr class} $mainmenu {
97
- if {![capexpr $expr]} continue
98
- if {[string match /* $url]} {set url $home$url}
99
- html "<a href='$url' class='$class'>$name</a>\n"
100
- if {[string match */sitemap $url]} {set sitemap 1}
101
-}
102
-if {!$sitemap} {
103
- html "<a href='$home/sitemap'>...</a>"
104
-}
105
-</th1></div>
75
+</header>
76
+<th1>html "<script nonce='$nonce'>"</th1>
77
+ function updateClock(){
78
+ var e = document.getElementById("clock");
79
+ if(e){
80
+ var d = new Date();
81
+ function f(n) {
82
+ return n < 10 ? '0' + n : n;
83
+ }
84
+ e.innerHTML = d.getUTCFullYear()+ '-' +
85
+ f(d.getUTCMonth() + 1) + '-' +
86
+ f(d.getUTCDate()) + ' ' +
87
+ f(d.getUTCHours()) + ':' +
88
+ f(d.getUTCMinutes());
89
+ setTimeout(updateClock,(60-d.getUTCSeconds())*1000);
90
+ }
91
+ }
92
+ updateClock();
93
+</script>
94
+<nav class="mainmenu" title="Main Menu">
95
+ <th1>
96
+ set sitemap 0
97
+ foreach {name url expr class} $mainmenu {
98
+ if {![capexpr $expr]} continue
99
+ if {[string match /* $url]} {set url $home$url}
100
+ html "<a href='$url' class='$class'>$name</a>\n"
101
+ if {[string match */sitemap $url]} {set sitemap 1}
102
+ }
103
+ if {!$sitemap} {
104
+ html "<a href='$home/sitemap'>...</a>"
105
+ }
106
+ </th1>
107
+</nav>
106108
--- skins/original/header.txt
+++ skins/original/header.txt
@@ -1,6 +1,6 @@
1 <div class="header">
2 <div class="logo">
3 <th1>
4 ##
5 ## NOTE: The purpose of this procedure is to take the base URL of the
6 ## Fossil project and return the root of the entire web site using
@@ -70,36 +70,38 @@
70 puts "Logged in as $login"
71 } else {
72 puts "Not logged in"
73 }
74 </th1></nobr><small><div id="clock"></div></small></div>
75 </div>
76 <th1>html "<script nonce='$nonce'>"</th1>
77 function updateClock(){
78 var e = document.getElementById("clock");
79 if(e){
80 var d = new Date();
81 function f(n) {
82 return n < 10 ? '0' + n : n;
83 }
84 e.innerHTML = d.getUTCFullYear()+ '-' +
85 f(d.getUTCMonth() + 1) + '-' +
86 f(d.getUTCDate()) + ' ' +
87 f(d.getUTCHours()) + ':' +
88 f(d.getUTCMinutes());
89 setTimeout(updateClock,(60-d.getUTCSeconds())*1000);
90 }
91 }
92 updateClock();
93 </script>
94 <div class="mainmenu"><th1>
95 set sitemap 0
96 foreach {name url expr class} $mainmenu {
97 if {![capexpr $expr]} continue
98 if {[string match /* $url]} {set url $home$url}
99 html "<a href='$url' class='$class'>$name</a>\n"
100 if {[string match */sitemap $url]} {set sitemap 1}
101 }
102 if {!$sitemap} {
103 html "<a href='$home/sitemap'>...</a>"
104 }
105 </th1></div>
 
 
106
--- skins/original/header.txt
+++ skins/original/header.txt
@@ -1,6 +1,6 @@
1 <header>
2 <div class="logo">
3 <th1>
4 ##
5 ## NOTE: The purpose of this procedure is to take the base URL of the
6 ## Fossil project and return the root of the entire web site using
@@ -70,36 +70,38 @@
70 puts "Logged in as $login"
71 } else {
72 puts "Not logged in"
73 }
74 </th1></nobr><small><div id="clock"></div></small></div>
75 </header>
76 <th1>html "<script nonce='$nonce'>"</th1>
77 function updateClock(){
78 var e = document.getElementById("clock");
79 if(e){
80 var d = new Date();
81 function f(n) {
82 return n < 10 ? '0' + n : n;
83 }
84 e.innerHTML = d.getUTCFullYear()+ '-' +
85 f(d.getUTCMonth() + 1) + '-' +
86 f(d.getUTCDate()) + ' ' +
87 f(d.getUTCHours()) + ':' +
88 f(d.getUTCMinutes());
89 setTimeout(updateClock,(60-d.getUTCSeconds())*1000);
90 }
91 }
92 updateClock();
93 </script>
94 <nav class="mainmenu" title="Main Menu">
95 <th1>
96 set sitemap 0
97 foreach {name url expr class} $mainmenu {
98 if {![capexpr $expr]} continue
99 if {[string match /* $url]} {set url $home$url}
100 html "<a href='$url' class='$class'>$name</a>\n"
101 if {[string match */sitemap $url]} {set sitemap 1}
102 }
103 if {!$sitemap} {
104 html "<a href='$home/sitemap'>...</a>"
105 }
106 </th1>
107 </nav>
108
--- skins/plain_gray/css.txt
+++ skins/plain_gray/css.txt
@@ -28,18 +28,18 @@
2828
font-weight: bold;
2929
white-space: nowrap;
3030
}
3131
3232
/* The header across the top of the page */
33
-div.header {
33
+header {
3434
display: table;
3535
width: 100%;
3636
}
3737
3838
/* The main menu bar that appears at the top of the page beneath
3939
** the header */
40
-div.mainmenu {
40
+nav.mainmenu {
4141
padding: 5px 10px 5px 10px;
4242
font-size: 0.9em;
4343
font-weight: bold;
4444
text-align: center;
4545
letter-spacing: 1px;
@@ -67,22 +67,22 @@
6767
font-size: 0.9em;
6868
text-align: center;
6969
background-color: #606060;
7070
color: white;
7171
}
72
-div.mainmenu a,
73
-div.mainmenu a:visited,
72
+nav.mainmenu a,
73
+nav.mainmenu a:visited,
7474
div.submenu a,
7575
div.submenu a:visited,
7676
div.sectionmenu>a.button:link,
7777
div.sectionmenu>a.button:visited,
7878
div.submenu label {
7979
padding: 3px 10px 3px 10px;
8080
color: white;
8181
text-decoration: none;
8282
}
83
-div.mainmenu a:hover,
83
+nav.mainmenu a:hover,
8484
div.submenu a:hover,
8585
div.sectionmenu>a.button:hover,
8686
div.submenu label:hover {
8787
color: #404040;
8888
background-color: white;
@@ -131,11 +131,11 @@
131131
clear: left;
132132
white-space: nowrap;
133133
}
134134
135135
/* The footer at the very bottom of the page */
136
-div.footer {
136
+footer {
137137
font-size: 0.8em;
138138
margin-top: 12px;
139139
padding: 5px 10px 5px 10px;
140140
text-align: right;
141141
background-color: #404040;
142142
--- skins/plain_gray/css.txt
+++ skins/plain_gray/css.txt
@@ -28,18 +28,18 @@
28 font-weight: bold;
29 white-space: nowrap;
30 }
31
32 /* The header across the top of the page */
33 div.header {
34 display: table;
35 width: 100%;
36 }
37
38 /* The main menu bar that appears at the top of the page beneath
39 ** the header */
40 div.mainmenu {
41 padding: 5px 10px 5px 10px;
42 font-size: 0.9em;
43 font-weight: bold;
44 text-align: center;
45 letter-spacing: 1px;
@@ -67,22 +67,22 @@
67 font-size: 0.9em;
68 text-align: center;
69 background-color: #606060;
70 color: white;
71 }
72 div.mainmenu a,
73 div.mainmenu a:visited,
74 div.submenu a,
75 div.submenu a:visited,
76 div.sectionmenu>a.button:link,
77 div.sectionmenu>a.button:visited,
78 div.submenu label {
79 padding: 3px 10px 3px 10px;
80 color: white;
81 text-decoration: none;
82 }
83 div.mainmenu a:hover,
84 div.submenu a:hover,
85 div.sectionmenu>a.button:hover,
86 div.submenu label:hover {
87 color: #404040;
88 background-color: white;
@@ -131,11 +131,11 @@
131 clear: left;
132 white-space: nowrap;
133 }
134
135 /* The footer at the very bottom of the page */
136 div.footer {
137 font-size: 0.8em;
138 margin-top: 12px;
139 padding: 5px 10px 5px 10px;
140 text-align: right;
141 background-color: #404040;
142
--- skins/plain_gray/css.txt
+++ skins/plain_gray/css.txt
@@ -28,18 +28,18 @@
28 font-weight: bold;
29 white-space: nowrap;
30 }
31
32 /* The header across the top of the page */
33 header {
34 display: table;
35 width: 100%;
36 }
37
38 /* The main menu bar that appears at the top of the page beneath
39 ** the header */
40 nav.mainmenu {
41 padding: 5px 10px 5px 10px;
42 font-size: 0.9em;
43 font-weight: bold;
44 text-align: center;
45 letter-spacing: 1px;
@@ -67,22 +67,22 @@
67 font-size: 0.9em;
68 text-align: center;
69 background-color: #606060;
70 color: white;
71 }
72 nav.mainmenu a,
73 nav.mainmenu a:visited,
74 div.submenu a,
75 div.submenu a:visited,
76 div.sectionmenu>a.button:link,
77 div.sectionmenu>a.button:visited,
78 div.submenu label {
79 padding: 3px 10px 3px 10px;
80 color: white;
81 text-decoration: none;
82 }
83 nav.mainmenu a:hover,
84 div.submenu a:hover,
85 div.sectionmenu>a.button:hover,
86 div.submenu label:hover {
87 color: #404040;
88 background-color: white;
@@ -131,11 +131,11 @@
131 clear: left;
132 white-space: nowrap;
133 }
134
135 /* The footer at the very bottom of the page */
136 footer {
137 font-size: 0.8em;
138 margin-top: 12px;
139 padding: 5px 10px 5px 10px;
140 text-align: right;
141 background-color: #404040;
142
--- skins/plain_gray/footer.txt
+++ skins/plain_gray/footer.txt
@@ -1,3 +1,3 @@
1
-<div class="footer">
1
+<footer>
22
Fossil $release_version $manifest_version $manifest_date
3
-</div>
3
+</footer>
44
--- skins/plain_gray/footer.txt
+++ skins/plain_gray/footer.txt
@@ -1,3 +1,3 @@
1 <div class="footer">
2 Fossil $release_version $manifest_version $manifest_date
3 </div>
4
--- skins/plain_gray/footer.txt
+++ skins/plain_gray/footer.txt
@@ -1,3 +1,3 @@
1 <footer>
2 Fossil $release_version $manifest_version $manifest_date
3 </footer>
4
--- skins/plain_gray/header.txt
+++ skins/plain_gray/header.txt
@@ -1,14 +1,15 @@
1
-<div class="header">
1
+<header>
22
<div class="title">$<project_name>: $<title></div>
3
-</div>
4
-<div class="mainmenu">
5
-<th1>
6
-html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
7
-builtin_request_js hbmenu.js
8
-foreach {name url expr class} $mainmenu {
9
- if {![capexpr $expr]} continue
10
- if {[string match /* $url]} {set url $home$url}
11
- html "<a href='$url' class='$class'>$name</a>\n"
12
-}
13
-</th1></div>
14
-<div id='hbdrop' class='hbdrop'></div>
3
+</header>
4
+<nav class="mainmenu" title="Main Menu">
5
+ <th1>
6
+ html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
7
+ builtin_request_js hbmenu.js
8
+ foreach {name url expr class} $mainmenu {
9
+ if {![capexpr $expr]} continue
10
+ if {[string match /* $url]} {set url $home$url}
11
+ html "<a href='$url' class='$class'>$name</a>\n"
12
+ }
13
+ </th1>
14
+</nav>
15
+<nav id="hbdrop" class='hbdrop' title="sitemap"></nav>
1516
--- skins/plain_gray/header.txt
+++ skins/plain_gray/header.txt
@@ -1,14 +1,15 @@
1 <div class="header">
2 <div class="title">$<project_name>: $<title></div>
3 </div>
4 <div class="mainmenu">
5 <th1>
6 html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
7 builtin_request_js hbmenu.js
8 foreach {name url expr class} $mainmenu {
9 if {![capexpr $expr]} continue
10 if {[string match /* $url]} {set url $home$url}
11 html "<a href='$url' class='$class'>$name</a>\n"
12 }
13 </th1></div>
14 <div id='hbdrop' class='hbdrop'></div>
 
15
--- skins/plain_gray/header.txt
+++ skins/plain_gray/header.txt
@@ -1,14 +1,15 @@
1 <header>
2 <div class="title">$<project_name>: $<title></div>
3 </header>
4 <nav class="mainmenu" title="Main Menu">
5 <th1>
6 html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
7 builtin_request_js hbmenu.js
8 foreach {name url expr class} $mainmenu {
9 if {![capexpr $expr]} continue
10 if {[string match /* $url]} {set url $home$url}
11 html "<a href='$url' class='$class'>$name</a>\n"
12 }
13 </th1>
14 </nav>
15 <nav id="hbdrop" class='hbdrop' title="sitemap"></nav>
16
--- skins/xekri/css.txt
+++ skins/xekri/css.txt
@@ -75,11 +75,11 @@
7575
7676
/**************************************
7777
* Main Area
7878
*/
7979
80
-div.header, div.mainmenu, div.submenu, div.content, div.footer {
80
+header, nav.mainmenu, div.submenu, div.content, footer {
8181
clear: both;
8282
margin: 0 auto;
8383
max-width: 90%;
8484
padding: 0.25rem 1rem;
8585
}
@@ -87,11 +87,11 @@
8787
8888
/**************************************
8989
* Main Area: Header
9090
*/
9191
92
-div.header {
92
+header {
9393
margin: 0.5rem auto 0 auto;
9494
display: flex;
9595
flex-direction: row;
9696
align-items: center;
9797
flex-wrap: wrap;
@@ -146,21 +146,21 @@
146146
147147
/**************************************
148148
* Main Area: Global Menu
149149
*/
150150
151
-div.mainmenu, div.submenu {
151
+nav.mainmenu, div.submenu {
152152
background-color: #080;
153153
border-radius: 1rem 1rem 0 0;
154154
box-shadow: 3px 4px 1px #000;
155155
color: #000;
156156
font-weight: bold;
157157
font-size: 1.1rem;
158158
text-align: center;
159159
}
160160
161
-div.mainmenu {
161
+nav.mainmenu {
162162
padding-top: 0.33rem;
163163
padding-bottom: 0.25rem;
164164
}
165165
166166
div.submenu {
@@ -167,17 +167,17 @@
167167
border-top: 1px solid #0a0;
168168
border-radius: 0;
169169
display: block;
170170
}
171171
172
-div.mainmenu a, div.submenu a, div.submenu label {
172
+nav.mainmenu a, div.submenu a, div.submenu label {
173173
color: #000;
174174
padding: 0 0.75rem;
175175
text-decoration: none;
176176
}
177177
178
-div.mainmenu a:hover, div.submenu a:hover, div.submenu label:hover {
178
+nav.mainmenu a:hover, div.submenu a:hover, div.submenu label:hover {
179179
color: #fff;
180180
text-shadow: 0px 0px 6px #0f0;
181181
}
182182
183183
div.submenu * {
@@ -223,40 +223,40 @@
223223
224224
/**************************************
225225
* Main Area: Footer
226226
*/
227227
228
-div.footer {
228
+footer {
229229
color: #ee0;
230230
font-size: 0.75rem;
231231
padding: 0;
232232
text-align: right;
233233
width: 75%;
234234
}
235235
236236
237
-div.footer div {
237
+footer div {
238238
background-color: #222;
239239
box-shadow: 3px 3px 1px #000;
240240
border-radius: 0 0 1rem 1rem;
241241
margin: 0 0 10px 0;
242242
padding: 0.25rem 0.75rem;
243243
}
244244
245
-div.footer div.page-time {
245
+footer div.page-time {
246246
float: left;
247247
}
248248
249
-div.footer div.fossil-info {
249
+footer div.fossil-info {
250250
float: right;
251251
}
252252
253
-div.footer a, div.footer a:link, div.footer a:visited {
253
+footer a, footer a:link, footer a:visited {
254254
color: #ee0;
255255
}
256256
257
-div.footer a:hover {
257
+footer a:hover {
258258
color: #fff;
259259
text-shadow: 0px 0px 6px #ee0;
260260
}
261261
262262
@@ -1164,12 +1164,12 @@
11641164
body.branch .brlist > table > tbody > tr:hover:not(.selected),
11651165
body.branch .brlist > table > tbody > tr.selected {
11661166
background-color: #444;
11671167
}
11681168
1169
-body.chat div.header, body.chat div.footer,
1170
-body.chat div.mainmenu, body.chat div.submenu,
1169
+body.chat header, body.chat footer,
1170
+body.chat nav.mainmenu, body.chat div.submenu,
11711171
body.chat div.content {
11721172
margin-left: 0.5em;
11731173
margin-right: 0.5em;
11741174
margin-top: auto/*eliminates unnecessary scrollbars*/;
11751175
}
11761176
--- skins/xekri/css.txt
+++ skins/xekri/css.txt
@@ -75,11 +75,11 @@
75
76 /**************************************
77 * Main Area
78 */
79
80 div.header, div.mainmenu, div.submenu, div.content, div.footer {
81 clear: both;
82 margin: 0 auto;
83 max-width: 90%;
84 padding: 0.25rem 1rem;
85 }
@@ -87,11 +87,11 @@
87
88 /**************************************
89 * Main Area: Header
90 */
91
92 div.header {
93 margin: 0.5rem auto 0 auto;
94 display: flex;
95 flex-direction: row;
96 align-items: center;
97 flex-wrap: wrap;
@@ -146,21 +146,21 @@
146
147 /**************************************
148 * Main Area: Global Menu
149 */
150
151 div.mainmenu, div.submenu {
152 background-color: #080;
153 border-radius: 1rem 1rem 0 0;
154 box-shadow: 3px 4px 1px #000;
155 color: #000;
156 font-weight: bold;
157 font-size: 1.1rem;
158 text-align: center;
159 }
160
161 div.mainmenu {
162 padding-top: 0.33rem;
163 padding-bottom: 0.25rem;
164 }
165
166 div.submenu {
@@ -167,17 +167,17 @@
167 border-top: 1px solid #0a0;
168 border-radius: 0;
169 display: block;
170 }
171
172 div.mainmenu a, div.submenu a, div.submenu label {
173 color: #000;
174 padding: 0 0.75rem;
175 text-decoration: none;
176 }
177
178 div.mainmenu a:hover, div.submenu a:hover, div.submenu label:hover {
179 color: #fff;
180 text-shadow: 0px 0px 6px #0f0;
181 }
182
183 div.submenu * {
@@ -223,40 +223,40 @@
223
224 /**************************************
225 * Main Area: Footer
226 */
227
228 div.footer {
229 color: #ee0;
230 font-size: 0.75rem;
231 padding: 0;
232 text-align: right;
233 width: 75%;
234 }
235
236
237 div.footer div {
238 background-color: #222;
239 box-shadow: 3px 3px 1px #000;
240 border-radius: 0 0 1rem 1rem;
241 margin: 0 0 10px 0;
242 padding: 0.25rem 0.75rem;
243 }
244
245 div.footer div.page-time {
246 float: left;
247 }
248
249 div.footer div.fossil-info {
250 float: right;
251 }
252
253 div.footer a, div.footer a:link, div.footer a:visited {
254 color: #ee0;
255 }
256
257 div.footer a:hover {
258 color: #fff;
259 text-shadow: 0px 0px 6px #ee0;
260 }
261
262
@@ -1164,12 +1164,12 @@
1164 body.branch .brlist > table > tbody > tr:hover:not(.selected),
1165 body.branch .brlist > table > tbody > tr.selected {
1166 background-color: #444;
1167 }
1168
1169 body.chat div.header, body.chat div.footer,
1170 body.chat div.mainmenu, body.chat div.submenu,
1171 body.chat div.content {
1172 margin-left: 0.5em;
1173 margin-right: 0.5em;
1174 margin-top: auto/*eliminates unnecessary scrollbars*/;
1175 }
1176
--- skins/xekri/css.txt
+++ skins/xekri/css.txt
@@ -75,11 +75,11 @@
75
76 /**************************************
77 * Main Area
78 */
79
80 header, nav.mainmenu, div.submenu, div.content, footer {
81 clear: both;
82 margin: 0 auto;
83 max-width: 90%;
84 padding: 0.25rem 1rem;
85 }
@@ -87,11 +87,11 @@
87
88 /**************************************
89 * Main Area: Header
90 */
91
92 header {
93 margin: 0.5rem auto 0 auto;
94 display: flex;
95 flex-direction: row;
96 align-items: center;
97 flex-wrap: wrap;
@@ -146,21 +146,21 @@
146
147 /**************************************
148 * Main Area: Global Menu
149 */
150
151 nav.mainmenu, div.submenu {
152 background-color: #080;
153 border-radius: 1rem 1rem 0 0;
154 box-shadow: 3px 4px 1px #000;
155 color: #000;
156 font-weight: bold;
157 font-size: 1.1rem;
158 text-align: center;
159 }
160
161 nav.mainmenu {
162 padding-top: 0.33rem;
163 padding-bottom: 0.25rem;
164 }
165
166 div.submenu {
@@ -167,17 +167,17 @@
167 border-top: 1px solid #0a0;
168 border-radius: 0;
169 display: block;
170 }
171
172 nav.mainmenu a, div.submenu a, div.submenu label {
173 color: #000;
174 padding: 0 0.75rem;
175 text-decoration: none;
176 }
177
178 nav.mainmenu a:hover, div.submenu a:hover, div.submenu label:hover {
179 color: #fff;
180 text-shadow: 0px 0px 6px #0f0;
181 }
182
183 div.submenu * {
@@ -223,40 +223,40 @@
223
224 /**************************************
225 * Main Area: Footer
226 */
227
228 footer {
229 color: #ee0;
230 font-size: 0.75rem;
231 padding: 0;
232 text-align: right;
233 width: 75%;
234 }
235
236
237 footer div {
238 background-color: #222;
239 box-shadow: 3px 3px 1px #000;
240 border-radius: 0 0 1rem 1rem;
241 margin: 0 0 10px 0;
242 padding: 0.25rem 0.75rem;
243 }
244
245 footer div.page-time {
246 float: left;
247 }
248
249 footer div.fossil-info {
250 float: right;
251 }
252
253 footer a, footer a:link, footer a:visited {
254 color: #ee0;
255 }
256
257 footer a:hover {
258 color: #fff;
259 text-shadow: 0px 0px 6px #ee0;
260 }
261
262
@@ -1164,12 +1164,12 @@
1164 body.branch .brlist > table > tbody > tr:hover:not(.selected),
1165 body.branch .brlist > table > tbody > tr.selected {
1166 background-color: #444;
1167 }
1168
1169 body.chat header, body.chat footer,
1170 body.chat nav.mainmenu, body.chat div.submenu,
1171 body.chat div.content {
1172 margin-left: 0.5em;
1173 margin-right: 0.5em;
1174 margin-top: auto/*eliminates unnecessary scrollbars*/;
1175 }
1176
--- skins/xekri/footer.txt
+++ skins/xekri/footer.txt
@@ -1,9 +1,9 @@
11
</div>
2
-<div class="footer">
3
-<div class="page-time">
4
-Generated in <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s
5
-</div>
6
-<div class="fossil-info">
7
-Fossil v$release_version $manifest_version
8
-</div>
9
-</div>
2
+<footer>
3
+ <div class="page-time">
4
+ Generated in <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s
5
+ </div>
6
+ <div class="fossil-info">
7
+ Fossil v$release_version $manifest_version
8
+ </div>
9
+</footer>
1010
--- skins/xekri/footer.txt
+++ skins/xekri/footer.txt
@@ -1,9 +1,9 @@
1 </div>
2 <div class="footer">
3 <div class="page-time">
4 Generated in <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s
5 </div>
6 <div class="fossil-info">
7 Fossil v$release_version $manifest_version
8 </div>
9 </div>
10
--- skins/xekri/footer.txt
+++ skins/xekri/footer.txt
@@ -1,9 +1,9 @@
1 </div>
2 <footer>
3 <div class="page-time">
4 Generated in <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s
5 </div>
6 <div class="fossil-info">
7 Fossil v$release_version $manifest_version
8 </div>
9 </footer>
10
--- skins/xekri/header.txt
+++ skins/xekri/header.txt
@@ -1,6 +1,6 @@
1
-<div class="header">
1
+<header>
22
<div class="logo">
33
<th1>
44
##
55
## NOTE: The purpose of this procedure is to take the base URL of the
66
## Fossil project and return the root of the entire web site using
@@ -69,48 +69,52 @@
6969
<a href="$logourl">
7070
<img src="$logo_image_url" border="0" alt="$project_name">
7171
</a>
7272
</div>
7373
<div class="title">$<title></div>
74
- <div class="status"><nobr><th1>
75
- if {[info exists login]} {
76
- puts "Logged in as $login"
77
- } else {
78
- puts "Not logged in"
79
- }
80
- </th1></nobr><small><div id="clock"></div></small></div>
81
-</div>
82
-<th1>html "<script nonce='$nonce'>"</th1>
83
-function updateClock(){
84
- var e = document.getElementById("clock");
85
- if(e){
86
- var d = new Date();
87
- function f(n) {
88
- return n < 10 ? '0' + n : n;
89
- }
90
- e.innerHTML = d.getUTCFullYear()+ '-' +
91
- f(d.getUTCMonth() + 1) + '-' +
92
- f(d.getUTCDate()) + ' ' +
93
- f(d.getUTCHours()) + ':' +
94
- f(d.getUTCMinutes());
95
- setTimeout(updateClock,(60-d.getUTCSeconds())*1000);
96
- }
97
-}
98
-updateClock();
99
-</script>
100
-<div class="mainmenu"><th1>
101
-set sitemap 0
102
-foreach {name url expr class} $mainmenu {
103
- if {![capexpr $expr]} continue
104
- if {[string match /* $url]} {
105
- if {[string match $url\[/?#\]* /$current_page/]} {
106
- set class "active $class"
107
- }
108
- set url $home$url
109
- }
110
- html "<a href='$url' class='$class'>$name</a>\n"
111
- if {[string match */sitemap $url]} {set sitemap 1}
112
-}
113
-if {!$sitemap} {
114
- html "<a href='$home/sitemap'>...</a>\n"
115
-}
116
-</th1></div>
74
+ <div class="status"><nobr>
75
+ <th1>
76
+ if {[info exists login]} {
77
+ puts "Logged in as $login"
78
+ } else {
79
+ puts "Not logged in"
80
+ }
81
+ </th1>
82
+ </nobr><small><div id="clock"></div></small></div>
83
+</header>
84
+<th1>html "<script nonce='$nonce'>"</th1>
85
+ function updateClock(){
86
+ var e = document.getElementById("clock");
87
+ if(e){
88
+ var d = new Date();
89
+ function f(n) {
90
+ return n < 10 ? '0' + n : n;
91
+ }
92
+ e.innerHTML = d.getUTCFullYear()+ '-' +
93
+ f(d.getUTCMonth() + 1) + '-' +
94
+ f(d.getUTCDate()) + ' ' +
95
+ f(d.getUTCHours()) + ':' +
96
+ f(d.getUTCMinutes());
97
+ setTimeout(updateClock,(60-d.getUTCSeconds())*1000);
98
+ }
99
+ }
100
+ updateClock();
101
+</script>
102
+<nav class="mainmenu" title="Main Menu">
103
+ <th1>
104
+ set sitemap 0
105
+ foreach {name url expr class} $mainmenu {
106
+ if {![capexpr $expr]} continue
107
+ if {[string match /* $url]} {
108
+ if {[string match $url\[/?#\]* /$current_page/]} {
109
+ set class "active $class"
110
+ }
111
+ set url $home$url
112
+ }
113
+ html "<a href='$url' class='$class'>$name</a>\n"
114
+ if {[string match */sitemap $url]} {set sitemap 1}
115
+ }
116
+ if {!$sitemap} {
117
+ html "<a href='$home/sitemap'>...</a>\n"
118
+ }
119
+ </th1>
120
+</nav>
117121
--- skins/xekri/header.txt
+++ skins/xekri/header.txt
@@ -1,6 +1,6 @@
1 <div class="header">
2 <div class="logo">
3 <th1>
4 ##
5 ## NOTE: The purpose of this procedure is to take the base URL of the
6 ## Fossil project and return the root of the entire web site using
@@ -69,48 +69,52 @@
69 <a href="$logourl">
70 <img src="$logo_image_url" border="0" alt="$project_name">
71 </a>
72 </div>
73 <div class="title">$<title></div>
74 <div class="status"><nobr><th1>
75 if {[info exists login]} {
76 puts "Logged in as $login"
77 } else {
78 puts "Not logged in"
79 }
80 </th1></nobr><small><div id="clock"></div></small></div>
81 </div>
82 <th1>html "<script nonce='$nonce'>"</th1>
83 function updateClock(){
84 var e = document.getElementById("clock");
85 if(e){
86 var d = new Date();
87 function f(n) {
88 return n < 10 ? '0' + n : n;
89 }
90 e.innerHTML = d.getUTCFullYear()+ '-' +
91 f(d.getUTCMonth() + 1) + '-' +
92 f(d.getUTCDate()) + ' ' +
93 f(d.getUTCHours()) + ':' +
94 f(d.getUTCMinutes());
95 setTimeout(updateClock,(60-d.getUTCSeconds())*1000);
96 }
97 }
98 updateClock();
99 </script>
100 <div class="mainmenu"><th1>
101 set sitemap 0
102 foreach {name url expr class} $mainmenu {
103 if {![capexpr $expr]} continue
104 if {[string match /* $url]} {
105 if {[string match $url\[/?#\]* /$current_page/]} {
106 set class "active $class"
107 }
108 set url $home$url
109 }
110 html "<a href='$url' class='$class'>$name</a>\n"
111 if {[string match */sitemap $url]} {set sitemap 1}
112 }
113 if {!$sitemap} {
114 html "<a href='$home/sitemap'>...</a>\n"
115 }
116 </th1></div>
 
 
 
 
117
--- skins/xekri/header.txt
+++ skins/xekri/header.txt
@@ -1,6 +1,6 @@
1 <header>
2 <div class="logo">
3 <th1>
4 ##
5 ## NOTE: The purpose of this procedure is to take the base URL of the
6 ## Fossil project and return the root of the entire web site using
@@ -69,48 +69,52 @@
69 <a href="$logourl">
70 <img src="$logo_image_url" border="0" alt="$project_name">
71 </a>
72 </div>
73 <div class="title">$<title></div>
74 <div class="status"><nobr>
75 <th1>
76 if {[info exists login]} {
77 puts "Logged in as $login"
78 } else {
79 puts "Not logged in"
80 }
81 </th1>
82 </nobr><small><div id="clock"></div></small></div>
83 </header>
84 <th1>html "<script nonce='$nonce'>"</th1>
85 function updateClock(){
86 var e = document.getElementById("clock");
87 if(e){
88 var d = new Date();
89 function f(n) {
90 return n < 10 ? '0' + n : n;
91 }
92 e.innerHTML = d.getUTCFullYear()+ '-' +
93 f(d.getUTCMonth() + 1) + '-' +
94 f(d.getUTCDate()) + ' ' +
95 f(d.getUTCHours()) + ':' +
96 f(d.getUTCMinutes());
97 setTimeout(updateClock,(60-d.getUTCSeconds())*1000);
98 }
99 }
100 updateClock();
101 </script>
102 <nav class="mainmenu" title="Main Menu">
103 <th1>
104 set sitemap 0
105 foreach {name url expr class} $mainmenu {
106 if {![capexpr $expr]} continue
107 if {[string match /* $url]} {
108 if {[string match $url\[/?#\]* /$current_page/]} {
109 set class "active $class"
110 }
111 set url $home$url
112 }
113 html "<a href='$url' class='$class'>$name</a>\n"
114 if {[string match */sitemap $url]} {set sitemap 1}
115 }
116 if {!$sitemap} {
117 html "<a href='$home/sitemap'>...</a>\n"
118 }
119 </th1>
120 </nav>
121

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button