aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorArun Isaac2023-08-08 21:39:43 +0100
committerArun Isaac2023-08-09 21:29:12 +0100
commit760fcf32fc3b78887fbe3f85e7cd5b23b0c47a66 (patch)
treecd3bcb900a8c7f66b0701b86fb8a8c9ad9851b6a /doc
parentcc75486d156aaea37fe152507a631d20ae70ecc6 (diff)
downloadguix-forge-760fcf32fc3b78887fbe3f85e7cd5b23b0c47a66.tar.gz
guix-forge-760fcf32fc3b78887fbe3f85e7cd5b23b0c47a66.tar.lz
guix-forge-760fcf32fc3b78887fbe3f85e7cd5b23b0c47a66.zip
cgit: Add cgit service.
* guix/forge/cgit.scm: New file. * doc/forge.skb (Services)[Git web viewers]: New section.
Diffstat (limited to 'doc')
-rw-r--r--doc/forge.skb60
1 files changed, 60 insertions, 0 deletions
diff --git a/doc/forge.skb b/doc/forge.skb
index 91a608d..23d8faf 100644
--- a/doc/forge.skb
+++ b/doc/forge.skb
@@ -189,6 +189,66 @@ repeated below for your reference.])
:file "doc/snippets/tutorial.scm")))
(chapter :title [Services]
:ident "chapter-services"
+ (section :title [Git web vievers]
+ :ident "section-git-web-viewers"
+ (subsection :title [cgit service]
+ :ident "subsection-cgit-service"
+ (p [cgit is a web frontend to serve git repositories on the
+web. Our cgit service features]
+ (itemize
+ (item [cloneable URLs via the smart HTTP protocol through
+,(command [git-http-backend])])
+ (item [syntax highlighting for a wide variety of
+programming languages using ,(ref :url "https://pygments.org/" :text
+"Pygments")])
+ (item [rendering markdown, man page, html or plain text
+README files in the ,(emph [About]) page])
+ (item [hiding full email addresses on cgit web pages])))
+ (description
+ (record-documentation "guix/forge/cgit.scm" '<cgit-configuration>
+ (record-field "cgit"
+ [,(code [cgit]) package to use])
+ (record-field "git"
+ [,(code [git]) package to use. ,(code [git]) provides the
+smart HTTP protocol backend.])
+ (record-field "server-name"
+ [Domain name to serve cgit on])
+ (record-field "repository-directory"
+ [Directory containing git repositories to serve])
+ (record-field "socket"
+ [Socket that the internal cgit fcgiwrap instance listens on])
+ (record-field "readme"
+ [README file to serve as the ,(emph [About]) page of the
+repository. This field is a list of candidate README files. cgit will
+serve the first file that is found.])
+ (record-field "snapshots"
+ [List of strings specifying snapshot formats that cgit
+generates links for. Valid strings are ,(code ["tar"]), ,(code
+["tar.gz"]), ,(code ["tar.bz2"]), ,(code ["tar.lz"]), ,(code
+["tar.xz"]), ,(code ["tar.xst"]) and ,(code ["zip"]).])
+ (record-field "about-filter"
+ [Script invoked to format the content of about pages])
+ (record-field "commit-filter"
+ [Script invoked to format commit messages])
+ (record-field "email-filter"
+ [Script invoked to format email addresses])
+ (record-field "source-filter"
+ [Script invoked to format plaintext blobs in the tree
+view])
+ (record-field "mimetype-file"
+ [File to use for automatic mimetype lookup. This is used
+by the plain endpoint when serving blob content])
+ (record-field "repository-sort"
+ [Order in which repositories are sorted on the index
+page. Valid values are ,(code ['name]) (sorting by repository name)
+and ,(code ['age]) (sorting most recently updated repository
+first).])
+ (record-field "plain-email?"
+ [If ,(code [#true]), full email addresses will be
+shown. Else, they won't.])
+ (record-field "extra-options"
+ [Association list of additional key-value option pairs to
+include in the generated ,(file [cgitrc]) configuration file])))))
(section :title [forge nginx service]
:ident "section-forge-nginx-service"
(p [The forge nginx service is a wrapper around the nginx web