From 7a7626450ce0047728eff119553af9ceca413a98 Mon Sep 17 00:00:00 2001
From: Joe <bousset.rudy@gmail.com>
Date: Fri, 29 Apr 2022 19:55:01 +0000
Subject: filters

---
 usr/local/etc/cgitrc                               |  27 +++--
 usr/local/etc/nginx/nginx.conf                     |  34 +++---
 .../lib/cgit/filters/about-formatting-edited.sh    |  28 +++++
 .../lib/cgit/filters/html-converters/org2html      |   4 +
 .../lib/cgit/filters/syntax-highlighting-edited.sh | 121 +++++++++++++++++++++
 5 files changed, 189 insertions(+), 25 deletions(-)
 create mode 100755 usr/local/lib/cgit/filters/about-formatting-edited.sh
 create mode 100755 usr/local/lib/cgit/filters/html-converters/org2html
 create mode 100755 usr/local/lib/cgit/filters/syntax-highlighting-edited.sh

(limited to 'usr/local')

diff --git a/usr/local/etc/cgitrc b/usr/local/etc/cgitrc
index bf973e6..3774234 100644
--- a/usr/local/etc/cgitrc
+++ b/usr/local/etc/cgitrc
@@ -16,22 +16,28 @@ virtual-root=/
 root-title=GitJoe
 root-desc=where the good code belongs
 
-clone-url=git://gitjoe.xyz/$CGIT_REPO_URL jozan@gitjoe.xyz:$CGIT_REPO_URL
+clone-url=git://gitjoe.xyz/$CGIT_REPO_URL
 
-enable-index-owner=0
+enable-index-owner=1
 enable-index-links=0
 enable-log-filecount=1
 enable-log-linecount=1
 enable-commit-graph=1
 enable-remote-branches=1
 
+strict-export=git-daemon-export-ok
+remove-suffix=1
+
+about-filter=pandoc
+source-filter=/usr/local/lib/cgit/filters/syntax-highlighting-edited.sh
+
 snapshots=tar.gz tar.bz tar.xz
-max-stats=quarter
+max-stats=year
 #root-readme=/usr/local/www/cgit/about.htm
 #root-readme=/usr/home/git/repos/about
 
-enable-index-owner=1
-
+readme=:README.org
+readme=:readme.org
 readme=:README.md
 readme=:readme.md
 readme=:README.mkd
@@ -46,6 +52,8 @@ readme=:README.txt
 readme=:readme.txt
 readme=:README
 readme=:readme
+readme=:INSTALL.org
+readme=:install.org
 readme=:INSTALL.md
 readme=:install.md
 readme=:INSTALL.mkd
@@ -61,6 +69,9 @@ readme=:install.txt
 readme=:INSTALL
 readme=:install
 
