Fossil SCM

More documentation on theming and creating custom skins.

drh 2015-02-16 20:15 trunk
Commit c397fe5c444e9f5cdf6f3370fe035c5c7c066106
+90 -18
--- www/customskin.md
+++ www/customskin.md
@@ -1,15 +1,16 @@
1
-Customizing Fossil's Look
2
-=========================
1
+Theming
2
+=======
33
44
Every HTML page generated by Fossil has the following basic structure:
55
66
77
<blockquote><table border=1 cellpadding=10><tbody>
8
-<tr><td style='background-color:lightblue;'>Header</td></tr>
9
-<tr><td style='background-color:lightgreen;'>Content</td></tr>
10
-<tr><td style='background-color:lightblue;'>Footer</td></tr>
8
+<tr><td style='background-color:lightblue;text-align:center;'>Header</td></tr>
9
+<tr><td style='background-color:lightgreen;text-align:center;'>
10
+Fossil-Generated Content</td></tr>
11
+<tr><td style='background-color:lightblue;text-align:center;'>Footer</td></tr>
1112
</tbody></table></blockquote>
1213
1314
The header and footer control the "look" of Fossil pages. Those
1415
two sections can be customized separately for each repository to
1516
develop a new theme.
@@ -28,16 +29,20 @@
2829
... bottom material ...
2930
</body>
3031
</html>
3132
3233
The &lt;head&gt; element in the header will normally reference the
33
-/style.css CSS file that Fossil stores internally.
34
+/style.css CSS file that Fossil stores internally. (The $stylesheet_url
35
+TH1 variable, described below, is useful for accomplishing this.)
3436
35
-The middle "content" section of Fossil-generated pages is not normally
36
-customizable. The appearance of Fossil is mostly governed by the CSS,
37
-header, and footer, all of which are changeable on a per-repository
38
-basis. We call the bundle of built-in CSS, header, and footer a "skin".
37
+The middle "content" section comprised the bulk of most pages and
38
+contains the actual Fossil-generated data
39
+that the user is interested in seeing. The text of this content
40
+section is not normally configurable. The content text can be styled
41
+using CSS, but it otherwise fixed. Hence it is the header and footer
42
+and the CSS that determine the look of a repository.
43
+We call the bundle of built-in CSS, header, and footer a "skin".
3944
4045
Built-in Skins
4146
--------------
4247
4348
Fossil comes with several built-in skins. The sources to these built-ins can
@@ -59,11 +64,11 @@
5964
6065
The skin of a repository is not part of the versioned state and does not
6166
"push" or "pull" like checked-in files. The skin is local to the
6267
repository. However, skins can be shared between repositories using
6368
the [fossil config](../../../help?cmd=configuration) command.
64
-The "fossil config push skin" will send the local skin to a remote
69
+The "fossil config push skin" command will send the local skin to a remote
6570
repository and the "fossil config pull skin" command will import a skin
6671
from a remote repository. The "fossil config export skin FILENAME"
6772
will export the skin for a repository into a file FILENAME. This file
6873
can then be imported into a different repository using the
6974
"fossil config import FILENAME" command. Unlike "push" and "pull",
@@ -81,19 +86,51 @@
8186
necessary.
8287
8388
When cloning a repository, the skin of new repository is initialized to
8489
the skin of the repository from which it was cloned.
8590
86
-Header And Footer
------------------
91
+Header And Footer Processing
92
+----------------------------
8793
8894
The header.txt and footer.txt files of a scan are merely the HTML text
89
-of the header and footer. Except, that text is allowed to contain
90
-embedded [TH1](./th1.md) script to modify or change its content.
91
-With the header or footer, all text between &lt;th1&gt;...&lt;/th1&gt;
92
-is run as a TH1 script. And elements of the form &lt;$NAME&gt; are
93
-replaced by the value of the NAME variable in TH1.
95
+of the header and footer. Except, before being prepended and appended to
96
+the content, the header and footer text are run through a
97
+[TH1 interpreter](./th1.md) that might adjust the text as follows:
98
+
99
+ * All text within &lt;th1&gt;...&lt;/th1&gt; is elided from the
100
+ output and that text is instead run as a TH1 script. That TH1
101
+ script has the opportunity to insert new text in place of itself,
102
+ or to inhibit or enable the output of subsequent text.
103
+
104
+ * Text for the form "$NAME" or "$&lt;NAME&gt;" is replace with
105
+ the value of the TH1 variable NAME.
106
+
107
+For example, the following is the first few lines of a typical
108
+header file:
109
+
110
+ <html>
111
+ <head>
112
+ <base href="$baseurl/$current_page" />
113
+ <title>$<project_name>: $<title></title>
114
+ <link rel="alternate" type="application/rss+xml" title="RSS Feed"
115
+ href="$home/timeline.rss" />
116
+ <link rel="stylesheet" href="$stylesheet_url" type="text/css"
117
+ media="screen" />
118
+ </head>
119
+
120
+After variables are substituted by TH1, the final header text
121
+delivered to the web browser might look something like this:
122
+
123
+ <html>
124
+ <head>
125
+ <base href="https://www.fossil-scm.org/skin2/timeline" />
126
+ <title>Fossil: Timeline</title>
127
+ <link rel="alternate" type="application/rss+xml" title="RSS Feed"
128
+ href="/skin2/timeline.rss" />
129
+ <link rel="stylesheet" href="/skin2/style.css?default" type="text/css"
130
+ media="screen" />
131
+ </head>
94132
95133
The same TH1 interpreter is used for both the header and the footer
96134
and for all scripts contained within them both. Hence, any global
97135
TH1 variables that are set by the header are available to the footer.
98136
@@ -107,11 +144,13 @@
107144
* **project_name** - The project_name variable is filled with the
108145
name of the project as configured under the Admin/Configuration
109146
menu.
110147
111148
* **title** - The title variable holds the title of the page being
112
- generated. This variable is special in that it is deleted after
149
+ generated.
150
+
151
+ The title variable is special in that it is deleted after
113152
the header script runs and before the footer script. This is
114153
necessary to avoid a conflict with a variable by the same name used
115154
in my ticket-screen scripts.
116155
117156
* **baseurl** - The root of the URL namespace for this server.
@@ -157,5 +196,37 @@
157196
158197
All of the above are variables in the sense that either the header or the
159198
footer is free to change or erase them. But they should probably be treated
160199
as constants. New predefined values are likely to be added in future
161200
releases of Fossil.
201
+
202
+Suggested Skin Customization Procedure
203
+--------------------------------------
204
+
205
+Developers are free, of course, to develop new skins using any method they
206
+want, but the following is a technique that has worked well in the past and
207
+can serve as a starting point for future work:
208
+
209
+ 1. Select a built-in skin that is closest to the desired look. Make
210
+ copies of the css, footer, and header into files name "css.txt",
211
+ "footer.txt", and "header.txt" in some temporary directory.
212
+
213
+ If the Fossil source code is available, then these three files can
214
+ be copied directly out of one of the subdirectories under skins. If
215
+ sources are not easily at hand, then a copy/paste out of the
216
+ CSS, footer, and header editing screens under the Admin menu will
217
+ work just as well. The important point is that the three files
218
+ be named exactly "css.txt", "footer.txt", and "header.txt" and that
219
+ they all be in the same directory.
220
+
221
+ 2. Run the [fossil ui](../../../help?cmd=ui) command with an extra
222
+ option "--skin SKINDIR" where SKINDIR is the name of the directory
223
+ in which the three txt files were stored in step 1. This will bring
224
+ up the Fossil website using the tree files in SKINDIR.
225
+
226
+ 3. Edit the three txt files in SKINDIR. After making each small change,
227
+ press Reload on the web browser to see the effect of that change.
228
+ Iterate until the desired look is achieved.
229
+
230
+ 4. Copy/paste the resulting css.txt, header.txt, and footer.txt files
231
+ into the CSS, header, and footer configuration screens under the
232
+ Admin menu.
162233
--- www/customskin.md
+++ www/customskin.md
@@ -1,15 +1,16 @@
1 Customizing Fossil's Look
2 =========================
3
4 Every HTML page generated by Fossil has the following basic structure:
5
6
7 <blockquote><table border=1 cellpadding=10><tbody>
8 <tr><td style='background-color:lightblue;'>Header</td></tr>
9 <tr><td style='background-color:lightgreen;'>Content</td></tr>
10 <tr><td style='background-color:lightblue;'>Footer</td></tr>
 
