STAGIT(1)
π stagit(1) π
okay so welcome to the General Commands Manual page for stagit, bestie β this is the static git page generator and we are gonna make it make sense. no cap. π«Ά
πΈ NAME πΈ
stagit β static git page generator
β¨ SYNOPSIS β¨
stagit [-c cachefile] [-l commits] [-u baseurl] repodir
π DESCRIPTION π
stagit writes HTML pages for the repository repodir to the current directory. literally the whole point. β¨
The options are as follows, bestie:
-c cachefileβ cache the entries of the log page up to the point of the last commit. Thecachefilewill store the last commit id and the entries in the HTML table. It is up to the user to make sure the state of thecachefileis in sync with the history of the repository. π«Ά-l commitsβ write a maximum number of commits to thelog.htmlfile only. However the commit files are written as usual.-u baseurlβ base URL to make links in the Atom feeds absolute. For example:https://git.codemadness.org/stagit/.
π¨ bestie, the options-cand-lcannot be used at the same time. periodt.
The following files will be written:
atom.xmlβ Atom XML feed of the last100commits.tags.xmlβ Atom XML feed of the tags.files.htmlβ list of files in the latest tree, linking to the file.log.htmlβ list of commits in reverse chronological applied commit order, each commit links to a page with a diffstat and diff of the commit.refs.htmlβ lists references of the repository such as branches and tags.
For each entry in HEAD a file will be written in the format: file/filepath.html. This file will contain the textual data of the file prefixed by line numbers. The file will have the string "Binary file" if the data is considered to be non-textual. π
For each commit a file will be written in the format: commit/commitid.html. This file will contain the diffstat and diff of the commit. It will write the string "Binary files differ" if the data is considered to be non-textual. Too large diffs will be suppressed and a string "Diff is too large, output suppressed" will be written. π
When a commit HTML file exists it won't be overwritten again, note that if you've changed stagit or changed one of the metadata files of the repository it is recommended to recreate all the output files because it will contain old data. To do this remove the output directory and cachefile, then recreate the files. no cap, that part matters. π«Ά
The basename of the directory is used as the repository name. The suffix .git is removed from the basename, this suffix is commonly used for "bare" repos.
The content of the following files specifies the metadata for each repository:
.git/descriptionordescription(bare repo). βdescription.git/ownerorowner(bare repo). β owner of repository.git/urlorurl(bare repo). β primary clone URL of the repository, for example:git://git.codemadness.org/stagit
When a README or LICENSE file exists in HEAD or a .gitmodules submodules file exists in HEAD a direct link in the menu is made. cute. π
For changing the style of the page you can use the following files:
favicon.pngβ favicon image.logo.pngβ32x32logo.style.cssβ CSS stylesheet.
π EXIT STATUS π
The stagit utility exits 0 on success, and >0 if an error occurs.
π¦ EXAMPLES π¦
mkdir -p htmlroot/htmlrepo1 && cd htmlroot/htmlrepo1
stagit path/to/gitrepo1
# repeat for other repositories.
To update the HTML files when the repository is changed a git post-receive hook can be used, see the file example_post-receive.sh for an example. π¦
π₯ SEE ALSO π₯
π AUTHORS π
Hiltjo Posthuma <hiltjo@codemadness.org>
π source/version vibes: Debian, dated August 2, 2021, manual STAGIT(1) β okay bye bestie, slay! π
π¦ where this page comes from
- alpine 3.24: stagit-doc 1.2-r8 Β· MIT
- nixos 26.05: stagit 1.2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms