Fossil SCM

Corrected the is-active marking for the current page's main menu entry in skins which do such marking. It was mismatching other entries when the current page's path was a prefix of an inactive menu entry's path, as reported in [forum:/forumpost/c3d646ab0ad1a4c0 | forum post c3d646ab0ad1a4c0].

stephan 2021-06-15 14:57 trunk
Commit 769167578b47fcb2ae62720bff7ee3574edf29cdd57785d8b98e1a79864f5deb
--- skins/ardoise/header.txt
+++ skins/ardoise/header.txt
@@ -26,12 +26,12 @@
2626
html "<li><a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a></li>\n"
2727
builtin_request_js hbmenu.js
2828
set once 1
2929
foreach {name url expr class} $mainmenu {
3030
if {![capexpr $expr]} continue
31
- if {$once && [string match /$current_page* $url]} {
32
- lappend class active
31
+ if {$once && [string match /$current_page/* $url/]} {
32
+ set class "$class active"
3333
set once 0
3434
}
3535
html "<li class='$class'>"
3636
if {[string match /* $url]} {set url $home$url}
3737
html "<a href='$url'>$name</a></li>\n"
3838
--- skins/ardoise/header.txt
+++ skins/ardoise/header.txt
@@ -26,12 +26,12 @@
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 /$current_page* $url]} {
32 lappend 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
--- skins/ardoise/header.txt
+++ skins/ardoise/header.txt
@@ -26,12 +26,12 @@
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 /$current_page/* $url/]} {
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
--- skins/blitz/header.txt
+++ skins/blitz/header.txt
@@ -27,12 +27,12 @@
2727
html "<li><a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a></li>\n"
2828
builtin_request_js hbmenu.js
2929
set once 1
3030
foreach {name url expr class} $mainmenu {
3131
if {![capexpr $expr]} continue
32
- if {$once && [string match /$current_page* $url]} {
33
- lappend class active
32
+ if {$once && [string match /$current_page/* $url/]} {
33
+ set class "active $class"
3434
set once 0
3535
}
3636
html "<li class='$class'>"
3737
if {[string match /* $url]} {set url $home$url}
3838
html "<a href='$url'>$name</a></li>\n"
3939
--- skins/blitz/header.txt
+++ skins/blitz/header.txt
@@ -27,12 +27,12 @@
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 /$current_page* $url]} {
33 lappend class active
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
--- skins/blitz/header.txt
+++ skins/blitz/header.txt
@@ -27,12 +27,12 @@
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 /$current_page/* $url/]} {
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
--- skins/bootstrap/header.txt
+++ skins/bootstrap/header.txt
@@ -45,12 +45,12 @@
4545
set sitemap 0
4646
set is_index [expr [string compare [string range $current_page 0 4] "index"]==0]
4747
set is_home [expr [string compare [string range $current_page 0 [expr [string length $index_page]-1] ] $index_page]==0]
4848
foreach {name url expr class} $mainmenu {
4949
if {![capexpr $expr]} continue
50
- if {$once && [string match /$current_page* $url]} {
51
- lappend class active
50
+ if {$once && [string match /$current_page/* $url/]} {
51
+ set class "active $class"
5252
set once 0
5353
}
5454
html "<li class='$class'>"
5555
if {[string match /* $url]} {set url $home$url}
5656
if {[string match *sitemap* $url]} {set sitemap 1}
5757
--- skins/bootstrap/header.txt
+++ skins/bootstrap/header.txt
@@ -45,12 +45,12 @@
45 set sitemap 0
46 set is_index [expr [string compare [string range $current_page 0 4] "index"]==0]
47 set is_home [expr [string compare [string range $current_page 0 [expr [string length $index_page]-1] ] $index_page]==0]
48 foreach {name url expr class} $mainmenu {
49 if {![capexpr $expr]} continue
50 if {$once && [string match /$current_page* $url]} {
51 lappend class active
52 set once 0
53 }
54 html "<li class='$class'>"
55 if {[string match /* $url]} {set url $home$url}
56 if {[string match *sitemap* $url]} {set sitemap 1}
57
--- skins/bootstrap/header.txt
+++ skins/bootstrap/header.txt
@@ -45,12 +45,12 @@
45 set sitemap 0
46 set is_index [expr [string compare [string range $current_page 0 4] "index"]==0]
47 set is_home [expr [string compare [string range $current_page 0 [expr [string length $index_page]-1] ] $index_page]==0]
48 foreach {name url expr class} $mainmenu {
49 if {![capexpr $expr]} continue
50 if {$once && [string match /$current_page/* $url/]} {
51 set class "active $class"
52 set once 0
53 }
54 html "<li class='$class'>"
55 if {[string match /* $url]} {set url $home$url}
56 if {[string match *sitemap* $url]} {set sitemap 1}
57
--- skins/darkmode/css.txt
+++ skins/darkmode/css.txt
@@ -85,11 +85,13 @@
8585
div.mainmenu a, div.submenu a,
8686
div.sectionmenu>a.button, div.submenu label,
8787
div.footer a {
8888
padding: 0.15em 0.5em;
8989
}
90
-/* div.mainmenu a.active, FIXME: setting of .active is broken for some URIs */
90
+div.mainmenu a.active {
91
+ border-bottom: 1px solid #FF4500f0;
92
+}
9193
a:hover,
9294
a:visited:hover {
9395
background-color: #FF4500f0;
9496
color: rgba(24,24,24,0.8);
9597
border-radius: 0.1em;
9698
--- skins/darkmode/css.txt
+++ skins/darkmode/css.txt
@@ -85,11 +85,13 @@
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, FIXME: setting of .active is broken for some URIs */
 
 
91 a:hover,
92 a:visited:hover {
93 background-color: #FF4500f0;
94 color: rgba(24,24,24,0.8);
95 border-radius: 0.1em;
96
--- skins/darkmode/css.txt
+++ skins/darkmode/css.txt
@@ -85,11 +85,13 @@
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;
96 color: rgba(24,24,24,0.8);
97 border-radius: 0.1em;
98
--- skins/darkmode/header.txt
+++ skins/darkmode/header.txt
@@ -17,11 +17,11 @@
1717
html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
1818
builtin_request_js hbmenu.js
1919
foreach {name url expr class} $mainmenu {
2020
if {![capexpr $expr]} continue
2121
if {[string match /* $url]} {
22
- if {[string match /$current_page* $url]} {
22
+ if {[string match /$current_page/* $url/]} {
2323
set class "active $class"
2424
}
2525
set url $home$url
2626
}
2727
html "<a href='$url' class='$class'>$name</a>\n"
2828
--- skins/darkmode/header.txt
+++ skins/darkmode/header.txt
@@ -17,11 +17,11 @@
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 /$current_page* $url]} {
23 set class "active $class"
24 }
25 set url $home$url
26 }
27 html "<a href='$url' class='$class'>$name</a>\n"
28
--- skins/darkmode/header.txt
+++ skins/darkmode/header.txt
@@ -17,11 +17,11 @@
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 /$current_page/* $url/]} {
23 set class "active $class"
24 }
25 set url $home$url
26 }
27 html "<a href='$url' class='$class'>$name</a>\n"
28
--- skins/default/header.txt
+++ skins/default/header.txt
@@ -13,11 +13,11 @@
1313
html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>&#9776;</a>"
1414
builtin_request_js hbmenu.js
1515
foreach {name url expr class} $mainmenu {
1616
if {![capexpr $expr]} continue
1717
if {[string match /* $url]} {
18
- if {[string match /$current_page* $url]} {
18
+ if {[string match /$current_page/* $url/]} {
1919
set class "active $class"
2020
}
2121
set url $home$url
2222
}
2323
html "<a href='$url' class='$class'>$name</a>\n"
2424
--- skins/default/header.txt
+++ skins/default/header.txt
@@ -13,11 +13,11 @@
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 /$current_page* $url]} {
19 set class "active $class"
20 }
21 set url $home$url
22 }
23 html "<a href='$url' class='$class'>$name</a>\n"
24
--- skins/default/header.txt
+++ skins/default/header.txt
@@ -13,11 +13,11 @@
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 /$current_page/* $url/]} {
19 set class "active $class"
20 }
21 set url $home$url
22 }
23 html "<a href='$url' class='$class'>$name</a>\n"
24
--- skins/xekri/header.txt
+++ skins/xekri/header.txt
@@ -94,12 +94,12 @@
9494
<div class="mainmenu"><th1>
9595
set sitemap 0
9696
foreach {name url expr class} $mainmenu {
9797
if {![capexpr $expr]} continue
9898
if {[string match /* $url]} {
99
- if {[string match /$current_page* $url]} {
100
- lappend class active
99
+ if {[string match /$current_page/* $url/]} {
100
+ set class "active $class"
101101
}
102102
set url $home$url
103103
}
104104
html "<a href='$url' class='$class'>$name</a>\n"
105105
if {[string match */sitemap $url]} {set sitemap 1}
106106
--- skins/xekri/header.txt
+++ skins/xekri/header.txt
@@ -94,12 +94,12 @@
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]} {
99 if {[string match /$current_page* $url]} {
100 lappend class active
101 }
102 set url $home$url
103 }
104 html "<a href='$url' class='$class'>$name</a>\n"
105 if {[string match */sitemap $url]} {set sitemap 1}
106
--- skins/xekri/header.txt
+++ skins/xekri/header.txt
@@ -94,12 +94,12 @@
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]} {
99 if {[string match /$current_page/* $url/]} {
100 set class "active $class"
101 }
102 set url $home$url
103 }
104 html "<a href='$url' class='$class'>$name</a>\n"
105 if {[string match */sitemap $url]} {set sitemap 1}
106

Keyboard Shortcuts

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