about summary refs log tree commit diff
path: root/doc
diff options
context:
space:
mode:
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