11 </tbody></table></blockquote>
12
13 The header and footer control the "look" of Fossil pages. Those
14 two sections can be customized separately for each repository to
15 develop a new theme.
@@ -28,16 +29,20 @@
28 ... bottom material ...
29 </body>
30 </html>
31
32 The &lt;head&gt; element in the header will normally reference the
33 /style.css CSS file that Fossil stores internally.
 
34
35 The middle "content" section of Fossil-generated pages is not normally
36 customizable. The appearance of Fossil is mostly governed by the CSS,
37 header, and footer, all of which are changeable on a per-repository
38 basis. We call the bundle of built-in CSS, header, and footer a "skin".
 
 
 
39
40 Built-in Skins
41 --------------
42
43 Fossil comes with several built-in skins. The sources to these built-ins can
@@ -59,11 +64,11 @@
59
60 The skin of a repository is not part of the versioned state and does not
61 "push" or "pull" like checked-in files. The skin is local to the
62 repository. However, skins can be shared between repositories using
63 the [fossil config](../../../help?cmd=configuration) command.
64 The "fossil config push skin" will send the local skin to a remote
65 repository and the "fossil config pull skin" command will import a skin
66 from a remote repository. The "fossil config export skin FILENAME"
67 will export the skin for a repository into a file FILENAME. This file
68 can then be imported into a different repository using the
69 "fossil config import FILENAME" command. Unlike "push" and "pull",
@@ -81,19 +86,51 @@
81 necessary.
82
83 When cloning a repository, the skin of new repository is initialized to
84 the skin of the repository from which it was cloned.
85
86 Header And Footer
------------------
 
 
87
88 The header.txt and footer.txt files of a scan are merely the HTML text
89 of the header and footer. Except, that text is allowed to contain
90 embedded [TH1](./th1.md) script to modify or change its content.
91 With the header or footer, all text between &lt;th1&gt;...&lt;/th1&gt;
92 is run as a TH1 script. And elements of the form &lt;$NAME&gt; are
93 replaced by the value of the NAME variable in TH1.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
95 The same TH1 interpreter is used for both the header and the footer
96 and for all scripts contained within them both. Hence, any global
97 TH1 variables that are set by the header are available to the footer.
98
@@ -107,11 +144,13 @@
107 * **project_name** - The project_name variable is filled with the
108 name of the project as configured under the Admin/Configuration
109 menu.
110
111 * **title** - The title variable holds the title of the page being
112 generated. This variable is special in that it is deleted after
 
 
113 the header script runs and before the footer script. This is
114 necessary to avoid a conflict with a variable by the same name used
115 in my ticket-screen scripts.
116
117 * **baseurl** - The root of the URL namespace for this server.
@@ -157,5 +196,37 @@
157
158 All of the above are variables in the sense that either the header or the
159 footer is free to change or erase them. But they should probably be treated
160 as constants. New predefined values are likely to be added in future
161 releases of Fossil.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
162
--- www/customskin.md
+++ www/customskin.md
@@ -1,15 +1,16 @@
1 Theming
2 =======
3
4 Every HTML page generated by Fossil has the following basic structure:
5
6
7 <blockquote><table border=1 cellpadding=10><tbody>
8 <tr><td style='background-color:lightblue;text-align:center;'>Header</td></tr>
9 <tr><td style='background-color:lightgreen;text-align:center;'>
10 Fossil-Generated Content</td></tr>
11 <tr><td style='background-color:lightblue;text-align:center;'>Footer</td></tr>
12 </tbody></table></blockquote>
13
14 The header and footer control the "look" of Fossil pages. Those
15 two sections can be customized separately for each repository to
16 develop a new theme.
@@ -28,16 +29,20 @@
29 ... bottom material ...
30 </body>
31 </html>
32
33 The &lt;head&gt; element in the header will normally reference the
34 /style.css CSS file that Fossil stores internally. (The $stylesheet_url
35 TH1 variable, described below, is useful for accomplishing this.)
36
37 The middle "content" section comprised the bulk of most pages and
38 contains the actual Fossil-generated data
39 that the user is interested in seeing. The text of this content
40 section is not normally configurable. The content text can be styled
41 using CSS, but it otherwise fixed. Hence it is the header and footer
42 and the CSS that determine the look of a repository.
43 We call the bundle of built-in CSS, header, and footer a "skin".
44
45 Built-in Skins
46 --------------
47
48 Fossil comes with several built-in skins. The sources to these built-ins can
@@ -59,11 +64,11 @@
64
65 The skin of a repository is not part of the versioned state and does not
66 "push" or "pull" like checked-in files. The skin is local to the
67 repository. However, skins can be shared between repositories using
68 the [fossil config](../../../help?cmd=configuration) command.
69 The "fossil config push skin" command will send the local skin to a remote
70 repository and the "fossil config pull skin" command will import a skin
71 from a remote repository. The "fossil config export skin FILENAME"
72 will export the skin for a repository into a file FILENAME. This file
73 can then be imported into a different repository using the
74 "fossil config import FILENAME" command. Unlike "push" and "pull",
@@ -81,19 +86,51 @@
86 necessary.
87
88 When cloning a repository, the skin of new repository is initialized to
89 the skin of the repository from which it was cloned.
90
 
