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].
Commit
769167578b47fcb2ae62720bff7ee3574edf29cdd57785d8b98e1a79864f5deb
Parent
6456fab6fe3b95f…
7 files changed
+2
-2
+2
-2
+2
-2
+3
-1
+1
-1
+1
-1
+2
-2
+2
-2
| --- skins/ardoise/header.txt | ||
| +++ skins/ardoise/header.txt | ||
| @@ -26,12 +26,12 @@ | ||
| 26 | 26 | html "<li><a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>☰</a></li>\n" |
| 27 | 27 | builtin_request_js hbmenu.js |
| 28 | 28 | set once 1 |
| 29 | 29 | foreach {name url expr class} $mainmenu { |
| 30 | 30 | 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" | |
| 33 | 33 | set once 0 |
| 34 | 34 | } |
| 35 | 35 | html "<li class='$class'>" |
| 36 | 36 | if {[string match /* $url]} {set url $home$url} |
| 37 | 37 | html "<a href='$url'>$name</a></li>\n" |
| 38 | 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'>☰</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'>☰</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 |
+2
-2
| --- skins/blitz/header.txt | ||
| +++ skins/blitz/header.txt | ||
| @@ -27,12 +27,12 @@ | ||
| 27 | 27 | html "<li><a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>☰</a></li>\n" |
| 28 | 28 | builtin_request_js hbmenu.js |
| 29 | 29 | set once 1 |
| 30 | 30 | foreach {name url expr class} $mainmenu { |
| 31 | 31 | 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" | |
| 34 | 34 | set once 0 |
| 35 | 35 | } |
| 36 | 36 | html "<li class='$class'>" |
| 37 | 37 | if {[string match /* $url]} {set url $home$url} |
| 38 | 38 | html "<a href='$url'>$name</a></li>\n" |
| 39 | 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'>☰</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'>☰</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 |
+2
-2
| --- skins/bootstrap/header.txt | ||
| +++ skins/bootstrap/header.txt | ||
| @@ -45,12 +45,12 @@ | ||
| 45 | 45 | set sitemap 0 |
| 46 | 46 | set is_index [expr [string compare [string range $current_page 0 4] "index"]==0] |
| 47 | 47 | set is_home [expr [string compare [string range $current_page 0 [expr [string length $index_page]-1] ] $index_page]==0] |
| 48 | 48 | foreach {name url expr class} $mainmenu { |
| 49 | 49 | 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" | |
| 52 | 52 | set once 0 |
| 53 | 53 | } |
| 54 | 54 | html "<li class='$class'>" |
| 55 | 55 | if {[string match /* $url]} {set url $home$url} |
| 56 | 56 | if {[string match *sitemap* $url]} {set sitemap 1} |
| 57 | 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 | 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 |
+3
-1
| --- skins/darkmode/css.txt | ||
| +++ skins/darkmode/css.txt | ||
| @@ -85,11 +85,13 @@ | ||
| 85 | 85 | div.mainmenu a, div.submenu a, |
| 86 | 86 | div.sectionmenu>a.button, div.submenu label, |
| 87 | 87 | div.footer a { |
| 88 | 88 | padding: 0.15em 0.5em; |
| 89 | 89 | } |
| 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 | +} | |
| 91 | 93 | a:hover, |
| 92 | 94 | a:visited:hover { |
| 93 | 95 | background-color: #FF4500f0; |
| 94 | 96 | color: rgba(24,24,24,0.8); |
| 95 | 97 | border-radius: 0.1em; |
| 96 | 98 |
| --- 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 |
+1
-1
| --- skins/darkmode/header.txt | ||
| +++ skins/darkmode/header.txt | ||
| @@ -17,11 +17,11 @@ | ||
| 17 | 17 | html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>☰</a>" |
| 18 | 18 | builtin_request_js hbmenu.js |
| 19 | 19 | foreach {name url expr class} $mainmenu { |
| 20 | 20 | if {![capexpr $expr]} continue |
| 21 | 21 | if {[string match /* $url]} { |
| 22 | - if {[string match /$current_page* $url]} { | |
| 22 | + if {[string match /$current_page/* $url/]} { | |
| 23 | 23 | set class "active $class" |
| 24 | 24 | } |
| 25 | 25 | set url $home$url |
| 26 | 26 | } |
| 27 | 27 | html "<a href='$url' class='$class'>$name</a>\n" |
| 28 | 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'>☰</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'>☰</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 |
+1
-1
| --- skins/default/header.txt | ||
| +++ skins/default/header.txt | ||
| @@ -13,11 +13,11 @@ | ||
| 13 | 13 | html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>☰</a>" |
| 14 | 14 | builtin_request_js hbmenu.js |
| 15 | 15 | foreach {name url expr class} $mainmenu { |
| 16 | 16 | if {![capexpr $expr]} continue |
| 17 | 17 | if {[string match /* $url]} { |
| 18 | - if {[string match /$current_page* $url]} { | |
| 18 | + if {[string match /$current_page/* $url/]} { | |
| 19 | 19 | set class "active $class" |
| 20 | 20 | } |
| 21 | 21 | set url $home$url |
| 22 | 22 | } |
| 23 | 23 | html "<a href='$url' class='$class'>$name</a>\n" |
| 24 | 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'>☰</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'>☰</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 |
+2
-2
| --- skins/xekri/header.txt | ||
| +++ skins/xekri/header.txt | ||
| @@ -94,12 +94,12 @@ | ||
| 94 | 94 | <div class="mainmenu"><th1> |
| 95 | 95 | set sitemap 0 |
| 96 | 96 | foreach {name url expr class} $mainmenu { |
| 97 | 97 | if {![capexpr $expr]} continue |
| 98 | 98 | 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" | |
| 101 | 101 | } |
| 102 | 102 | set url $home$url |
| 103 | 103 | } |
| 104 | 104 | html "<a href='$url' class='$class'>$name</a>\n" |
| 105 | 105 | if {[string match */sitemap $url]} {set sitemap 1} |
| 106 | 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 | 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 |