summaryrefslogtreecommitdiff
path: root/lib/filters/about-formatting.sh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/filters/about-formatting.sh')
-rwxr-xr-xlib/filters/about-formatting.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/filters/about-formatting.sh b/lib/filters/about-formatting.sh
new file mode 100755
index 0000000..83a7bc0
--- /dev/null
+++ b/lib/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