------------------
91 Header And Footer Processing
92 ----------------------------
93
94 The header.txt and footer.txt files of a scan are merely the HTML text
95 of the header and footer. Except, before being prepended and appended to
96 the content, the header and footer text are run through a
97 [TH1 interpreter](./th1.md) that might adjust the text as follows:
98
99 * All text within &lt;th1&gt;...&lt;/th1&gt; is elided from the
100 output and that text is instead run as a TH1 script. That TH1
101 script has the opportunity to insert new text in place of itself,
102 or to inhibit or enable the output of subsequent text.
103
104 * Text for the form "$NAME" or "$&lt;NAME&gt;" is replace with
105 the value of the TH1 variable NAME.
106
107 For example, the following is the first few lines of a typical
108 header file:
109
110 <html>
111 <head>
112 <base href="$baseurl/$current_page" />
113 <title>$<project_name>: $<title></title>
114 <link rel="alternate" type="application/rss+xml" title="RSS Feed"
115 href="$home/timeline.rss" />
116 <link rel="stylesheet" href="$stylesheet_url" type="text/css"
117 media="screen" />
118 </head>
119
120 After variables are substituted by TH1, the final header text
121 delivered to the web browser might look something like this:
122
123 <html>
124 <head>
125 <base href="https://www.fossil-scm.org/skin2/timeline" />
126 <title>Fossil: Timeline</title>
127 <link rel="alternate" type="application/rss+xml" title="RSS Feed"
128 href="/skin2/timeline.rss" />
129 <link rel="stylesheet" href="/skin2/style.css?default" type="text/css"
130 media="screen" />
131 </head>
132
133 The same TH1 interpreter is used for both the header and the footer
134 and for all scripts contained within them both. Hence, any global
135 TH1 variables that are set by the header are available to the footer.
136
@@ -107,11 +144,13 @@
144 * **project_name** - The project_name variable is filled with the
145 name of the project as configured under the Admin/Configuration
146 menu.
147
148 * **title** - The title variable holds the title of the page being
149 generated.
150
151 The title variable is special in that it is deleted after
152 the header script runs and before the footer script. This is
153 necessary to avoid a conflict with a variable by the same name used
154 in my ticket-screen scripts.
155
156 * **baseurl** - The root of the URL namespace for this server.
@@ -157,5 +196,37 @@
196
197 All of the above are variables in the sense that either the header or the
198 footer is free to change or erase them. But they should probably be treated
199 as constants. New predefined values are likely to be added in future
200 releases of Fossil.
201
202 Suggested Skin Customization Procedure
203 --------------------------------------
204
205 Developers are free, of course, to develop new skins using any method they
206 want, but the following is a technique that has worked well in the past and
207 can serve as a starting point for future work:
208
209 1. Select a built-in skin that is closest to the desired look. Make
210 copies of the css, footer, and header into files name "css.txt",
211 "footer.txt", and "header.txt" in some temporary directory.
212
213 If the Fossil source code is available, then these three files can
214 be copied directly out of one of the subdirectories under skins. If
215 sources are not easily at hand, then a copy/paste out of the
216 CSS, footer, and header editing screens under the Admin menu will
217 work just as well. The important point is that the three files
218 be named exactly "css.txt", "footer.txt", and "header.txt" and that
219 they all be in the same directory.
220
221 2. Run the [fossil ui](../../../help?cmd=ui) command with an extra
222 option "--skin SKINDIR" where SKINDIR is the name of the directory
223 in which the three txt files were stored in step 1. This will bring
224 up the Fossil website using the tree files in SKINDIR.
225
226 3. Edit the three txt files in SKINDIR. After making each small change,
227 press Reload on the web browser to see the effect of that change.
228 Iterate until the desired look is achieved.
229
230 4. Copy/paste the resulting css.txt, header.txt, and footer.txt files
231 into the CSS, header, and footer configuration screens under the
232 Admin menu.
233
--- www/mkindex.tcl
+++ www/mkindex.tcl
@@ -17,10 +17,11 @@
1717
checkin.wiki {Check-in Checklist}
1818
changes.wiki {Fossil Changelog}
1919
copyright-release.html {Contributor License Agreement}
2020
concepts.wiki {Fossil Core Concepts}
2121
contribute.wiki {Contributing Code or Documentation To The Fossil Project}
22
+ customskin.md {Theming: Customizing The Appearance of Web Pages}
2223
custom_ticket.wiki {Customizing The Ticket System}
2324
delta_encoder_algorithm.wiki {Fossil Delta Encoding Algorithm}
2425
delta_format.wiki {Fossil Delta Format}
2526
embeddeddoc.wiki {Embedded Project Documentation}
2627
event.wiki {Events}
@@ -55,10 +56,11 @@
5556
ssl.wiki {Using SSL with Fossil}
5657
sync.wiki {The Fossil Sync Protocol}
5758
tech_overview.wiki {A Technical Overview Of The Design And Implementation
5859
Of Fossil}
5960
tech_overview.wiki {SQLite Databases Used By Fossil}
61
+ th1.md {The TH1 Scripting Language}
6062
tickets.wiki {The Fossil Ticket System}
6163
theory1.wiki {Thoughts On The Design Of The Fossil DVCS}
6264
webui.wiki {The Fossil Web Interface}
6365
wikitheory.wiki {Wiki In Fossil}
6466
}
6567
--- www/mkindex.tcl
+++ www/mkindex.tcl
@@ -17,10 +17,11 @@
17 checkin.wiki {Check-in Checklist}
18 changes.wiki {Fossil Changelog}
19 copyright-release.html {Contributor License Agreement}
20 concepts.wiki {Fossil Core Concepts}
21 contribute.wiki {Contributing Code or Documentation To The Fossil Project}
 
