Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Simplify the palette of built-in skins by combining "original", "enhanced1", and "rounded1" into just "original" and combining "blitz_no_logo" into "blitz". Update all built-in skins so that they sitemap is accessible from the menu by default. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
22fb2de45e3343d7f5b53953b4e53a05 |
| User & Date: | drh 2021-02-11 14:33:43.277 |
Context
|
2021-02-11
| ||
| 14:57 | Refinements to built-in skins to try to get them all working reasonably on mobile. check-in: 0a7a86c428 user: drh tags: trunk | |
| 14:33 | Simplify the palette of built-in skins by combining "original", "enhanced1", and "rounded1" into just "original" and combining "blitz_no_logo" into "blitz". Update all built-in skins so that they sitemap is accessible from the menu by default. check-in: 22fb2de45e user: drh tags: trunk | |
| 03:01 | Add the "lappend" TH1 command. All built-in skins now respond to the "desktoponly" and "wideonly" classes on the main menu. check-in: d4c91b40a4 user: drh tags: trunk | |
Changes
Deleted skins/aht/details.txt.
|
| < < < < |
Changes to skins/black_and_white/css.txt.
| ︙ | ︙ | |||
63 64 65 66 67 68 69 |
}
/* The main menu bar that appears at the top left of the page beneath
** the header. Width must be co-ordinated with the container below */
div.mainmenu {
float: left;
margin-left: 10px;
| | | | 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
}
/* The main menu bar that appears at the top left of the page beneath
** the header. Width must be co-ordinated with the container below */
div.mainmenu {
float: left;
margin-left: 10px;
margin-right: 20px;
font-size: 0.9em;
font-weight: bold;
padding:5px;
background-color:#eee;
border:1px solid #999;
width:6em;
}
/* Main menu is now a list */
div.mainmenu ul {
padding: 0;
list-style:none;
}
|
| ︙ | ︙ |
Changes to skins/black_and_white/header.txt.
| ︙ | ︙ | |||
10 11 12 13 14 15 16 17 18 19 |
} else {
puts "Not logged in"
}
</th1></div>
</div>
<div class="mainmenu">
<th1>
foreach {name url expr class} $mainmenu {
if {![capexpr $expr]} continue
if {[string match /* $url]} {set url $home$url}
| > | > > > > | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
} else {
puts "Not logged in"
}
</th1></div>
</div>
<div class="mainmenu">
<th1>
set sitemap 0
foreach {name url expr class} $mainmenu {
if {![capexpr $expr]} continue
if {[string match /* $url]} {set url $home$url}
html "<a href='$url'>$name</a><br/>\n"
if {[string match /sitemap $url]} {set sitemap 1}
}
if {!$sitemap} {
html "<a href='$home/sitemap'>Sitemap</a>\n"
}
</th1></div>
|
Changes to skins/blitz/css.txt.
| ︙ | ︙ | |||
863 864 865 866 867 868 869 |
.mainmenu li.active {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB90FDxEXAZ2XRzAAAABJSURBVCjPY2CgBzhz5sx/QmoYiTXAxMSEkWRDsLkAl0GMpHoBm0EoAlu3bmUQFxcnGAboBjEhc4gxAJtLGUmJBVwuYiTXAGSDAIx5IBObnuVxAAAAAElFTkSuQmCC);
background-repeat: no-repeat;
background-position: center bottom;
}
| | > | > > > > > > > > > > > | 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 |
.mainmenu li.active {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB90FDxEXAZ2XRzAAAABJSURBVCjPY2CgBzhz5sx/QmoYiTXAxMSEkWRDsLkAl0GMpHoBm0EoAlu3bmUQFxcnGAboBjEhc4gxAJtLGUmJBVwuYiTXAGSDAIx5IBObnuVxAAAAAElFTkSuQmCC);
background-repeat: no-repeat;
background-position: center bottom;
}
.mainmenu li a,
div#hbdrop a {
color: #3b5c6b;
padding: 10px 15px;
}
.mainmenu li.active a {
font-weight: bold;
}
.mainmenu li:hover
div#hbdrop a:hover {
background-color: #eee;
}
div#hbdrop {
background-color: white;
border: 2px solid #ccc;
display: none;
width: 100%;
position: absolute;
z-index: 20;
}
/* Submenu
* Displayed in the middle div. Contains page-specific form controls.
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.submenu {
padding: 10px 0px;
|
| ︙ | ︙ |
Changes to skins/blitz/header.txt.
1 2 3 4 5 6 7 8 9 10 11 12 |
<div class="header">
<div class="container">
<!-- Header -->
<div class="login pull-right">
<th1>
if {[info exists login]} {
html "<b>$login</b> — <a class='button' href='$home/login'>Logout</a>\n"
} else {
html "<a class='button' href='$home/login'>Login</a>\n"
}
</th1>
| < < | < < > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
<div class="header">
<div class="container">
<!-- Header -->
<div class="login pull-right">
<th1>
if {[info exists login]} {
html "<b>$login</b> — <a class='button' href='$home/login'>Logout</a>\n"
} else {
html "<a class='button' href='$home/login'>Login</a>\n"
}
</th1>
</div>
<div class='logo'>
<h1>$<project_name>
<th1>
if {[anycap jor]} {
html "<a class='rss' href='$home/timeline.rss'></a>"
}
</th1>
<small> $<title></small></h1>
</div>
<!-- Main Menu -->
<div class="mainmenu">
<ul><th1>
html "<li><a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>☰</a></li>\n"
builtin_request_js hbmenu.js
set once 1
foreach {name url expr class} $mainmenu {
if {![capexpr $expr]} continue
if {$once && [string match /$current_page* $url]} {
lappend class active
set once 0
}
html "<li class='$class'>"
if {[string match /* $url]} {set url $home$url}
html "<a href='$url'>$name</a></li>\n"
}
</th1></ul>
</div> <!-- end div mainmenu -->
<div id="hbdrop"></div>
</div> <!-- end div container -->
</div> <!-- end div header -->
<div class="middle max-full-width">
<div class="container">
|
Deleted skins/blitz_no_logo/README.md.
|
| < < < < < < < < < < < < < |
Deleted skins/blitz_no_logo/css.txt.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted skins/blitz_no_logo/details.txt.
|
| < < < < |
Deleted skins/blitz_no_logo/footer.txt.
|
| < < < < < < < < < < |
Deleted skins/blitz_no_logo/header.txt.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted skins/blitz_no_logo/ticket.txt.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Changes to skins/bootstrap/header.txt.
| ︙ | ︙ | |||
38 39 40 41 42 43 44 45 46 47 48 49 |
puts "Not logged in"
html " · <a href='$home/login'>Login</a>"
}
</th1></p>
<ul class="nav navbar-nav">
<th1>
set once 1
set is_index [expr [string compare [string range $current_page 0 4] "index"]==0]
set is_home [expr [string compare [string range $current_page 0 [expr [string length $index_page]-1] ] $index_page]==0]
foreach {name url expr class} $mainmenu {
if {![capexpr $expr]} continue
if {$once && [string match /$current_page* $url]} {
| > | < < > > > > > | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
puts "Not logged in"
html " · <a href='$home/login'>Login</a>"
}
</th1></p>
<ul class="nav navbar-nav">
<th1>
set once 1
set sitemap 0
set is_index [expr [string compare [string range $current_page 0 4] "index"]==0]
set is_home [expr [string compare [string range $current_page 0 [expr [string length $index_page]-1] ] $index_page]==0]
foreach {name url expr class} $mainmenu {
if {![capexpr $expr]} continue
if {$once && [string match /$current_page* $url]} {
lappend class active
set once 0
}
html "<li class='$class'>"
if {[string match /* $url]} {set url $home$url}
if {[string match *sitemap* $url]} {set sitemap 1}
html "<a href='$url'>$name</a></li>\n"
}
if {!$sitemap} {
html "<li><a href='$home/sitemap'>More...</a>\n"
}
</th1></ul>
</div><!--/.nav-collapse -->
</div>
</div>
<div class="content">
<th1>
html "<div class='container'>"
|
| ︙ | ︙ |
Changes to skins/eagle/css.txt.
| ︙ | ︙ | |||
61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
text-align: center;
letter-spacing: 1px;
background-color: #76869D;
border-top-left-radius: 8px;
border-top-right-radius: 8px;
color: white;
}
/* The submenu bar that *sometimes* appears below the main menu */
div.submenu, div.sectionmenu {
padding: 3px 10px 3px 0px;
font-size: 0.9em;
font-weight: bold;
text-align: center;
| > > > > > > > > > > > > | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
text-align: center;
letter-spacing: 1px;
background-color: #76869D;
border-top-left-radius: 8px;
border-top-right-radius: 8px;
color: white;
}
div#hbdrop {
background-color: #485D7B;
border-radius: 0 0 15px 15px;
border-left: 0.5em solid #76869d;
border-bottom: 1.2em solid #76869d;
display: none;
width: 98%;
position: absolute;
z-index: 20;
}
/* The submenu bar that *sometimes* appears below the main menu */
div.submenu, div.sectionmenu {
padding: 3px 10px 3px 0px;
font-size: 0.9em;
font-weight: bold;
text-align: center;
|
| ︙ | ︙ |
Changes to skins/eagle/header.txt.
| ︙ | ︙ | |||
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
f(d.getUTCMinutes());
setTimeout(updateClock,(60-d.getUTCSeconds())*1000);
}
}
updateClock();
</script>
<div class="mainmenu"><th1>
foreach {name url expr class} $mainmenu {
if {![capexpr $expr]} continue
if {[string match /* $url]} {set url $home$url}
html "<a href='$url' class='$class'>$name</a>\n"
}
if {[info exists login]} {
html "<a href='$home/logout'>Logout</a>\n"
} else {
html "<a href='$home/login'>Login</a>\n"
}
</th1></div>
| > > > | 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
f(d.getUTCMinutes());
setTimeout(updateClock,(60-d.getUTCSeconds())*1000);
}
}
updateClock();
</script>
<div class="mainmenu"><th1>
html "<a id='hbbtn' href='$home/sitemap' aria-label='Site Map'>☰</a>\n"
builtin_request_js hbmenu.js
foreach {name url expr class} $mainmenu {
if {![capexpr $expr]} continue
if {[string match /* $url]} {set url $home$url}
html "<a href='$url' class='$class'>$name</a>\n"
}
if {[info exists login]} {
html "<a href='$home/logout'>Logout</a>\n"
} else {
html "<a href='$home/login'>Login</a>\n"
}
</th1></div>
<div id="hbdrop"></div>
|
Deleted skins/enhanced1/css.txt.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted skins/enhanced1/details.txt.
|
| < < < < |
Deleted skins/enhanced1/footer.txt.
|
| < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted skins/enhanced1/header.txt.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Changes to skins/original/footer.txt.
1 | <div class="footer"> | > > > > > > > > > > > > > > > > | | > | > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<div class="footer">
<th1>
proc getTclVersion {} {
if {[catch {tclEval info patchlevel} tclVersion] == 0} {
return "<a href=\"https://www.tcl.tk/\">Tcl</a> version $tclVersion"
}
return ""
}
proc getVersion { version } {
set length [string length $version]
return [string range $version 1 [expr {$length - 2}]]
}
set version [getVersion $manifest_version]
set tclVersion [getTclVersion]
set fossilUrl https://www.fossil-scm.org
set fossilDate [string range $manifest_date 0 9]T[string range $manifest_date 11 end]
</th1>
This page was generated in about
<th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s by
<a href="$fossilUrl/">Fossil</a>
version $release_version $tclVersion
<a href="$fossilUrl/index.html/info/$version">$manifest_version</a>
<a href="$fossilUrl/index.html/timeline?c=$fossilDate&y=ci">$manifest_date</a>
</div>
|
Changes to skins/original/header.txt.
1 2 | <div class="header"> <div class="logo"> | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > | | | > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
<div class="header">
<div class="logo">
<th1>
##
## NOTE: The purpose of this procedure is to take the base URL of the
## Fossil project and return the root of the entire web site using
## the same URI scheme as the base URL (e.g. http or https).
##
proc getLogoUrl { baseurl } {
set idx(first) [string first // $baseurl]
if {$idx(first) != -1} {
##
## NOTE: Skip second slash.
##
set idx(first+1) [expr {$idx(first) + 2}]
##
## NOTE: (part 1) The [string first] command does NOT actually
## support the optional startIndex argument as specified
## in the TH1 support manual; therefore, we fake it by
## using the [string range] command and then adding the
## necessary offset to the resulting index manually
## (below). In Tcl, we could use the following instead:
##
## set idx(next) [string first / $baseurl $idx(first+1)]
##
set idx(nextRange) [string range $baseurl $idx(first+1) end]
set idx(next) [string first / $idx(nextRange)]
if {$idx(next) != -1} {
##
## NOTE: (part 2) Add the necessary offset to the result of
## the search for the next slash (i.e. the one after
## the initial search for the two slashes).
##
set idx(next) [expr {$idx(next) + $idx(first+1)}]
##
## NOTE: Back up one character from the next slash.
##
set idx(next-1) [expr {$idx(next) - 1}]
##
## NOTE: Extract the URI scheme and host from the base URL.
##
set scheme [string range $baseurl 0 $idx(first)]
set host [string range $baseurl $idx(first+1) $idx(next-1)]
##
## NOTE: Try to stay in SSL mode if we are there now.
##
if {[string compare $scheme http:/] == 0} {
set scheme http://
} else {
set scheme https://
}
set logourl $scheme$host/
} else {
set logourl $baseurl
}
} else {
set logourl $baseurl
}
return $logourl
}
set logourl [getLogoUrl $baseurl]
</th1>
<a href="$logourl">
<img src="$logo_image_url" border="0" alt="$project_name">
</a>
</div>
<div class="title">$<title></div>
<div class="status"><nobr><th1>
if {[info exists login]} {
puts "Logged in as $login"
} else {
puts "Not logged in"
}
</th1></nobr><small><div id="clock"></div></small></div>
</div>
<th1>html "<script nonce='$nonce'>"</th1>
function updateClock(){
var e = document.getElementById("clock");
if(e){
var d = new Date();
function f(n) {
return n < 10 ? '0' + n : n;
}
e.innerHTML = d.getUTCFullYear()+ '-' +
f(d.getUTCMonth() + 1) + '-' +
f(d.getUTCDate()) + ' ' +
f(d.getUTCHours()) + ':' +
f(d.getUTCMinutes());
setTimeout(updateClock,(60-d.getUTCSeconds())*1000);
}
}
updateClock();
</script>
<div class="mainmenu"><th1>
set sitemap 0
foreach {name url expr class} $mainmenu {
if {![capexpr $expr]} continue
if {[string match /* $url]} {set url $home$url}
html "<a href='$url' class='$class'>$name</a>\n"
if {[string match */sitemap $url]} {set sitemap 1}
}
if {!$sitemap} {
html "<a href='$home/sitemap'>More...</a>"
}
</th1></div>
|
Deleted skins/rounded1/css.txt.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted skins/rounded1/details.txt.
|
| < < < < |
Deleted skins/rounded1/footer.txt.
|
| < < < |
Deleted skins/rounded1/header.txt.
|
| < < < < < < < < < < < < < < < < < < < < < |
Changes to skins/xekri/header.txt.
| ︙ | ︙ | |||
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
f(d.getUTCMinutes());
setTimeout(updateClock,(60-d.getUTCSeconds())*1000);
}
}
updateClock();
</script>
<div class="mainmenu"><th1>
foreach {name url expr class} $mainmenu {
if {![capexpr $expr]} continue
if {[string match /* $url]} {
if {[string match /$current_page* $url]} {
lappend class active
}
set url $home$url
}
html "<a href='$url' class='$class'>$name</a>\n"
}
</th1></div>
| > > > > > | 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
f(d.getUTCMinutes());
setTimeout(updateClock,(60-d.getUTCSeconds())*1000);
}
}
updateClock();
</script>
<div class="mainmenu"><th1>
set sitemap 0
foreach {name url expr class} $mainmenu {
if {![capexpr $expr]} continue
if {[string match /* $url]} {
if {[string match /$current_page* $url]} {
lappend class active
}
set url $home$url
}
html "<a href='$url' class='$class'>$name</a>\n"
if {[string match */sitemap $url]} {set sitemap 1}
}
if {!$sitemap} {
html "<a href='$home/sitemap'>More...</a>\n"
}
</th1></div>
|
Changes to src/main.mk.
| ︙ | ︙ | |||
162 163 164 165 166 167 168 | $(SRCDIR)/winfile.c \ $(SRCDIR)/winhttp.c \ $(SRCDIR)/xfer.c \ $(SRCDIR)/xfersetup.c \ $(SRCDIR)/zip.c EXTRA_FILES = \ | < < < < < < < < < < < < < < | 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | $(SRCDIR)/winfile.c \ $(SRCDIR)/winhttp.c \ $(SRCDIR)/xfer.c \ $(SRCDIR)/xfersetup.c \ $(SRCDIR)/zip.c EXTRA_FILES = \ $(SRCDIR)/../skins/ardoise/css.txt \ $(SRCDIR)/../skins/ardoise/details.txt \ $(SRCDIR)/../skins/ardoise/footer.txt \ $(SRCDIR)/../skins/ardoise/header.txt \ $(SRCDIR)/../skins/black_and_white/css.txt \ $(SRCDIR)/../skins/black_and_white/details.txt \ $(SRCDIR)/../skins/black_and_white/footer.txt \ $(SRCDIR)/../skins/black_and_white/header.txt \ $(SRCDIR)/../skins/blitz/css.txt \ $(SRCDIR)/../skins/blitz/details.txt \ $(SRCDIR)/../skins/blitz/footer.txt \ $(SRCDIR)/../skins/blitz/header.txt \ $(SRCDIR)/../skins/blitz/ticket.txt \ $(SRCDIR)/../skins/bootstrap/css.txt \ $(SRCDIR)/../skins/bootstrap/details.txt \ $(SRCDIR)/../skins/bootstrap/footer.txt \ $(SRCDIR)/../skins/bootstrap/header.txt \ $(SRCDIR)/../skins/darkmode/css.txt \ $(SRCDIR)/../skins/darkmode/details.txt \ $(SRCDIR)/../skins/darkmode/footer.txt \ $(SRCDIR)/../skins/darkmode/header.txt \ $(SRCDIR)/../skins/default/css.txt \ $(SRCDIR)/../skins/default/details.txt \ $(SRCDIR)/../skins/default/footer.txt \ $(SRCDIR)/../skins/default/header.txt \ $(SRCDIR)/../skins/eagle/css.txt \ $(SRCDIR)/../skins/eagle/details.txt \ $(SRCDIR)/../skins/eagle/footer.txt \ $(SRCDIR)/../skins/eagle/header.txt \ $(SRCDIR)/../skins/khaki/css.txt \ $(SRCDIR)/../skins/khaki/details.txt \ $(SRCDIR)/../skins/khaki/footer.txt \ $(SRCDIR)/../skins/khaki/header.txt \ $(SRCDIR)/../skins/original/css.txt \ $(SRCDIR)/../skins/original/details.txt \ $(SRCDIR)/../skins/original/footer.txt \ $(SRCDIR)/../skins/original/header.txt \ $(SRCDIR)/../skins/plain_gray/css.txt \ $(SRCDIR)/../skins/plain_gray/details.txt \ $(SRCDIR)/../skins/plain_gray/footer.txt \ $(SRCDIR)/../skins/plain_gray/header.txt \ $(SRCDIR)/../skins/xekri/css.txt \ $(SRCDIR)/../skins/xekri/details.txt \ $(SRCDIR)/../skins/xekri/footer.txt \ $(SRCDIR)/../skins/xekri/header.txt \ $(SRCDIR)/accordion.js \ $(SRCDIR)/alerts/bflat2.wav \ $(SRCDIR)/alerts/bflat3.wav \ |
| ︙ | ︙ |
Changes to src/sitemap.c.
| ︙ | ︙ | |||
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 |
@ <li>%z(href("%s",azExtra[i+1]))%s(azExtra[i])</a></li>
}
}
}
Th_Free(g.interp, azExtra);
}
if( (e&1)!=0 ) goto end_of_sitemap;
if( srchFlags & SRCH_DOC ){
if( !inSublist ){
@ <ul>
inSublist = 1;
}
@ <li>%z(href("%R/docsrch"))Documentation Search</a></li>
}
if( inSublist ){
@ </ul>
inSublist = 0;
}
@ </li>
if( g.perm.Read ){
const char *zEditGlob = db_get("fileedit-glob","");
| > > > > > | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 |
@ <li>%z(href("%s",azExtra[i+1]))%s(azExtra[i])</a></li>
}
}
}
Th_Free(g.interp, azExtra);
}
if( (e&1)!=0 ) goto end_of_sitemap;
#if 0 /* Removed on 2021-02-11. Make a sitemap-extra entry if you */
/* really want this */
if( srchFlags & SRCH_DOC ){
if( !inSublist ){
@ <ul>
inSublist = 1;
}
@ <li>%z(href("%R/docsrch"))Documentation Search</a></li>
}
#endif
if( inSublist ){
@ </ul>
inSublist = 0;
}
@ </li>
if( g.perm.Read ){
const char *zEditGlob = db_get("fileedit-glob","");
|
| ︙ | ︙ | |||
269 270 271 272 273 274 275 |
@ <li>%z(href("%R/test-all-help"))All "help" text on a single page</a></li>
if( g.perm.Admin || g.perm.Write || g.perm.WrUnver ){
@ <li>%z(href("%R/mimetype_list"))\
@ Filename suffix to MIME type map</a></li>
}
@ </ul></li>
if( g.perm.Admin ){
| | > | < < | 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 |
@ <li>%z(href("%R/test-all-help"))All "help" text on a single page</a></li>
if( g.perm.Admin || g.perm.Write || g.perm.WrUnver ){
@ <li>%z(href("%R/mimetype_list"))\
@ Filename suffix to MIME type map</a></li>
}
@ </ul></li>
if( g.perm.Admin ){
@ <li><a href="%R/setup">Administration Pages</a>
@ <ul>
@ <li><a href="%R/secaudit0">Security Audit</a></li>
@ <li><a href="%R/modreq">Pending Moderation Requests</a></li>
@ </ul></li>
}
@ <li>%z(href("%R/skins"))Skins</a></li>
@ <li>%z(href("%R/sitemap-test"))Test Pages</a></li>
if( isPopup ){
@ <li>%z(href("%R/sitemap"))Site Map</a></li>
}
|
| ︙ | ︙ |
Changes to src/skins.c.
| ︙ | ︙ | |||
39 40 41 42 43 44 45 |
static struct BuiltinSkin {
const char *zDesc; /* Description of this skin */
const char *zLabel; /* The directory under skins/ holding this skin */
char *zSQL; /* Filled in at run-time with SQL to insert this skin */
} aBuiltinSkin[] = {
{ "Default", "default", 0 },
{ "Ardoise", "ardoise", 0 },
| | < < | | < | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
static struct BuiltinSkin {
const char *zDesc; /* Description of this skin */
const char *zLabel; /* The directory under skins/ holding this skin */
char *zSQL; /* Filled in at run-time with SQL to insert this skin */
} aBuiltinSkin[] = {
{ "Default", "default", 0 },
{ "Ardoise", "ardoise", 0 },
{ "Black & White", "black_and_white", 0 },
{ "Blitz", "blitz", 0 },
{ "Bootstrap", "bootstrap", 0 },
{ "Dark Mode", "darkmode", 0 },
{ "Eagle", "eagle", 0 },
{ "Khaki", "khaki", 0 },
{ "Original", "original", 0 },
{ "Plain Gray", "plain_gray", 0 },
{ "Xekri", "xekri", 0 },
};
/*
** A skin consists of five "files" named here:
*/
static const char *const azSkinFile[] = {
|
| ︙ | ︙ |
Changes to win/Makefile.mingw.
| ︙ | ︙ | |||
574 575 576 577 578 579 580 | $(SRCDIR)/winfile.c \ $(SRCDIR)/winhttp.c \ $(SRCDIR)/xfer.c \ $(SRCDIR)/xfersetup.c \ $(SRCDIR)/zip.c EXTRA_FILES = \ | < < < < < < < < < < < < < < | 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 | $(SRCDIR)/winfile.c \ $(SRCDIR)/winhttp.c \ $(SRCDIR)/xfer.c \ $(SRCDIR)/xfersetup.c \ $(SRCDIR)/zip.c EXTRA_FILES = \ $(SRCDIR)/../skins/ardoise/css.txt \ $(SRCDIR)/../skins/ardoise/details.txt \ $(SRCDIR)/../skins/ardoise/footer.txt \ $(SRCDIR)/../skins/ardoise/header.txt \ $(SRCDIR)/../skins/black_and_white/css.txt \ $(SRCDIR)/../skins/black_and_white/details.txt \ $(SRCDIR)/../skins/black_and_white/footer.txt \ $(SRCDIR)/../skins/black_and_white/header.txt \ $(SRCDIR)/../skins/blitz/css.txt \ $(SRCDIR)/../skins/blitz/details.txt \ $(SRCDIR)/../skins/blitz/footer.txt \ $(SRCDIR)/../skins/blitz/header.txt \ $(SRCDIR)/../skins/blitz/ticket.txt \ $(SRCDIR)/../skins/bootstrap/css.txt \ $(SRCDIR)/../skins/bootstrap/details.txt \ $(SRCDIR)/../skins/bootstrap/footer.txt \ $(SRCDIR)/../skins/bootstrap/header.txt \ $(SRCDIR)/../skins/darkmode/css.txt \ $(SRCDIR)/../skins/darkmode/details.txt \ $(SRCDIR)/../skins/darkmode/footer.txt \ $(SRCDIR)/../skins/darkmode/header.txt \ $(SRCDIR)/../skins/default/css.txt \ $(SRCDIR)/../skins/default/details.txt \ $(SRCDIR)/../skins/default/footer.txt \ $(SRCDIR)/../skins/default/header.txt \ $(SRCDIR)/../skins/eagle/css.txt \ $(SRCDIR)/../skins/eagle/details.txt \ $(SRCDIR)/../skins/eagle/footer.txt \ $(SRCDIR)/../skins/eagle/header.txt \ $(SRCDIR)/../skins/khaki/css.txt \ $(SRCDIR)/../skins/khaki/details.txt \ $(SRCDIR)/../skins/khaki/footer.txt \ $(SRCDIR)/../skins/khaki/header.txt \ $(SRCDIR)/../skins/original/css.txt \ $(SRCDIR)/../skins/original/details.txt \ $(SRCDIR)/../skins/original/footer.txt \ $(SRCDIR)/../skins/original/header.txt \ $(SRCDIR)/../skins/plain_gray/css.txt \ $(SRCDIR)/../skins/plain_gray/details.txt \ $(SRCDIR)/../skins/plain_gray/footer.txt \ $(SRCDIR)/../skins/plain_gray/header.txt \ $(SRCDIR)/../skins/xekri/css.txt \ $(SRCDIR)/../skins/xekri/details.txt \ $(SRCDIR)/../skins/xekri/footer.txt \ $(SRCDIR)/../skins/xekri/header.txt \ $(SRCDIR)/accordion.js \ $(SRCDIR)/alerts/bflat2.wav \ $(SRCDIR)/alerts/bflat3.wav \ |
| ︙ | ︙ |
Changes to win/Makefile.msc.
| ︙ | ︙ | |||
495 496 497 498 499 500 501 |
"$(OX)\wikiformat_.c" \
"$(OX)\winfile_.c" \
"$(OX)\winhttp_.c" \
"$(OX)\xfer_.c" \
"$(OX)\xfersetup_.c" \
"$(OX)\zip_.c"
| | < < < < < < < < < < < < < < | 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 |
"$(OX)\wikiformat_.c" \
"$(OX)\winfile_.c" \
"$(OX)\winhttp_.c" \
"$(OX)\xfer_.c" \
"$(OX)\xfersetup_.c" \
"$(OX)\zip_.c"
EXTRA_FILES = "$(SRCDIR)\..\skins\ardoise\css.txt" \
"$(SRCDIR)\..\skins\ardoise\details.txt" \
"$(SRCDIR)\..\skins\ardoise\footer.txt" \
"$(SRCDIR)\..\skins\ardoise\header.txt" \
"$(SRCDIR)\..\skins\black_and_white\css.txt" \
"$(SRCDIR)\..\skins\black_and_white\details.txt" \
"$(SRCDIR)\..\skins\black_and_white\footer.txt" \
"$(SRCDIR)\..\skins\black_and_white\header.txt" \
"$(SRCDIR)\..\skins\blitz\css.txt" \
"$(SRCDIR)\..\skins\blitz\details.txt" \
"$(SRCDIR)\..\skins\blitz\footer.txt" \
"$(SRCDIR)\..\skins\blitz\header.txt" \
"$(SRCDIR)\..\skins\blitz\ticket.txt" \
"$(SRCDIR)\..\skins\bootstrap\css.txt" \
"$(SRCDIR)\..\skins\bootstrap\details.txt" \
"$(SRCDIR)\..\skins\bootstrap\footer.txt" \
"$(SRCDIR)\..\skins\bootstrap\header.txt" \
"$(SRCDIR)\..\skins\darkmode\css.txt" \
"$(SRCDIR)\..\skins\darkmode\details.txt" \
"$(SRCDIR)\..\skins\darkmode\footer.txt" \
"$(SRCDIR)\..\skins\darkmode\header.txt" \
"$(SRCDIR)\..\skins\default\css.txt" \
"$(SRCDIR)\..\skins\default\details.txt" \
"$(SRCDIR)\..\skins\default\footer.txt" \
"$(SRCDIR)\..\skins\default\header.txt" \
"$(SRCDIR)\..\skins\eagle\css.txt" \
"$(SRCDIR)\..\skins\eagle\details.txt" \
"$(SRCDIR)\..\skins\eagle\footer.txt" \
"$(SRCDIR)\..\skins\eagle\header.txt" \
"$(SRCDIR)\..\skins\khaki\css.txt" \
"$(SRCDIR)\..\skins\khaki\details.txt" \
"$(SRCDIR)\..\skins\khaki\footer.txt" \
"$(SRCDIR)\..\skins\khaki\header.txt" \
"$(SRCDIR)\..\skins\original\css.txt" \
"$(SRCDIR)\..\skins\original\details.txt" \
"$(SRCDIR)\..\skins\original\footer.txt" \
"$(SRCDIR)\..\skins\original\header.txt" \
"$(SRCDIR)\..\skins\plain_gray\css.txt" \
"$(SRCDIR)\..\skins\plain_gray\details.txt" \
"$(SRCDIR)\..\skins\plain_gray\footer.txt" \
"$(SRCDIR)\..\skins\plain_gray\header.txt" \
"$(SRCDIR)\..\skins\xekri\css.txt" \
"$(SRCDIR)\..\skins\xekri\details.txt" \
"$(SRCDIR)\..\skins\xekri\footer.txt" \
"$(SRCDIR)\..\skins\xekri\header.txt" \
"$(SRCDIR)\accordion.js" \
"$(SRCDIR)\alerts\bflat2.wav" \
"$(SRCDIR)\alerts\bflat3.wav" \
|
| ︙ | ︙ | |||
1114 1115 1116 1117 1118 1119 1120 | "$(OBJDIR)\json_status$O" : "$(SRCDIR)\json_detail.h" "$(OBJDIR)\json_tag$O" : "$(SRCDIR)\json_detail.h" "$(OBJDIR)\json_timeline$O" : "$(SRCDIR)\json_detail.h" "$(OBJDIR)\json_user$O" : "$(SRCDIR)\json_detail.h" "$(OBJDIR)\json_wiki$O" : "$(SRCDIR)\json_detail.h" "$(OX)\builtin_data.reslist": $(EXTRA_FILES) "$(B)\win\Makefile.msc" | < | < < < < < < < < < < < < < | 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 | "$(OBJDIR)\json_status$O" : "$(SRCDIR)\json_detail.h" "$(OBJDIR)\json_tag$O" : "$(SRCDIR)\json_detail.h" "$(OBJDIR)\json_timeline$O" : "$(SRCDIR)\json_detail.h" "$(OBJDIR)\json_user$O" : "$(SRCDIR)\json_detail.h" "$(OBJDIR)\json_wiki$O" : "$(SRCDIR)\json_detail.h" "$(OX)\builtin_data.reslist": $(EXTRA_FILES) "$(B)\win\Makefile.msc" echo "$(SRCDIR)\../skins/ardoise/css.txt" > $@ echo "$(SRCDIR)\../skins/ardoise/details.txt" >> $@ echo "$(SRCDIR)\../skins/ardoise/footer.txt" >> $@ echo "$(SRCDIR)\../skins/ardoise/header.txt" >> $@ echo "$(SRCDIR)\../skins/black_and_white/css.txt" >> $@ echo "$(SRCDIR)\../skins/black_and_white/details.txt" >> $@ echo "$(SRCDIR)\../skins/black_and_white/footer.txt" >> $@ echo "$(SRCDIR)\../skins/black_and_white/header.txt" >> $@ echo "$(SRCDIR)\../skins/blitz/css.txt" >> $@ echo "$(SRCDIR)\../skins/blitz/details.txt" >> $@ echo "$(SRCDIR)\../skins/blitz/footer.txt" >> $@ echo "$(SRCDIR)\../skins/blitz/header.txt" >> $@ echo "$(SRCDIR)\../skins/blitz/ticket.txt" >> $@ echo "$(SRCDIR)\../skins/bootstrap/css.txt" >> $@ echo "$(SRCDIR)\../skins/bootstrap/details.txt" >> $@ echo "$(SRCDIR)\../skins/bootstrap/footer.txt" >> $@ echo "$(SRCDIR)\../skins/bootstrap/header.txt" >> $@ echo "$(SRCDIR)\../skins/darkmode/css.txt" >> $@ echo "$(SRCDIR)\../skins/darkmode/details.txt" >> $@ echo "$(SRCDIR)\../skins/darkmode/footer.txt" >> $@ echo "$(SRCDIR)\../skins/darkmode/header.txt" >> $@ echo "$(SRCDIR)\../skins/default/css.txt" >> $@ echo "$(SRCDIR)\../skins/default/details.txt" >> $@ echo "$(SRCDIR)\../skins/default/footer.txt" >> $@ echo "$(SRCDIR)\../skins/default/header.txt" >> $@ echo "$(SRCDIR)\../skins/eagle/css.txt" >> $@ echo "$(SRCDIR)\../skins/eagle/details.txt" >> $@ echo "$(SRCDIR)\../skins/eagle/footer.txt" >> $@ echo "$(SRCDIR)\../skins/eagle/header.txt" >> $@ echo "$(SRCDIR)\../skins/khaki/css.txt" >> $@ echo "$(SRCDIR)\../skins/khaki/details.txt" >> $@ echo "$(SRCDIR)\../skins/khaki/footer.txt" >> $@ echo "$(SRCDIR)\../skins/khaki/header.txt" >> $@ echo "$(SRCDIR)\../skins/original/css.txt" >> $@ echo "$(SRCDIR)\../skins/original/details.txt" >> $@ echo "$(SRCDIR)\../skins/original/footer.txt" >> $@ echo "$(SRCDIR)\../skins/original/header.txt" >> $@ echo "$(SRCDIR)\../skins/plain_gray/css.txt" >> $@ echo "$(SRCDIR)\../skins/plain_gray/details.txt" >> $@ echo "$(SRCDIR)\../skins/plain_gray/footer.txt" >> $@ echo "$(SRCDIR)\../skins/plain_gray/header.txt" >> $@ echo "$(SRCDIR)\../skins/xekri/css.txt" >> $@ echo "$(SRCDIR)\../skins/xekri/details.txt" >> $@ echo "$(SRCDIR)\../skins/xekri/footer.txt" >> $@ echo "$(SRCDIR)\../skins/xekri/header.txt" >> $@ echo "$(SRCDIR)\accordion.js" >> $@ echo "$(SRCDIR)\alerts/bflat2.wav" >> $@ echo "$(SRCDIR)\alerts/bflat3.wav" >> $@ |
| ︙ | ︙ |