summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe <bousset.rudy@gmail.com>2022-04-29 19:55:01 +0000
committerJoe <bousset.rudy@gmail.com>2022-04-29 19:55:01 +0000
commit7a7626450ce0047728eff119553af9ceca413a98 (patch)
tree4b5bd99ccc6c4c429dc470b8d1a1b16bbb8607f9
parentgood progress, will finish tomorrow (diff)
downloadjoe-conf-7a7626450ce0047728eff119553af9ceca413a98.tar.gz
joe-conf-7a7626450ce0047728eff119553af9ceca413a98.tar.bz2
joe-conf-7a7626450ce0047728eff119553af9ceca413a98.tar.xz
joe-conf-7a7626450ce0047728eff119553af9ceca413a98.tar.zst
joe-conf-7a7626450ce0047728eff119553af9ceca413a98.zip
filters
-rw-r--r--usr/local/etc/cgitrc27
-rw-r--r--usr/local/etc/nginx/nginx.conf34
-rwxr-xr-xusr/local/lib/cgit/filters/about-formatting-edited.sh28
-rwxr-xr-xusr/local/lib/cgit/filters/html-converters/org2html4
-rwxr-xr-xusr/local/lib/cgit/filters/syntax-highlighting-edited.sh121
5 files changed, 189 insertions, 25 deletions
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