22 custom_ticket.wiki {Customizing The Ticket System}
23 delta_encoder_algorithm.wiki {Fossil Delta Encoding Algorithm}
24 delta_format.wiki {Fossil Delta Format}
25 embeddeddoc.wiki {Embedded Project Documentation}
26 event.wiki {Events}
@@ -55,10 +56,11 @@
55 ssl.wiki {Using SSL with Fossil}
56 sync.wiki {The Fossil Sync Protocol}
57 tech_overview.wiki {A Technical Overview Of The Design And Implementation
58 Of Fossil}
59 tech_overview.wiki {SQLite Databases Used By Fossil}
 
60 tickets.wiki {The Fossil Ticket System}
61 theory1.wiki {Thoughts On The Design Of The Fossil DVCS}
62 webui.wiki {The Fossil Web Interface}
63 wikitheory.wiki {Wiki In Fossil}
64 }
65
--- www/mkindex.tcl
+++ www/mkindex.tcl
@@ -17,10 +17,11 @@
17 checkin.wiki {Check-in Checklist}
18 changes.wiki {Fossil Changelog}
19 copyright-release.html {Contributor License Agreement}
20 concepts.wiki {Fossil Core Concepts}
21 contribute.wiki {Contributing Code or Documentation To The Fossil Project}
22 customskin.md {Theming: Customizing The Appearance of Web Pages}
23 custom_ticket.wiki {Customizing The Ticket System}
24 delta_encoder_algorithm.wiki {Fossil Delta Encoding Algorithm}
25 delta_format.wiki {Fossil Delta Format}
26 embeddeddoc.wiki {Embedded Project Documentation}
27 event.wiki {Events}
@@ -55,10 +56,11 @@
56 ssl.wiki {Using SSL with Fossil}
57 sync.wiki {The Fossil Sync Protocol}
58 tech_overview.wiki {A Technical Overview Of The Design And Implementation
59 Of Fossil}
60 tech_overview.wiki {SQLite Databases Used By Fossil}
61 th1.md {The TH1 Scripting Language}
62 tickets.wiki {The Fossil Ticket System}
63 theory1.wiki {Thoughts On The Design Of The Fossil DVCS}
64 webui.wiki {The Fossil Web Interface}
65 wikitheory.wiki {Wiki In Fossil}
66 }
67
--- www/permutedindex.html
+++ www/permutedindex.html
@@ -24,10 +24,11 @@
2424
<li><a href="tech_overview.wiki">A Technical Overview Of The Design And Implementation Of Fossil</a></li>
2525
<li><a href="adding_code.wiki">Adding New Features To Fossil</a></li>
2626
<li><a href="antibot.wiki">against Spiders and Bots &mdash; Defense</a></li>
2727
<li><a href="copyright-release.html">Agreement &mdash; Contributor License</a></li>
2828
<li><a href="delta_encoder_algorithm.wiki">Algorithm &mdash; Fossil Delta Encoding</a></li>
29
+<li><a href="customskin.md">Appearance of Web Pages &mdash; Theming: Customizing The</a></li>
2930
<li><a href="fiveminutes.wiki">as a Single User &mdash; Update and Running in 5 Minutes</a></li>
3031
<li><a href="faq.wiki">Asked Questions &mdash; Frequently</a></li>
3132
<li><a href="password.wiki">Authentication &mdash; Password Management And</a></li>
3233
<li><a href="antibot.wiki">Bots &mdash; Defense against Spiders and</a></li>
3334
<li><a href="private.wiki">Branches &mdash; Creating, Syncing, and Deleting Private</a></li>
@@ -51,10 +52,11 @@
5152
<li><a href="copyright-release.html">Contributor License Agreement</a></li>
5253
<li><a href="concepts.wiki">Core Concepts &mdash; Fossil</a></li>
5354
<li><a href="newrepo.wiki">Create A New Fossil Repository &mdash; How To</a></li>
5455
<li><a href="private.wiki">Creating, Syncing, and Deleting Private Branches</a></li>
5556
<li><a href="qandc.wiki">Criticisms &mdash; Questions And</a></li>
57
+<li><a href="customskin.md">Customizing The Appearance of Web Pages &mdash; Theming:</a></li>
5658
<li><a href="custom_ticket.wiki">Customizing The Ticket System</a></li>
5759
<li><a href="tech_overview.wiki">Databases Used By Fossil &mdash; SQLite</a></li>
5860
<li><a href="antibot.wiki">Defense against Spiders and Bots</a></li>
5961
<li><a href="shunning.wiki">Deleting Content From Fossil &mdash; Shunning:</a></li>
6062
<li><a href="private.wiki">Deleting Private Branches &mdash; Creating, Syncing, and</a></li>
@@ -110,10 +112,11 @@
110112
<li><a href="inout.wiki">Import And Export To And From Git</a></li>
111113
<li><a href="build.wiki">Installing Fossil &mdash; Compiling and</a></li>
112114
<li><a href="fossil-from-msvc.wiki">Integrating Fossil in the Microsoft Express 2010 IDE</a></li>
113115
<li><a href="selfcheck.wiki">Integrity Self Checks &mdash; Fossil Repository</a></li>
114116
<li><a href="webui.wiki">Interface &mdash; The Fossil Web</a></li>
117
+<li><a href="th1.md">Language &mdash; The TH1 Scripting</a></li>
115118
<li><a href="copyright-release.html">License Agreement &mdash; Contributor</a></li>
116119
<li><a href="password.wiki">Management And Authentication &mdash; Password</a></li>
117120
<li><a href="branching.wiki">Merging, and Tagging &mdash; Branching, Forking,</a></li>
118121
<li><a href="fossil-from-msvc.wiki">Microsoft Express 2010 IDE &mdash; Integrating Fossil in the</a></li>
119122
<li><a href="fiveminutes.wiki">Minutes as a Single User &mdash; Update and Running in 5</a></li>
@@ -122,10 +125,11 @@
122125
<li><a href="newrepo.wiki">New Fossil Repository &mdash; How To Create A</a></li>
123126
<li><a href="foss-cklist.wiki">Open-Source Projects &mdash; Checklist For Successful</a></li>
124127
<li><a href="pop.wiki">Operations &mdash; Principles Of</a></li>
125128
<li><a href="tech_overview.wiki">Overview Of The Design And Implementation Of Fossil &mdash; A Technical</a></li>
126129
<li><a href="index.wiki">Page &mdash; Home</a></li>
130
+<li><a href="customskin.md">Pages &mdash; Theming: Customizing The Appearance of Web</a></li>
127131
<li><a href="password.wiki">Password Management And Authentication</a></li>
128132
<li><a href="quotes.wiki">People Are Saying About Fossil, Git, and DVCSes in General &mdash; Quotes: What</a></li>
129133
<li><a href="stats.wiki">Performance Statistics</a></li>
130134
<li><a href="../test/release-checklist.wiki">Pre-Release Testing Checklist</a></li>
131135
<li><a href="pop.wiki">Principles Of Operations</a></li>
@@ -143,10 +147,11 @@
143147
<li><a href="newrepo.wiki">Repository &mdash; How To Create A New Fossil</a></li>
144148
<li><a href="selfcheck.wiki">Repository Integrity Self Checks &mdash; Fossil</a></li>
145149
<li><a href="reviews.wiki">Reviews</a></li>
146150
<li><a href="fiveminutes.wiki">Running in 5 Minutes as a Single User &mdash; Update and</a></li>
147151
<li><a href="quotes.wiki">Saying About Fossil, Git, and DVCSes in General &mdash; Quotes: What People Are</a></li>
152
+<li><a href="th1.md">Scripting Language &mdash; The TH1</a></li>
148153
<li><a href="selfcheck.wiki">Self Checks &mdash; Fossil Repository Integrity</a></li>
149154
<li><a href="selfhost.wiki">Self Hosting Repositories &mdash; Fossil</a></li>
150155
<li><a href="server.wiki">Server &mdash; How To Configure A Fossil</a></li>
151156
<li><a href="settings.wiki">Settings &mdash; Fossil</a></li>
152157
<li><a href="shunning.wiki">Shunning: Deleting Content From Fossil</a></li>
@@ -164,14 +169,17 @@
164169
<li><a href="custom_ticket.wiki">System &mdash; Customizing The Ticket</a></li>
165170
<li><a href="tickets.wiki">System &mdash; The Fossil Ticket</a></li>
166171
<li><a href="branching.wiki">Tagging &mdash; Branching, Forking, Merging, and</a></li>
167172
<li><a href="tech_overview.wiki">Technical Overview Of The Design And Implementation Of Fossil &mdash; A</a></li>
168173
<li><a href="../test/release-checklist.wiki">Testing Checklist &mdash; Pre-Release</a></li>
174
+<li><a href="th1.md">TH1 Scripting Language &mdash; The</a></li>
169175
<li><a href="makefile.wiki">The Fossil Build Process</a></li>
170176
<li><a href="sync.wiki">The Fossil Sync Protocol</a></li>
171177
<li><a href="tickets.wiki">The Fossil Ticket System</a></li>
172178
<li><a href="webui.wiki">The Fossil Web Interface</a></li>
179
+<li><a href="th1.md">The TH1 Scripting Language</a></li>
180
+<li><a href="customskin.md">Theming: Customizing The Appearance of Web Pages</a></li>
173181
<li><a href="theory1.wiki">Thoughts On The Design Of The Fossil DVCS</a></li>
174182
<li><a href="custom_ticket.wiki">Ticket System &mdash; Customizing The</a></li>
175183
<li><a href="tickets.wiki">Ticket System &mdash; The Fossil</a></li>
176184
<li><a href="hints.wiki">Tips And Usage Hints &mdash; Fossil</a></li>
177185
<li><a href="bugtheory.wiki">Tracking In Fossil &mdash; Bug</a></li>
@@ -180,9 +188,10 @@
180188
<li><a href="fiveminutes.wiki">User &mdash; Update and Running in 5 Minutes as a Single</a></li>
181189
<li><a href="ssl.wiki">Using SSL with Fossil</a></li>
182190
<li><a href="checkin_names.wiki">Version Names &mdash; Checkin And</a></li>
183191
<li><a href="fossil-v-git.wiki">Versus Git &mdash; Fossil</a></li>
184192
<li><a href="webui.wiki">Web Interface &mdash; The Fossil</a></li>
193
+<li><a href="customskin.md">Web Pages &mdash; Theming: Customizing The Appearance of</a></li>
185194
<li><a href="quotes.wiki">What People Are Saying About Fossil, Git, and DVCSes in General &mdash; Quotes:</a></li>
186195
<li><a href="wikitheory.wiki">Wiki In Fossil</a></li>
187196
<li><a href="ssl.wiki">with Fossil &mdash; Using SSL</a></li>
188197
</ul></div>
189198
--- www/permutedindex.html
+++ www/permutedindex.html
@@ -24,10 +24,11 @@
24 <li><a href="tech_overview.wiki">A Technical Overview Of The Design And Implementation Of Fossil</a></li>
25 <li><a href="adding_code.wiki">Adding New Features To Fossil</a></li>
26 <li><a href="antibot.wiki">against Spiders and Bots &mdash; Defense</a></li>
27 <li><a href="copyright-release.html">Agreement &mdash; Contributor License</a></li>
28 <li><a href="delta_encoder_algorithm.wiki">Algorithm &mdash; Fossil Delta Encoding</a></li>
 
