diff options
| author | cashmere <cashmere@autistici.org> | 2026-09-04 09:05:24 +0200 |
|---|---|---|
| committer | cashmere <cashmere@autistici.org> | 2026-09-04 09:05:24 +0200 |
| commit | 4f49b16079b27d7ce633619e4cddfdf2bffbc952 (patch) | |
| tree | c296c1e7f3c3e2f6859c6d3a1b1b208779b89679 /www/mkindex.tcl | |
| download | relic-master.tar.gz | |
Diffstat (limited to 'www/mkindex.tcl')
| -rwxr-xr-x | www/mkindex.tcl | 187 |
1 files changed, 187 insertions, 0 deletions
diff --git a/www/mkindex.tcl b/www/mkindex.tcl new file mode 100755 index 0000000..a8d2bef --- /dev/null +++ b/www/mkindex.tcl @@ -0,0 +1,187 @@ +#!/usr/bin/env tclsh +# +# Run this TCL script to generate a WIKI page that contains a +# permuted index of the various documentation files. +# +# tclsh mkindex.tcl +# +# 2021-02-26: The permuted index feature has been removed because +# moderns don't understand such things, and seeing so many entries +# confuses them. +# + +set doclist { + aboutcgi.wiki {How CGI Works In Fossil} + aboutdownload.wiki {How The Download Page Works} + adding_code.wiki {Adding New Features To Fossil} + adding_code.wiki {Hacking Fossil} + alerts.md {Email Alerts And Notifications} + antibot.wiki {Defense against Spiders and Robots} + backoffice.md {The "Backoffice" mechanism of Fossil} + backup.md {Backing Up a Remote Fossil Repository} + blame.wiki {The Annotate/Blame Algorithm Of Fossil} + blockchain.md {Is Fossil A Blockchain?} + branching.wiki {Branching, Forking, Merging, and Tagging} + bugtheory.wiki {Bug Tracking In Fossil} + build.wiki {Compiling and Installing Fossil} + cap-theorem.md {Fossil and the CAP Theorem} + caps/ {Administering User Capabilities (a.k.a. Permissions)} + caps/admin-v-setup.md {Differences Between Setup and Admin Users} + caps/ref.html {User Capability Reference} + cgi.wiki {CGI Script Configuration Options} + changes.wiki {Fossil Changelog} + chat.md {Fossil Chat} + checkin_names.wiki {Check-in And Version Names} + checkin.wiki {Check-in Checklist} + childprojects.wiki {Child Projects} + chroot.md {Server Chroot Jail} + ckout-workflows.md {Check-Out Workflows} + co-vs-up.md {Checkout vs Update} + colordiff.md {Colorized Diffs} + copyright-release.html {Contributor License Agreement} + concepts.wiki {Fossil Core Concepts} + contact.md {Developer Contact Information} + containers.md {OCI Containers} + contribute.wiki {Contributing Code or Documentation To The Fossil Project} + css-tricks.md {Fossil CSS Tips and Tricks} + customgraph.md {Theming: Customizing the Timeline Graph} + customskin.md {Theming: Customizing The Appearance of Web Pages} + customskin.md {Custom Skins} + custom_ticket.wiki {Customizing The Ticket System} + defcsp.md {The Default Content Security Policy} + delta-manifests.md {Delta Manifests} + delta_encoder_algorithm.wiki {Fossil Delta Encoding Algorithm} + delta_format.wiki {Fossil Delta Format} + embeddeddoc.wiki {Embedded Project Documentation} + encryptedrepos.wiki {How To Use Encrypted Repositories} + env-opts.md {Environment Variables and Global Options} + event.wiki {Events} + faq.wiki {Frequently Asked Questions} + fileedit-page.md {The fileedit Page} + fileformat.wiki {Fossil File Format} + fiveminutes.wiki {Up and Running in 5 Minutes as a Single User} + forum.wiki {Fossil Forums} + foss-cklist.wiki {Checklist For Successful Open-Source Projects} + fossil-from-msvc.wiki {Integrating Fossil in the Microsoft Express 2010 IDE} + fossil-is-not-relational.md {Introduction to the (Non-relational) Fossil Data Model} + fossil_prompt.wiki {Fossilized Bash Prompt} + fossil-v-git.wiki {Fossil Versus Git} + gitusers.md {Git to Fossil Translation Guide} + globs.md {File Name Glob Patterns} + glossary.md {Glossary} + grep.md {Fossil grep vs POSIX grep} + hacker-howto.wiki {Hacker How-To} + hacker-howto.wiki {Fossil Developers Guide} + hashes.md {Hashes: Fossil Artifact Identification} + hashpolicy.wiki {Hash Policy: Choosing Between SHA1 and SHA3-256} + /help {Lists of Commands and Webpages} + hints.wiki {Fossil Tips And Usage Hints} + history.md {The Purpose And History Of Fossil} + hundredandone.md {101 Reasons Why Fossil Is Better Than Git} + index.wiki {Home Page} + inout.wiki {Import And Export To And From Git} + interwiki.md {Interwiki Links} + image-format-vs-repo-size.md {Image Format vs Fossil Repo Size} + javascript.md {Use of JavaScript in Fossil} + json-api/index.md {JSON API} + loadmgmt.md {Managing Server Load} + makefile.wiki {The Fossil Build Process} + mirrorlimitations.md {Limitations On Git Mirrors} + mirrortogithub.md {How To Mirror A Fossil Repository On GitHub} + /md_rules {Markdown Formatting Rules} + newrepo.wiki {How To Create A New Fossil Repository} + patchcmd.md {The "fossil patch" Command} + password.wiki {Password Management And Authentication} + pikchr.md {The Pikchr Diagram Language} + pop.wiki {Principles Of Operation} + private.wiki {Creating, Syncing, and Deleting Private Branches} + qandc.wiki {Questions And Criticisms} + quickstart.wiki {Fossil Quick Start Guide} + quotes.wiki + {Quotes: What People Are Saying About Fossil, Git, and DVCSes in General} + ../test/release-checklist.wiki {Pre-Release Testing Checklist} + rebaseharm.md {Rebase Considered Harmful} + reviews.wiki {Reviews} + selfcheck.wiki {Fossil Repository Integrity Self Checks} + selfhost.wiki {Fossil Self Hosting Repositories} + server/ {How To Configure A Fossil Server} + serverext.wiki {CGI Server Extensions} + serverext.wiki {Adding Extensions To A Fossil Server Using CGI Scripts} + settings.wiki {Fossil Settings} + /sitemap {Site Map} + shunning.wiki {Shunning: Deleting Content From Fossil} + stats.wiki {Performance Statistics} + style.wiki {Source Code Style Guidelines} + ssl.wiki {Using SSL with Fossil} + ssl-server.md {SSL/TLS Server Mode} + sync.wiki {The Fossil Sync Protocol} + tech_overview.wiki {A Technical Overview Of The Design And Implementation + Of Fossil} + tech_overview.wiki {SQLite Databases Used By Fossil} + th1.md {The TH1 Scripting Language} + theory1.wiki {Thoughts On The Design Of The Fossil DVCS} + tickets.wiki {The Fossil Ticket System} + unvers.wiki {Unversioned Files} + webpage-ex.md {Webpage Examples} + webui.wiki {The Fossil Web Interface} + whyallinone.md {Why Bundle Forum, Wiki, and other Web Software With Your DVCS?} + whyusefossil.wiki {Why You Should Use Fossil} + whyusefossil.wiki {Benefits Of Version Control} + wikitheory.wiki {Wiki In Fossil} + /wiki_rules {Wiki Formatting Rules} +} + +set permindex {} +set stopwords { + a about against and are as by for fossil from in of on or should the to use + used with +} +foreach {file title} $doclist { + set n [llength $title] + regsub -all {\s+} $title { } title + lappend permindex [list $title $file 1] + +# Disable the permutations. +# for {set i 0} {$i<$n-1} {incr i} { +# set prefix [lrange $title 0 $i] +# set suffix [lrange $title [expr {$i+1}] end] +# set firstword [string tolower [lindex $suffix 0]] +# if {[lsearch $stopwords $firstword]<0} { +# lappend permindex [list "$suffix — $prefix" $file 0] +# } +# } +} +set permindex [lsort -dict -index 0 $permindex] +set out [open permutedindex.html w] +fconfigure $out -encoding utf-8 -translation lf +puts $out \ +"<div class='fossil-doc' data-title='Index Of Fossil Documentation'>" +puts $out { +<form action='$ROOT/docsrch' method='GET' style="text-align:center"> +<input type="text" name="s" size="40" autofocus> +<input type="submit" value="Search Docs"> +</form> +<h2>Primary Documents:</h2> +<ul> +<li> <a href='quickstart.wiki'>Quick-start Guide</a> +<li> <a href='$ROOT/help'>Built-in help for commands and webpages</a> +<li> <a href='history.md'>Purpose and History of Fossil</a> +<li> <a href='build.wiki'>Compiling and installing Fossil</a> +<li> <a href='../COPYRIGHT-BSD2.txt'>License</a> +<li> <a href='userlinks.wiki'>Miscellaneous Docs for Fossil Users</a> +<li> <a href='hacker-howto.wiki'>Fossil Developer's Guide</a> +<li><a href='$ROOT/wiki?name=Release Build How-To'>Release Build How-To</a>, +a.k.a. how deliverables are built</li> +</li> +<li> <a href='$ROOT/wiki?name=To+Do+List'>To Do List (Wiki)</a> +<li> <a href='https://fossil-scm.org/fossil-book/'>Fossil book</a> +</ul> +<h2 id="pindex">Other Documents:</h2> +<ul>} +foreach entry $permindex { + foreach {title file bold} $entry break +# if {$bold} {set title <b>$title</b>} + if {[string match /* $file]} {set file ../../..$file} + puts $out "<li><a href=\"$file\">$title</a></li>" +} +puts $out "</ul></div>" |
