Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Add the 'defHeader' command to TH1. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
c1cb6886cd15c3b194520a20dd9049f5 |
| User & Date: | mistachkin 2020-09-10 00:54:54.720 |
Context
|
2020-09-10
| ||
| 01:06 | Update the pikchr.c file from the latest source from the Pikchr website. ... (check-in: d2b69d16c6 user: drh tags: trunk) | |
| 00:54 | Add the 'defHeader' command to TH1. ... (check-in: c1cb6886cd user: mistachkin tags: trunk) | |
| 00:53 | Enable Pikchr in Fossil Wiki using markup of the form: <verbatim type="pikchr">...</verbatim>. ... (check-in: 1fc2df905e user: drh tags: trunk) | |
Changes
Changes to src/style.c.
| ︙ | ︙ | |||
550 551 552 553 554 555 556 | } /* ** Default HTML page header text through <body>. If the repository-specific ** header template lacks a <body> tag, then all of the following is ** prepended. */ | | > > > > > > > | 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 |
}
/*
** Default HTML page header text through <body>. If the repository-specific
** header template lacks a <body> tag, then all of the following is
** prepended.
*/
static const char zDfltHeader[] =
@ <html>
@ <head>
@ <base href="$baseurl/$current_page" />
@ <meta http-equiv="Content-Security-Policy" content="$default_csp" />
@ <meta name="viewport" content="width=device-width, initial-scale=1.0">
@ <title>$<project_name>: $<title></title>
@ <link rel="alternate" type="application/rss+xml" title="RSS Feed" \
@ href="$home/timeline.rss" />
@ <link rel="stylesheet" href="$stylesheet_url" type="text/css" />
@ </head>
@ <body>
;
/*
** Returns the default page header.
*/
const char *get_default_header(){
return zDfltHeader;
}
/*
** Initialize all the default TH1 variables
*/
static void style_init_th1_vars(const char *zTitle){
const char *zNonce = style_nonce();
char *zDfltCsp;
|
| ︙ | ︙ |
Changes to src/th_main.c.
| ︙ | ︙ | |||
1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 |
if( argc!=2 ){
return Th_WrongNumArgs(interp, "render STRING");
}
rc = Th_Render(argv[1]);
Th_SetResult(interp, 0, 0);
return rc;
}
/*
** TH1 command: styleHeader TITLE
**
** Render the configured style header for the selected skin.
*/
static int styleHeaderCmd(
| > > > > > > > > > > > > > > > > > > > | 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 |
if( argc!=2 ){
return Th_WrongNumArgs(interp, "render STRING");
}
rc = Th_Render(argv[1]);
Th_SetResult(interp, 0, 0);
return rc;
}
/*
** TH1 command: defHeader TITLE
**
** Returns the default page header.
*/
static int defHeaderCmd(
Th_Interp *interp,
void *p,
int argc,
const char **argv,
int *argl
){
if( argc!=1 ){
return Th_WrongNumArgs(interp, "defHeader");
}
Th_SetResult(interp, get_default_header(), -1);
return TH_OK;
}
/*
** TH1 command: styleHeader TITLE
**
** Render the configured style header for the selected skin.
*/
static int styleHeaderCmd(
|
| ︙ | ︙ | |||
2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 |
{"artifact", artifactCmd, 0},
{"cgiHeaderLine", cgiHeaderLineCmd, 0},
{"checkout", checkoutCmd, 0},
{"combobox", comboboxCmd, 0},
{"copybtn", copybtnCmd, 0},
{"date", dateCmd, 0},
{"decorate", wikiCmd, (void*)&aFlags[2]},
{"dir", dirCmd, 0},
{"enable_output", enableOutputCmd, 0},
{"encode64", encode64Cmd, 0},
{"getParameter", getParameterCmd, 0},
{"glob_match", globMatchCmd, 0},
{"globalState", globalStateCmd, 0},
{"httpize", httpizeCmd, 0},
| > | 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 |
{"artifact", artifactCmd, 0},
{"cgiHeaderLine", cgiHeaderLineCmd, 0},
{"checkout", checkoutCmd, 0},
{"combobox", comboboxCmd, 0},
{"copybtn", copybtnCmd, 0},
{"date", dateCmd, 0},
{"decorate", wikiCmd, (void*)&aFlags[2]},
{"defHeader", defHeaderCmd, 0},
{"dir", dirCmd, 0},
{"enable_output", enableOutputCmd, 0},
{"encode64", encode64Cmd, 0},
{"getParameter", getParameterCmd, 0},
{"glob_match", globMatchCmd, 0},
{"globalState", globalStateCmd, 0},
{"httpize", httpizeCmd, 0},
|
| ︙ | ︙ |
Changes to test/th1.test.
| ︙ | ︙ | |||
769 770 771 772 773 774 775 776 777 778 779 780 781 782 |
th1-setup {} => TH_OK<br />
this is a trace message.
------------------- END TRACE LOG -------------------}}
}
###############################################################################
fossil test-th-eval "styleHeader {Page Title Here}"
test th1-header-1 {$RESULT eq {TH_ERROR: repository unavailable}}
###############################################################################
test_in_checkout th1-header-2 {
fossil test-th-eval --open-config "styleHeader {Page Title Here}"
| > > > > > > > > > > > | 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 |
th1-setup {} => TH_OK<br />
this is a trace message.
------------------- END TRACE LOG -------------------}}
}
###############################################################################
fossil test-th-eval "defHeader {Page Title Here}"
test th1-defHeader-1 {$RESULT eq \
{TH_ERROR: wrong # args: should be "defHeader"}}
###############################################################################
fossil test-th-eval "defHeader"
test th1-defHeader-2 {[string match *<body> [normalize_result]]}
###############################################################################
fossil test-th-eval "styleHeader {Page Title Here}"
test th1-header-1 {$RESULT eq {TH_ERROR: repository unavailable}}
###############################################################################
test_in_checkout th1-header-2 {
fossil test-th-eval --open-config "styleHeader {Page Title Here}"
|
| ︙ | ︙ | |||
1034 1035 1036 1037 1038 1039 1040 |
# moved from Tcl builds to plain or the reverse. Sorting the
# command lists eliminates a dependence on order.
#
fossil test-th-eval "info commands"
set sorted_result [lsort $RESULT]
protOut "Sorted: $sorted_result"
set base_commands {anoncap anycap array artifact break breakpoint catch\
| | | | | | | 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 |
# moved from Tcl builds to plain or the reverse. Sorting the
# command lists eliminates a dependence on order.
#
fossil test-th-eval "info commands"
set sorted_result [lsort $RESULT]
protOut "Sorted: $sorted_result"
set base_commands {anoncap anycap array artifact break breakpoint catch\
cgiHeaderLine checkout combobox continue copybtn date decorate \
defHeader dir enable_output encode64 error expr for getParameter \
glob_match globalState hascap hasfeature html htmlize http httpize if \
info insertCsrf lindex linecount list llength lsearch markdown nonce \
proc puts query randhex redirect regexp reinitialize rename render \
repository return searchable set setParameter setting stime string \
styleFooter styleHeader styleScript tclReady trace unset unversioned \
uplevel upvar utime verifyCsrf verifyLogin wiki}
set tcl_commands {tclEval tclExpr tclInvoke tclIsSafe tclMakeSafe}
if {$th1Tcl} {
test th1-info-commands-1 {$sorted_result eq [lsort "$base_commands $tcl_commands"]}
} else {
|
| ︙ | ︙ |
Changes to www/th1.md.
| ︙ | ︙ | |||
171 172 173 174 175 176 177 178 179 180 181 182 183 184 | * artifact * cgiHeaderLine * checkout * combobox * copybtn * date * decorate * dir * enable\_output * encode64 * getParameter * glob\_match * globalState * hascap | > | 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 | * artifact * cgiHeaderLine * checkout * combobox * copybtn * date * decorate * defHeader * dir * enable\_output * encode64 * getParameter * glob\_match * globalState * hascap |
| ︙ | ︙ | |||
314 315 316 317 318 319 320 321 322 323 324 325 326 327 | <a name="decorate"></a>TH1 decorate Command ------------------------------------------- * decorate STRING Renders STRING as wiki content; however, only links are handled. No other markup is processed. <a name="dir"></a>TH1 dir Command --------------------------------- * dir CHECKIN ?GLOB? ?DETAILS? Returns a list containing all files in CHECKIN. If GLOB is given only | > > > > > > > | 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 | <a name="decorate"></a>TH1 decorate Command ------------------------------------------- * decorate STRING Renders STRING as wiki content; however, only links are handled. No other markup is processed. <a name="defHeader"></a>TH1 defHeader Command --------------------------------------------- * defHeader Returns the default page header. <a name="dir"></a>TH1 dir Command --------------------------------- * dir CHECKIN ?GLOB? ?DETAILS? Returns a list containing all files in CHECKIN. If GLOB is given only |
| ︙ | ︙ |