29 <li><a href="fiveminutes.wiki">as a Single User &mdash; Update and Running in 5 Minutes</a></li>
30 <li><a href="faq.wiki">Asked Questions &mdash; Frequently</a></li>
31 <li><a href="password.wiki">Authentication &mdash; Password Management And</a></li>
32 <li><a href="antibot.wiki">Bots &mdash; Defense against Spiders and</a></li>
33 <li><a href="private.wiki">Branches &mdash; Creating, Syncing, and Deleting Private</a></li>
@@ -51,10 +52,11 @@
51 <li><a href="copyright-release.html">Contributor License Agreement</a></li>
52 <li><a href="concepts.wiki">Core Concepts &mdash; Fossil</a></li>
53 <li><a href="newrepo.wiki">Create A New Fossil Repository &mdash; How To</a></li>
54 <li><a href="private.wiki">Creating, Syncing, and Deleting Private Branches</a></li>
55 <li><a href="qandc.wiki">Criticisms &mdash; Questions And</a></li>
 
56 <li><a href="custom_ticket.wiki">Customizing The Ticket System</a></li>
57 <li><a href="tech_overview.wiki">Databases Used By Fossil &mdash; SQLite</a></li>
58 <li><a href="antibot.wiki">Defense against Spiders and Bots</a></li>
59 <li><a href="shunning.wiki">Deleting Content From Fossil &mdash; Shunning:</a></li>
60 <li><a href="private.wiki">Deleting Private Branches &mdash; Creating, Syncing, and</a></li>
@@ -110,10 +112,11 @@
110 <li><a href="inout.wiki">Import And Export To And From Git</a></li>
111 <li><a href="build.wiki">Installing Fossil &mdash; Compiling and</a></li>
112 <li><a href="fossil-from-msvc.wiki">Integrating Fossil in the Microsoft Express 2010 IDE</a></li>
113 <li><a href="selfcheck.wiki">Integrity Self Checks &mdash; Fossil Repository</a></li>
114 <li><a href="webui.wiki">Interface &mdash; The Fossil Web</a></li>
 
