Fossil SCM

fossil-scm / www / mkindex.tcl
Blame History Raw 188 lines
1
#!/usr/bin/env tclsh
2
#
3
# Run this TCL script to generate a WIKI page that contains a
4
# permuted index of the various documentation files.
5
#
6
# tclsh mkindex.tcl
7
#
8
# 2021-02-26: The permuted index feature has been removed because
9
# moderns don't understand such things, and seeing so many entries
10
# confuses them.
11
#
12
13
set doclist {
14
aboutcgi.wiki {How CGI Works In Fossil}
15
aboutdownload.wiki {How The Download Page Works}
16
adding_code.wiki {Adding New Features To Fossil}
17
adding_code.wiki {Hacking Fossil}
18
alerts.md {Email Alerts And Notifications}
19
antibot.wiki {Defense against Spiders and Robots}
20
backoffice.md {The "Backoffice" mechanism of Fossil}
21
backup.md {Backing Up a Remote Fossil Repository}
22
blame.wiki {The Annotate/Blame Algorithm Of Fossil}
23
blockchain.md {Is Fossil A Blockchain?}
24
branching.wiki {Branching, Forking, Merging, and Tagging}
25
bugtheory.wiki {Bug Tracking In Fossil}
26
build.wiki {Compiling and Installing Fossil}
27
cap-theorem.md {Fossil and the CAP Theorem}
28
caps/ {Administering User Capabilities (a.k.a. Permissions)}
29
caps/admin-v-setup.md {Differences Between Setup and Admin Users}
30
caps/ref.html {User Capability Reference}
31
cgi.wiki {CGI Script Configuration Options}
32
changes.wiki {Fossil Changelog}
33
chat.md {Fossil Chat}
34
checkin_names.wiki {Check-in And Version Names}
35
checkin.wiki {Check-in Checklist}
36
childprojects.wiki {Child Projects}
37
chroot.md {Server Chroot Jail}
38
ckout-workflows.md {Check-Out Workflows}
39
co-vs-up.md {Checkout vs Update}
40
colordiff.md {Colorized Diffs}
41
copyright-release.html {Contributor License Agreement}
42
concepts.wiki {Fossil Core Concepts}
43
contact.md {Developer Contact Information}
44
containers.md {OCI Containers}
45
contribute.wiki {Contributing Code or Documentation To The Fossil Project}
46
css-tricks.md {Fossil CSS Tips and Tricks}
47
customgraph.md {Theming: Customizing the Timeline Graph}
48
customskin.md {Theming: Customizing The Appearance of Web Pages}
49
customskin.md {Custom Skins}
50
custom_ticket.wiki {Customizing The Ticket System}
51
defcsp.md {The Default Content Security Policy}
52
delta-manifests.md {Delta Manifests}
53
delta_encoder_algorithm.wiki {Fossil Delta Encoding Algorithm}
54
delta_format.wiki {Fossil Delta Format}
55
embeddeddoc.wiki {Embedded Project Documentation}
56
encryptedrepos.wiki {How To Use Encrypted Repositories}
57
env-opts.md {Environment Variables and Global Options}
58
event.wiki {Events}
59
faq.wiki {Frequently Asked Questions}
60
fileedit-page.md {The fileedit Page}
61
fileformat.wiki {Fossil File Format}
62
fiveminutes.wiki {Up and Running in 5 Minutes as a Single User}
63
forum.wiki {Fossil Forums}
64
foss-cklist.wiki {Checklist For Successful Open-Source Projects}
65
fossil-from-msvc.wiki {Integrating Fossil in the Microsoft Express 2010 IDE}
66
fossil-is-not-relational.md {Introduction to the (Non-relational) Fossil Data Model}
67
fossil_prompt.wiki {Fossilized Bash Prompt}
68
fossil-v-git.wiki {Fossil Versus Git}
69
gitusers.md {Git to Fossil Translation Guide}
70
globs.md {File Name Glob Patterns}
71
glossary.md {Glossary}
72
grep.md {Fossil grep vs POSIX grep}
73
hacker-howto.wiki {Hacker How-To}
74
hacker-howto.wiki {Fossil Developers Guide}
75
hashes.md {Hashes: Fossil Artifact Identification}
76
hashpolicy.wiki {Hash Policy: Choosing Between SHA1 and SHA3-256}
77
/help {Lists of Commands and Webpages}
78
hints.wiki {Fossil Tips And Usage Hints}
79
history.md {The Purpose And History Of Fossil}
80
hundredandone.md {101 Reasons Why Fossil Is Better Than Git}
81
index.wiki {Home Page}
82
inout.wiki {Import And Export To And From Git}
83
interwiki.md {Interwiki Links}
84
image-format-vs-repo-size.md {Image Format vs Fossil Repo Size}
85
javascript.md {Use of JavaScript in Fossil}
86
json-api/index.md {JSON API}
87
loadmgmt.md {Managing Server Load}
88
makefile.wiki {The Fossil Build Process}
89
mirrorlimitations.md {Limitations On Git Mirrors}
90
mirrortogithub.md {How To Mirror A Fossil Repository On GitHub}
91
/md_rules {Markdown Formatting Rules}
92
newrepo.wiki {How To Create A New Fossil Repository}
93
patchcmd.md {The "fossil patch" Command}
94
password.wiki {Password Management And Authentication}
95
pikchr.md {The Pikchr Diagram Language}
96
pop.wiki {Principles Of Operation}
97
private.wiki {Creating, Syncing, and Deleting Private Branches}
98
qandc.wiki {Questions And Criticisms}
99
quickstart.wiki {Fossil Quick Start Guide}
100
quotes.wiki
101
{Quotes: What People Are Saying About Fossil, Git, and DVCSes in General}
102
../test/release-checklist.wiki {Pre-Release Testing Checklist}
103
rebaseharm.md {Rebase Considered Harmful}
104
reviews.wiki {Reviews}
105
selfcheck.wiki {Fossil Repository Integrity Self Checks}
106
selfhost.wiki {Fossil Self Hosting Repositories}
107
server/ {How To Configure A Fossil Server}
108
serverext.wiki {CGI Server Extensions}
109
serverext.wiki {Adding Extensions To A Fossil Server Using CGI Scripts}
110
settings.wiki {Fossil Settings}
111
/sitemap {Site Map}
112
shunning.wiki {Shunning: Deleting Content From Fossil}
113
stats.wiki {Performance Statistics}
114
style.wiki {Source Code Style Guidelines}
115
ssl.wiki {Using SSL with Fossil}
116
ssl-server.md {SSL/TLS Server Mode}
117
sync.wiki {The Fossil Sync Protocol}
118
tech_overview.wiki {A Technical Overview Of The Design And Implementation
119
Of Fossil}
120
tech_overview.wiki {SQLite Databases Used By Fossil}
121
th1.md {The TH1 Scripting Language}
122
theory1.wiki {Thoughts On The Design Of The Fossil DVCS}
123
tickets.wiki {The Fossil Ticket System}
124
unvers.wiki {Unversioned Files}
125
webpage-ex.md {Webpage Examples}
126
webui.wiki {The Fossil Web Interface}
127
whyallinone.md {Why Bundle Forum, Wiki, and other Web Software With Your DVCS?}
128
whyusefossil.wiki {Why You Should Use Fossil}
129
whyusefossil.wiki {Benefits Of Version Control}
130
wikitheory.wiki {Wiki In Fossil}
131
/wiki_rules {Wiki Formatting Rules}
132
}
133
134
set permindex {}
135
set stopwords {
136
a about against and are as by for fossil from in of on or should the to use
137
used with
138
}
139
foreach {file title} $doclist {
140
set n [llength $title]
141
regsub -all {\s+} $title { } title
142
lappend permindex [list $title $file 1]
143
144
# Disable the permutations.
145
# for {set i 0} {$i<$n-1} {incr i} {
146
# set prefix [lrange $title 0 $i]
147
# set suffix [lrange $title [expr {$i+1}] end]
148
# set firstword [string tolower [lindex $suffix 0]]
149
# if {[lsearch $stopwords $firstword]<0} {
150
# lappend permindex [list "$suffix &mdash; $prefix" $file 0]
151
# }
152
# }
153
}
154
set permindex [lsort -dict -index 0 $permindex]
155
set out [open permutedindex.html w]
156
fconfigure $out -encoding utf-8 -translation lf
157
puts $out \
158
"<div class='fossil-doc' data-title='Index Of Fossil Documentation'>"
159
puts $out {
160
<form action='$ROOT/docsrch' method='GET' style="text-align:center">
161
<input type="text" name="s" size="40" autofocus>
162
<input type="submit" value="Search Docs">
163
</form>
164
<h2>Primary Documents:</h2>
165
<ul>
166
<li> <a href='quickstart.wiki'>Quick-start Guide</a>
167
<li> <a href='$ROOT/help'>Built-in help for commands and webpages</a>
168
<li> <a href='history.md'>Purpose and History of Fossil</a>
169
<li> <a href='build.wiki'>Compiling and installing Fossil</a>
170
<li> <a href='../COPYRIGHT-BSD2.txt'>License</a>
171
<li> <a href='userlinks.wiki'>Miscellaneous Docs for Fossil Users</a>
172
<li> <a href='hacker-howto.wiki'>Fossil Developer's Guide</a>
173
<li><a href='$ROOT/wiki?name=Release Build How-To'>Release Build How-To</a>,
174
a.k.a. how deliverables are built</li>
175
</li>
176
<li> <a href='$ROOT/wiki?name=To+Do+List'>To Do List (Wiki)</a>
177
<li> <a href='https://fossil-scm.org/fossil-book/'>Fossil book</a>
178
</ul>
179
<h2 id="pindex">Other Documents:</h2>
180
<ul>}
181
foreach entry $permindex {
182
foreach {title file bold} $entry break
183
# if {$bold} {set title <b>$title</b>}
184
if {[string match /* $file]} {set file ../../..$file}
185
puts $out "<li><a href=\"$file\">$title</a></li>"
186
}
187
puts $out "</ul></div>"
188

Keyboard Shortcuts

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