diff options
Diffstat (limited to 'cgit')
-rw-r--r-- | cgit/apache2/conf-available/local-cgit.conf | 5 | ||||
-rw-r--r-- | cgit/cgitrc | 21 | ||||
-rwxr-xr-x | cgit/filters/about-formatting.sh | 22 |
3 files changed, 47 insertions, 1 deletions
diff --git a/cgit/apache2/conf-available/local-cgit.conf b/cgit/apache2/conf-available/local-cgit.conf index 56d81c5..27a6c13 100644 --- a/cgit/apache2/conf-available/local-cgit.conf +++ b/cgit/apache2/conf-available/local-cgit.conf @@ -10,6 +10,9 @@ Alias /cgit-css/ /usr/share/cgit/ Alias /favicon.ico /usr/share/cgit/favicon.ico Alias /robots.txt /usr/share/cgit/robots.txt -<LocationMatch ^/(?!cgit-css/.*|favicon\.ico|robots\.txt|\.well-known/acme-challenge/)> +# this requires cgit config: enable-index-links=1 +RedirectMatch permanent ^/([^./]+)\.git(/.*) /$1$2 + +<LocationMatch ^/(?![^./]+\.git/|cgit-css/.*|favicon\.ico|robots\.txt|\.well-known/acme-challenge/)> ProxyPass unix:/run/uwsgi/app/local-git/socket|uwsgi://local-git </LocationMatch> diff --git a/cgit/cgitrc b/cgit/cgitrc new file mode 100644 index 0000000..596265d --- /dev/null +++ b/cgit/cgitrc @@ -0,0 +1,21 @@ +# +# cgit config +# see cgitrc(5) for details + +css=/cgit-css/cgit.css +logo=/cgit-css/cgit.png + +remove-suffix=1 + +clone-url=git://$HTTP_HOST/$CGIT_REPO_URL user@$HTTP_HOST:$CGIT_REPO_URL https://$HTTP_HOST$SCRIPT_NAME/$CGIT_REPO_URL http://$HTTP_HOST$SCRIPT_NAME/$CGIT_REPO_URL + +source-filter=/usr/lib/cgit/filters/syntax-highlighting.sh + +# requires cmark +about-filter=/etc/local-COMMON/cgit/filters/about-formatting.sh +readme=:README.md + +cache-size=1000 + +# must be last! +scan-path=$DOCUMENT_ROOT diff --git a/cgit/filters/about-formatting.sh b/cgit/filters/about-formatting.sh new file mode 100755 index 0000000..83a7bc0 --- /dev/null +++ b/cgit/filters/about-formatting.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +# This may be used with the about-filter or repo.about-filter setting in cgitrc. +# It passes formatting of about pages to differing programs, depending on the usage. + +# Depends: cmark + +# The following environment variables can be used to retrieve the configuration +# of the repository for which this script is called: +# CGIT_REPO_URL ( = repo.url setting ) +# CGIT_REPO_NAME ( = repo.name setting ) +# CGIT_REPO_PATH ( = repo.path setting ) +# CGIT_REPO_OWNER ( = repo.owner setting ) +# CGIT_REPO_DEFBRANCH ( = repo.defbranch setting ) +# CGIT_REPO_SECTION ( = section setting ) +# CGIT_REPO_CLONE_URL ( = repo.clone-url setting ) + +case "$(printf '%s' "$1" | tr '[:upper:]' '[:lower:]')" in + *.markdown|*.mdown|*.md|*.mkd|*.mdwn) exec cmark --safe; ;; + *.htm|*.html) exec cat; ;; + *.txt|*) cd /usr/lib/cgit/filters/html-converters; exec ./txt2html; ;; +esac |