115 <li><a href="copyright-release.html">License Agreement &mdash; Contributor</a></li>
116 <li><a href="password.wiki">Management And Authentication &mdash; Password</a></li>
117 <li><a href="branching.wiki">Merging, and Tagging &mdash; Branching, Forking,</a></li>
118 <li><a href="fossil-from-msvc.wiki">Microsoft Express 2010 IDE &mdash; Integrating Fossil in the</a></li>
119 <li><a href="fiveminutes.wiki">Minutes as a Single User &mdash; Update and Running in 5</a></li>
@@ -122,10 +125,11 @@
122 <li><a href="newrepo.wiki">New Fossil Repository &mdash; How To Create A</a></li>
123 <li><a href="foss-cklist.wiki">Open-Source Projects &mdash; Checklist For Successful</a></li>
124 <li><a href="pop.wiki">Operations &mdash; Principles Of</a></li>
125 <li><a href="tech_overview.wiki">Overview Of The Design And Implementation Of Fossil &mdash; A Technical</a></li>
126 <li><a href="index.wiki">Page &mdash; Home</a></li>
 
127 <li><a href="password.wiki">Password Management And Authentication</a></li>
128 <li><a href="quotes.wiki">People Are Saying About Fossil, Git, and DVCSes in General &mdash; Quotes: What</a></li>
129 <li><a href="stats.wiki">Performance Statistics</a></li>
130 <li><a href="../test/release-checklist.wiki">Pre-Release Testing Checklist</a></li>
131 <li><a href="pop.wiki">Principles Of Operations</a></li>
@@ -143,10 +147,11 @@
143 <li><a href="newrepo.wiki">Repository &mdash; How To Create A New Fossil</a></li>
144 <li><a href="selfcheck.wiki">Repository Integrity Self Checks &mdash; Fossil</a></li>
145 <li><a href="reviews.wiki">Reviews</a></li>
146 <li><a href="fiveminutes.wiki">Running in 5 Minutes as a Single User &mdash; Update and</a></li>
147 <li><a href="quotes.wiki">Saying About Fossil, Git, and DVCSes in General &mdash; Quotes: What People Are</a></li>
 
148 <li><a href="selfcheck.wiki">Self Checks &mdash; Fossil Repository Integrity</a></li>
149 <li><a href="selfhost.wiki">Self Hosting Repositories &mdash; Fossil</a></li>
150 <li><a href="server.wiki">Server &mdash; How To Configure A Fossil</a></li>
151 <li><a href="settings.wiki">Settings &mdash; Fossil</a></li>
152 <li><a href="shunning.wiki">Shunning: Deleting Content From Fossil</a></li>
@@ -164,14 +169,17 @@
164 <li><a href="custom_ticket.wiki">System &mdash; Customizing The Ticket</a></li>
165 <li><a href="tickets.wiki">System &mdash; The Fossil Ticket</a></li>
166 <li><a href="branching.wiki">Tagging &mdash; Branching, Forking, Merging, and</a></li>
167 <li><a href="tech_overview.wiki">Technical Overview Of The Design And Implementation Of Fossil &mdash; A</a></li>
168 <li><a href="../test/release-checklist.wiki">Testing Checklist &mdash; Pre-Release</a></li>
 
169 <li><a href="makefile.wiki">The Fossil Build Process</a></li>
170 <li><a href="sync.wiki">The Fossil Sync Protocol</a></li>
171 <li><a href="tickets.wiki">The Fossil Ticket System</a></li>
172 <li><a href="webui.wiki">The Fossil Web Interface</a></li>
 
 
173 <li><a href="theory1.wiki">Thoughts On The Design Of The Fossil DVCS</a></li>
174 <li><a href="custom_ticket.wiki">Ticket System &mdash; Customizing The</a></li>
175 <li><a href="tickets.wiki">Ticket System &mdash; The Fossil</a></li>
176 <li><a href="hints.wiki">Tips And Usage Hints &mdash; Fossil</a></li>
177 <li><a href="bugtheory.wiki">Tracking In Fossil &mdash; Bug</a></li>
@@ -180,9 +188,10 @@
180 <li><a href="fiveminutes.wiki">User &mdash; Update and Running in 5 Minutes as a Single</a></li>
181 <li><a href="ssl.wiki">Using SSL with Fossil</a></li>
182 <li><a href="checkin_names.wiki">Version Names &mdash; Checkin And</a></li>
183 <li><a href="fossil-v-git.wiki">Versus Git &mdash; Fossil</a></li>
184 <li><a href="webui.wiki">Web Interface &mdash; The Fossil</a></li>
 
