about summary refs log tree commit diff stats
path: root/cgit-about-filter.sh
blob: ad2c4ce64939292bfa0edc7a009a63648dd4ece3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/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.

# 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 )

plaintext() {
	echo "<pre><code>"
	awk \
		'{
		gsub(/&/,"\\&amp;");
		gsub(/</,"\\&lt;");
		gsub(/>/,"\\&gt;");
		print;
		}'
	echo "</pre></code>"
}

case "$(printf '%s' "$1" | tr '[:upper:]' '[:lower:]')" in
    *.markdown|*.mdown|*.md|*.mkd) exec pandoc -thtml -fmarkdown ;;
    *.htm|*.html) exec cat ;;
    *) plaintext ;;
esac