CHECKIN can be either tag or hash prefix or timestamp identifying a particular check-in, or the name of a branch (meaning the most recent check-in on that branch) or one of various magic words:
- means the most recent check-in
- means the current check-out, if the server is run from within a check-out, otherwise it is the same as "tip"
- means use the most recent check-in for the document regardless of what branch it occurs on.
FILE is the name of a file to delivered up as a webpage. FILE is relative to the root of the source tree of the repository. The FILE must be a part of CHECKIN, except when CHECKIN=="ckout" when FILE is read directly from disk and need not be a managed file. For /uv, FILE can also be the hash of the unversioned file.
The "ckout" CHECKIN is intended for development - to provide a mechanism for looking at what a file will look like using the /doc webpage after it gets checked in.
The file extension is used to decide how to render the file.
If FILE ends in "/" then the names "FILE/index.html", "FILE/index.wiki", and "FILE/index.md" are tried in that order. If the binary was compiled with TH1 embedded documentation support and the "th1-docs" setting is enabled, the name "FILE/index.th1" is also tried. If none of those are found, then FILE is completely replaced by "404.md" and tried. If that is not found, then a default 404 screen is generated.
If the file's mimetype is "text/x-fossil-wiki" or "text/x-markdown" then headers and footers are added. If the document has mimetype text/html then headers and footers are usually not added. However, if a "text/html" document begins with the following div:
<div class='fossil-doc' data-title='TEXT'>
then headers and footers are supplied. The optional data-title field specifies the title of the document in that case.
For fossil-doc documents and for markdown documents, text of the form: "href='$ROOT/" or "action='$ROOT" has the $ROOT name expanded to the top-level of the repository.