185 <li><a href="quotes.wiki">What People Are Saying About Fossil, Git, and DVCSes in General &mdash; Quotes:</a></li>
186 <li><a href="wikitheory.wiki">Wiki In Fossil</a></li>
187 <li><a href="ssl.wiki">with Fossil &mdash; Using SSL</a></li>
188 </ul></div>
189
--- www/permutedindex.html
+++ www/permutedindex.html
@@ -24,10 +24,11 @@
24 <li><a href="tech_overview.wiki">A Technical Overview Of The Design And Implementation Of Fossil</a></li>
25 <li><a href="adding_code.wiki">Adding New Features To Fossil</a></li>
26 <li><a href="antibot.wiki">against Spiders and Bots &mdash; Defense</a></li>
27 <li><a href="copyright-release.html">Agreement &mdash; Contributor License</a></li>
28 <li><a href="delta_encoder_algorithm.wiki">Algorithm &mdash; Fossil Delta Encoding</a></li>
29 <li><a href="customskin.md">Appearance of Web Pages &mdash; Theming: Customizing The</a></li>
30 <li><a href="fiveminutes.wiki">as a Single User &mdash; Update and Running in 5 Minutes</a></li>
31 <li><a href="faq.wiki">Asked Questions &mdash; Frequently</a></li>
32 <li><a href="password.wiki">Authentication &mdash; Password Management And</a></li>
33 <li><a href="antibot.wiki">Bots &mdash; Defense against Spiders and</a></li>
34 <li><a href="private.wiki">Branches &mdash; Creating, Syncing, and Deleting Private</a></li>
@@ -51,10 +52,11 @@
52 <li><a href="copyright-release.html">Contributor License Agreement</a></li>
53 <li><a href="concepts.wiki">Core Concepts &mdash; Fossil</a></li>
54 <li><a href="newrepo.wiki">Create A New Fossil Repository &mdash; How To</a></li>
55 <li><a href="private.wiki">Creating, Syncing, and Deleting Private Branches</a></li>
56 <li><a href="qandc.wiki">Criticisms &mdash; Questions And</a></li>
57 <li><a href="customskin.md">Customizing The Appearance of Web Pages &mdash; Theming:</a></li>
58 <li><a href="custom_ticket.wiki">Customizing The Ticket System</a></li>
59 <li><a href="tech_overview.wiki">Databases Used By Fossil &mdash; SQLite</a></li>
60 <li><a href="antibot.wiki">Defense against Spiders and Bots</a></li>
61 <li><a href="shunning.wiki">Deleting Content From Fossil &mdash; Shunning:</a></li>
62 <li><a href="private.wiki">Deleting Private Branches &mdash; Creating, Syncing, and</a></li>
@@ -110,10 +112,11 @@
112 <li><a href="inout.wiki">Import And Export To And From Git</a></li>
113 <li><a href="build.wiki">Installing Fossil &mdash; Compiling and</a></li>
114 <li><a href="fossil-from-msvc.wiki">Integrating Fossil in the Microsoft Express 2010 IDE</a></li>
115 <li><a href="selfcheck.wiki">Integrity Self Checks &mdash; Fossil Repository</a></li>
116 <li><a href="webui.wiki">Interface &mdash; The Fossil Web</a></li>
117 <li><a href="th1.md">Language &mdash; The TH1 Scripting</a></li>
118 <li><a href="copyright-release.html">License Agreement &mdash; Contributor</a></li>
119 <li><a href="password.wiki">Management And Authentication &mdash; Password</a></li>
120 <li><a href="branching.wiki">Merging, and Tagging &mdash; Branching, Forking,</a></li>
121 <li><a href="fossil-from-msvc.wiki">Microsoft Express 2010 IDE &mdash; Integrating Fossil in the</a></li>
122 <li><a href="fiveminutes.wiki">Minutes as a Single User &mdash; Update and Running in 5</a></li>
@@ -122,10 +125,11 @@
125 <li><a href="newrepo.wiki">New Fossil Repository &mdash; How To Create A</a></li>
126 <li><a href="foss-cklist.wiki">Open-Source Projects &mdash; Checklist For Successful</a></li>
127 <li><a href="pop.wiki">Operations &mdash; Principles Of</a></li>
128 <li><a href="tech_overview.wiki">Overview Of The Design And Implementation Of Fossil &mdash; A Technical</a></li>
129 <li><a href="index.wiki">Page &mdash; Home</a></li>
130 <li><a href="customskin.md">Pages &mdash; Theming: Customizing The Appearance of Web</a></li>
131 <li><a href="password.wiki">Password Management And Authentication</a></li>
132 <li><a href="quotes.wiki">People Are Saying About Fossil, Git, and DVCSes in General &mdash; Quotes: What</a></li>
133 <li><a href="stats.wiki">Performance Statistics</a></li>
134 <li><a href="../test/release-checklist.wiki">Pre-Release Testing Checklist</a></li>
135 <li><a href="pop.wiki">Principles Of Operations</a></li>
@@ -143,10 +147,11 @@
147 <li><a href="newrepo.wiki">Repository &mdash; How To Create A New Fossil</a></li>
148 <li><a href="selfcheck.wiki">Repository Integrity Self Checks &mdash; Fossil</a></li>
149 <li><a href="reviews.wiki">Reviews</a></li>
150 <li><a href="fiveminutes.wiki">Running in 5 Minutes as a Single User &mdash; Update and</a></li>
151 <li><a href="quotes.wiki">Saying About Fossil, Git, and DVCSes in General &mdash; Quotes: What People Are</a></li>
152 <li><a href="th1.md">Scripting Language &mdash; The TH1</a></li>
153 <li><a href="selfcheck.wiki">Self Checks &mdash; Fossil Repository Integrity</a></li>
154 <li><a href="selfhost.wiki">Self Hosting Repositories &mdash; Fossil</a></li>
155 <li><a href="server.wiki">Server &mdash; How To Configure A Fossil</a></li>
156 <li><a href="settings.wiki">Settings &mdash; Fossil</a></li>
157 <li><a href="shunning.wiki">Shunning: Deleting Content From Fossil</a></li>
@@ -164,14 +169,17 @@
169 <li><a href="custom_ticket.wiki">System &mdash; Customizing The Ticket</a></li>
170 <li><a href="tickets.wiki">System &mdash; The Fossil Ticket</a></li>
171 <li><a href="branching.wiki">Tagging &mdash; Branching, Forking, Merging, and</a></li>
172 <li><a href="tech_overview.wiki">Technical Overview Of The Design And Implementation Of Fossil &mdash; A</a></li>
173 <li><a href="../test/release-checklist.wiki">Testing Checklist &mdash; Pre-Release</a></li>
174 <li><a href="th1.md">TH1 Scripting Language &mdash; The</a></li>
175 <li><a href="makefile.wiki">The Fossil Build Process</a></li>
176 <li><a href="sync.wiki">The Fossil Sync Protocol</a></li>
177 <li><a href="tickets.wiki">The Fossil Ticket System</a></li>
178 <li><a href="webui.wiki">The Fossil Web Interface</a></li>
179 <li><a href="th1.md">The TH1 Scripting Language</a></li>
180 <li><a href="customskin.md">Theming: Customizing The Appearance of Web Pages</a></li>
181 <li><a href="theory1.wiki">Thoughts On The Design Of The Fossil DVCS</a></li>
182 <li><a href="custom_ticket.wiki">Ticket System &mdash; Customizing The</a></li>
183 <li><a href="tickets.wiki">Ticket System &mdash; The Fossil</a></li>
184 <li><a href="hints.wiki">Tips And Usage Hints &mdash; Fossil</a></li>
185 <li><a href="bugtheory.wiki">Tracking In Fossil &mdash; Bug</a></li>
@@ -180,9 +188,10 @@
188 <li><a href="fiveminutes.wiki">User &mdash; Update and Running in 5 Minutes as a Single</a></li>
189 <li><a href="ssl.wiki">Using SSL with Fossil</a></li>
190 <li><a href="checkin_names.wiki">Version Names &mdash; Checkin And</a></li>
191 <li><a href="fossil-v-git.wiki">Versus Git &mdash; Fossil</a></li>
192 <li><a href="webui.wiki">Web Interface &mdash; The Fossil</a></li>
193 <li><a href="customskin.md">Web Pages &mdash; Theming: Customizing The Appearance of</a></li>
194 <li><a href="quotes.wiki">What People Are Saying About Fossil, Git, and DVCSes in General &mdash; Quotes:</a></li>
195 <li><a href="wikitheory.wiki">Wiki In Fossil</a></li>
196 <li><a href="ssl.wiki">with Fossil &mdash; Using SSL</a></li>
197 </ul></div>
198
+51
--- www/th1.md
+++ www/th1.md
@@ -111,5 +111,56 @@
111111
* uplevel ?LEVEL? SCRIPT
112112
* upvar ?FRAME? OTHERVAR MYVAR ?OTHERVAR MYVAR?
113113
114114
All of the above commands works as in the original TCL. Refer to the
115115
TCL documentation for details.
116
+
117
+TH1 Extended Commands
118
+---------------------
119
+
120
+There are many new commands added to TH1 and used to access the special
121
+features of Fossil. The following is a summary of the extended commands:
122
+
123
+ * anoncap
124
+ * anycap
125
+ * artifact
126
+ * checkout
127
+ * combobox
128
+ * date
129
+ * decorate
130
+ * enable_output
131
+ * getParameter
132
+ * globalState
133
+ * httpize
134
+ * hascap
135
+ * hasfeature
136
+ * html
137
+ * htmlize
138
+ * http
139
+ * linecount
140
+ * puts
141
+ * query
142
+ * randhex
143
+ * regexp
144
+ * reinitialize
145
+ * render
146
+ * repository
147
+ * searchable
148
+ * setParameter
149
+ * setting
150
+ * styleHeader
151
+ * styleFooter
152
+ * tclReady
153
+ * trace
154
+ * stime
155
+ * utime
156
+ * wiki
157
+
158
+Each of the commands above is documented by a block comment above their
159
+implementation in the th_main.c source file.
160
+
161
+**To Do:** We would like to have a community volunteer go through and
162
+copy the documentation for each of these command (with appropriate
163
+format changes and spelling and grammar corrections) into subsequent
164
+sections of this document. It is suggested that the list of extension
165
+commands be left intact - as a quick reference. But it would be really
166
+nice to also have the details of each each command does.
116167
--- www/th1.md
+++ www/th1.md
@@ -111,5 +111,56 @@
111 * uplevel ?LEVEL? SCRIPT
112 * upvar ?FRAME? OTHERVAR MYVAR ?OTHERVAR MYVAR?
113
114 All of the above commands works as in the original TCL. Refer to the
115 TCL documentation for details.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
116
--- www/th1.md
+++ www/th1.md
@@ -111,5 +111,56 @@
111 * uplevel ?LEVEL? SCRIPT
112 * upvar ?FRAME? OTHERVAR MYVAR ?OTHERVAR MYVAR?
113
114 All of the above commands works as in the original TCL. Refer to the
115 TCL documentation for details.
116
117 TH1 Extended Commands
118 ---------------------
119
120 There are many new commands added to TH1 and used to access the special
121 features of Fossil. The following is a summary of the extended commands:
122
123 * anoncap
124 * anycap
125 * artifact
126 * checkout
127 * combobox
128 * date
129 * decorate
130 * enable_output
131 * getParameter
132 * globalState
133 * httpize
134 * hascap
135 * hasfeature
136 * html
137 * htmlize
138 * http
139 * linecount
140 * puts
141 * query
142 * randhex
143 * regexp
144 * reinitialize
145 * render
146 * repository
147 * searchable
148 * setParameter
149 * setting
150 * styleHeader
151 * styleFooter
152 * tclReady
153 * trace
154 * stime
155 * utime
156 * wiki
157
158 Each of the commands above is documented by a block comment above their
159 implementation in the th_main.c source file.
160
161 **To Do:** We would like to have a community volunteer go through and
162 copy the documentation for each of these command (with appropriate
163 format changes and spelling and grammar corrections) into subsequent
164 sections of this document. It is suggested that the list of extension
165 commands be left intact - as a quick reference. But it would be really
166 nice to also have the details of each each command does.
167

Keyboard Shortcuts

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