-#scan-path=/usr/local/git/jozan
-#scan-path=/usr/local/git/salad
-#include=/usr/local/etc/cgitrepos/jozan
+section=jozan
+scan-path=/usr/local/git/jozan
+section=salad
+scan-path=/usr/local/git/salad
+section=salad-joe
+scan-path=/usr/local/git/salad-joe
diff --git a/usr/local/etc/nginx/nginx.conf b/usr/local/etc/nginx/nginx.conf
index 4f307ab..904604c 100644
--- a/usr/local/etc/nginx/nginx.conf
+++ b/usr/local/etc/nginx/nginx.conf
@@ -71,22 +71,22 @@ http {
 		location ~ /\.ht {
 			deny all;
 		}
-		location @jozan {
-			include		fastcgi_params;
-			root /usr/local/www/gitjoe/jozan;
-			try_files $uri @jozan;
-			index cgit.cgi;
-			fastcgi_param   SCRIPT_FILENAME $document_root/cgit.cgi;
-			fastcgi_param   PATH_INFO       $uri;
-			fastcgi_param   QUERY_STRING    $args;
-			fastcgi_param   HTTP_HOST       $server_name;
-			fastcgi_param   CGIT_CONFIG	/usr/local/etc/cgitusers/jozan;
-			fastcgi_pass    unix:/var/run/fcgiwrap/fcgiwrap.sock;
-
-			gzip off;
-			#rewrite ^ https://$server_name$request_uri permanent;
-			rewrite ^/([^/]+/.*)?$ /cgit.cgi?url=$1 break;
-		}
+# 		location @jozan {
+# 			include		fastcgi_params;
+# 			root /usr/local/www/gitjoe/jozan;
+# 			try_files $uri @jozan;
+# 			index cgit.cgi;
+# 			fastcgi_param   SCRIPT_FILENAME $document_root/cgit.cgi;
+# 			fastcgi_param   PATH_INFO       $uri;
+# 			fastcgi_param   QUERY_STRING    $args;
+# 			fastcgi_param   HTTP_HOST       $server_name;
+# 			fastcgi_param   CGIT_CONFIG	/usr/local/etc/cgitusers/jozan;
+# 			fastcgi_pass    unix:/var/run/fcgiwrap/fcgiwrap.sock;
+# 
+# 			gzip off;
+# 			#rewrite ^ https://$server_name$request_uri permanent;
+# 			rewrite ^/([^/]+/.*)?$ /cgit.cgi?url=$1 break;
+# 		}
 		error_page  403 /403.html;
 		location = /403.html {
 			root /usr/local/www/gitjoe/err;
@@ -112,7 +112,7 @@ http {
 
 	server {
 		listen 80;
-		server_name cgit.gitjoe.xyz;
+		server_name repos.gitjoe.xyz;
 		root /usr/local/www/cgit;
 		try_files $uri @cgit;
 		index cgit.cgi;
diff --git a/usr/local/lib/cgit/filters/about-formatting-edited.sh b/usr/local/lib/cgit/filters/about-formatting-edited.sh
new file mode 100755
index 0000000..cf1140e
--- /dev/null
+++ b/usr/local/lib/cgit/filters/about-formatting-edited.sh
@@ -0,0 +1,28 @@
+#!/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.
+
+# Markdown support requires python and markdown-python.
+# RestructuredText support requires python and docutils.
+# Man page support requires groff.
+
+# 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 )
+
+cd "$(dirname $0)/html-converters/"
+case "$(printf '%s' "$1" | tr '[:upper:]' '[:lower:]')" in
+	*.org) exec ./org2html; ;;
+	*.markdown|*.mdown|*.md|*.mkd) exec ./md2html; ;;
+	*.rst) exec ./rst2html; ;;
+	*.[1-9]) exec ./man2html; ;;
+	*.htm|*.html) exec cat; ;;
+	*.txt|*) exec ./txt2html; ;;
+esac
diff --git a/usr/local/lib/cgit/filters/html-converters/org2html b/usr/local/lib/cgit/filters/html-converters/org2html
new file mode 100755
index 0000000..70c1e86
--- /dev/null
+++ b/usr/local/lib/cgit/filters/html-converters/org2html
@@ -0,0 +1,4 @@
+#!/bin/sh
+echo "<div style=\"font-family: monospace\">"
+pandoc | egrep -v '(<html>|<head>|<meta|<title>|</title>|</head>|<body>|</body>|</html>|<!DOCTYPE|"http://www.w3.org)'
+echo "</div>"
diff --git a/usr/local/lib/cgit/filters/syntax-highlighting-edited.sh b/usr/local/lib/cgit/filters/syntax-highlighting-edited.sh
new file mode 100755
index 0000000..3de95fa
--- /dev/null
+++ b/usr/local/lib/cgit/filters/syntax-highlighting-edited.sh
@@ -0,0 +1,121 @@
+#!/bin/sh
+# This script can be used to implement syntax highlighting in the cgit
+# tree-view by referring to this file with the source-filter or repo.source-
+# filter options in cgitrc.
+#
+# This script requires a shell supporting the ${var##pattern} syntax.
+# It is supported by at least dash and bash, however busybox environments
+# might have to use an external call to sed instead.
+#
+# Note: the highlight command (http://www.andre-simon.de/) uses css for syntax
+# highlighting, so you'll probably want something like the following included
+# in your css file:
+#
+# Style definition file generated by highlight 2.4.8, http://www.andre-simon.de/
+#
+# table.blob .num  { color:#2928ff; }
+# table.blob .esc  { color:#ff00ff; }
+# table.blob .str  { color:#ff0000; }
+# table.blob .dstr { color:#818100; }
+# table.blob .slc  { color:#838183; font-style:italic; }
+# table.blob .com  { color:#838183; font-style:italic; }
+# table.blob .dir  { color:#008200; }
+# table.blob .sym  { color:#000000; }
+# table.blob .kwa  { color:#000000; font-weight:bold; }
+# table.blob .kwb  { color:#830000; }
+# table.blob .kwc  { color:#000000; font-weight:bold; }
+# table.blob .kwd  { color:#010181; }
+#
+#
+# Style definition file generated by highlight 2.6.14, http://www.andre-simon.de/
+#
+# body.hl  { background-color:#ffffff; }
+# pre.hl   { color:#000000; background-color:#ffffff; font-size:10pt; font-family:'Courier New';}
+# .hl.num  { color:#2928ff; }
+# .hl.esc  { color:#ff00ff; }
+# .hl.str  { color:#ff0000; }
+# .hl.dstr { color:#818100; }
+# .hl.slc  { color:#838183; font-style:italic; }
+# .hl.com  { color:#838183; font-style:italic; }
+# .hl.dir  { color:#008200; }
+# .hl.sym  { color:#000000; }
+# .hl.line { color:#555555; }
+# .hl.mark { background-color:#ffffbb;}
+# .hl.kwa  { color:#000000; font-weight:bold; }
+# .hl.kwb  { color:#830000; }
+# .hl.kwc  { color:#000000; font-weight:bold; }
+# .hl.kwd  { color:#010181; }
+#
+#
+# Style definition file generated by highlight 3.8, http://www.andre-simon.de/
+#
+# body.hl { background-color:#e0eaee; }
+# pre.hl  { color:#000000; background-color:#e0eaee; font-size:10pt; font-family:'Courier New';}
+# .hl.num { color:#b07e00; }
+# .hl.esc { color:#ff00ff; }
+# .hl.str { color:#bf0303; }
+# .hl.pps { color:#818100; }
+# .hl.slc { color:#838183; font-style:italic; }
+# .hl.com { color:#838183; font-style:italic; }
+# .hl.ppc { color:#008200; }
+# .hl.opt { color:#000000; }
+# .hl.lin { color:#555555; }
+# .hl.kwa { color:#000000; font-weight:bold; }
+# .hl.kwb { color:#0057ae; }
+# .hl.kwc { color:#000000; font-weight:bold; }
+# .hl.kwd { color:#010181; }
+#
+#
+# Style definition file generated by highlight 3.13, http://www.andre-simon.de/
+#
+# body.hl { background-color:#e0eaee; }
+# pre.hl  { color:#000000; background-color:#e0eaee; font-size:10pt; font-family:'Courier New',monospace;}
+# .hl.num { color:#b07e00; }
+# .hl.esc { color:#ff00ff; }
+# .hl.str { color:#bf0303; }
+# .hl.pps { color:#818100; }
+# .hl.slc { color:#838183; font-style:italic; }
+# .hl.com { color:#838183; font-style:italic; }
+# .hl.ppc { color:#008200; }
+# .hl.opt { color:#000000; }
+# .hl.ipl { color:#0057ae; }
+# .hl.lin { color:#555555; }
+# .hl.kwa { color:#000000; font-weight:bold; }
+# .hl.kwb { color:#0057ae; }
+# .hl.kwc { color:#000000; font-weight:bold; }
+# .hl.kwd { color:#010181; }
+#
+#
+# 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 )
+#
+
+# store filename and extension in local vars
+BASENAME="$1"
+EXTENSION="${BASENAME##*.}"
+
+[ "${BASENAME}" = "${EXTENSION}" ] && EXTENSION=txt
+[ -z "${EXTENSION}" ] && EXTENSION=txt
+
+# map Makefile and Makefile.* to .mk
+[ "${BASENAME%%.*}" = "Makefile" ] && EXTENSION=mk
+
+# highlight versions 2 and 3 have different commandline options. Specifically,
+# the -X option that is used for version 2 is replaced by the -O xhtml option
+# for version 3.
+#
+# Version 2 can be found (for example) on EPEL 5, while version 3 can be
+# found (for example) on EPEL 6.
+#
+# This is for version 2
+#exec highlight --force -f -I -X -S "$EXTENSION" 2>/dev/null
+
+# This is for version 3
+exec highlight --force --inline-css -f -I -O xhtml -S "$EXTENSION" 2>/dev/null
-- 
cgit v1.2.3