summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon duSaint2022-11-24 09:17:51 -0800
committerJon duSaint2022-11-24 09:39:07 -0800
commit539d4e5f6830df03a14c1c281ee0fe7c4211a995 (patch)
tree4ad5be74907c6662b394c5b7067a8b09e31586d7

site configuration for cgit

Also includes instructions for setting git remote + cgit up.

-rw-r--r--cgit/Makefile32
-rw-r--r--cgit/asm48.lang297
-rwxr-xr-xcgit/cgit-about-filter.sh3
-rwxr-xr-xcgit/cgit-syntax-filter.sh13
-rw-r--r--cgit/cgitrc55
-rw-r--r--cgit/srpl.lang54
6 files changed, 454 insertions, 0 deletions
diff --git a/cgit/Makefile b/cgit/Makefile
new file mode 100644
index 0000000..bda6001
--- /dev/null
+++ b/cgit/Makefile
@@ -0,0 +1,32 @@
+# First do:
+# pkg_add git cgit lowdown highlight
+#
+# Create a user with:
+# shrike# userinfo git
+# login git
+# passwd *
+# uid 1004
+# groups 1004
+# change NEVER
+# class
+# gecos
+# dir /home/git
+# shell /usr/local/bin/git-shell
+
+# Create git repo:
+#
+# mkdir /var/www/src/<repo>
+# chown git /var/www/src /var/www/src/<repo>
+# doas -u git git init --bare --shared /var/www/src/<repo>
+# ## Add description to /var/www/src/<repo>/description
+#
+# See also:
+# ../etc/httpd.conf
+#
+all:
+install:
+ $(INSTALL) -m 0555 cgit-about-filter.sh /var/www/usr/local/bin/cgit-about-filter.sh
+ $(INSTALL) -m 0555 cgit-syntax-filter.sh /var/www/usr/local/bin/cgit-syntax-filter.sh
+ $(INSTALL) -m 0444 asm48.lang /var/www/usr/local/share/highlight/langDefs/asm48.lang
+ $(INSTALL) -m 0444 srpl.lang /var/www/usr/local/share/highlight/langDefs/srpl.lang
+ $(INSTALL) -m 0444 cgitrc /var/www/conf/cgitrc
diff --git a/cgit/asm48.lang b/cgit/asm48.lang
new file mode 100644
index 0000000..e9afa74
--- /dev/null
+++ b/cgit/asm48.lang
@@ -0,0 +1,297 @@
+
+Description="Saturn Assembler"
+
+Categories = {"assembler"}
+
+Digits=[[ (?:0x|0X|\$)[0-9a-fA-F]+|\d*[\.\_]?\d+(?:[eE][\-\+]\d+)?[bBhHlLuU]* ]]
+
+Keywords={
+ { Id=1, Regex=[[RTNSXM]], },
+ { Id=1, Regex=[[RTN]], },
+ { Id=1, Regex=[[RTNSC]], },
+ { Id=1, Regex=[[RTNCC]], },
+ { Id=1, Regex=[[SETHEX]], },
+ { Id=1, Regex=[[SETDEC]], },
+ { Id=1, Regex=[[RSTK=C]], },
+ { Id=1, Regex=[[C=RSTK]], },
+ { Id=1, Regex=[[CLRST]], },
+ { Id=1, Regex=[[C=ST]], },
+ { Id=1, Regex=[[ST=C]], },
+ { Id=1, Regex=[[CSTEX]], },
+ { Id=1, Regex=[[P=P\+1]], },
+ { Id=1, Regex=[[P=P-1]], },
+ { Id=1, Regex=[[P=]], },
+ { Id=1, Regex=[[RTI]], },
+ { Id=1, Regex=[[A=A&B]], },
+ { Id=1, Regex=[[B=B&C]], },
+ { Id=1, Regex=[[C=C&A]], },
+ { Id=1, Regex=[[D=D&C]], },
+ { Id=1, Regex=[[B=B&A]], },
+ { Id=1, Regex=[[C=C&B]], },
+ { Id=1, Regex=[[A=A&C]], },
+ { Id=1, Regex=[[C=C&D]], },
+ { Id=1, Regex=[[A=A!B]], },
+ { Id=1, Regex=[[B=B!C]], },
+ { Id=1, Regex=[[C=C!A]], },
+ { Id=1, Regex=[[D=D!C]], },
+ { Id=1, Regex=[[B=B!A]], },
+ { Id=1, Regex=[[C=C!B]], },
+ { Id=1, Regex=[[A=A!C]], },
+ { Id=1, Regex=[[C=C!D]], },
+ { Id=1, Regex=[[R0=A]], },
+ { Id=1, Regex=[[R1=A]], },
+ { Id=1, Regex=[[R2=A]], },
+ { Id=1, Regex=[[R3=A]], },
+ { Id=1, Regex=[[R4=A]], },
+ { Id=1, Regex=[[R0=C]], },
+ { Id=1, Regex=[[R1=C]], },
+ { Id=1, Regex=[[R2=C]], },
+ { Id=1, Regex=[[R3=C]], },
+ { Id=1, Regex=[[R4=C]], },
+ { Id=1, Regex=[[A=R0]], },
+ { Id=1, Regex=[[A=R1]], },
+ { Id=1, Regex=[[A=R2]], },
+ { Id=1, Regex=[[A=R3]], },
+ { Id=1, Regex=[[A=R4]], },
+ { Id=1, Regex=[[C=R0]], },
+ { Id=1, Regex=[[C=R1]], },
+ { Id=1, Regex=[[C=R2]], },
+ { Id=1, Regex=[[C=R3]], },
+ { Id=1, Regex=[[C=R4]], },
+ { Id=1, Regex=[[AR0EX]], },
+ { Id=1, Regex=[[AR1EX]], },
+ { Id=1, Regex=[[AR2EX]], },
+ { Id=1, Regex=[[AR3EX]], },
+ { Id=1, Regex=[[AR4EX]], },
+ { Id=1, Regex=[[CR0EX]], },
+ { Id=1, Regex=[[CR1EX]], },
+ { Id=1, Regex=[[CR2EX]], },
+ { Id=1, Regex=[[CR3EX]], },
+ { Id=1, Regex=[[CR4EX]], },
+ { Id=1, Regex=[[D0=A]], },
+ { Id=1, Regex=[[D1=A]], },
+ { Id=1, Regex=[[AD0EX]], },
+ { Id=1, Regex=[[AD1EX]], },
+ { Id=1, Regex=[[D0=C]], },
+ { Id=1, Regex=[[D1=C]], },
+ { Id=1, Regex=[[CD0EX]], },
+ { Id=1, Regex=[[CD1EX]], },
+ { Id=1, Regex=[[D0=AS]], },
+ { Id=1, Regex=[[D1=AS]], },
+ { Id=1, Regex=[[AD0XS]], },
+ { Id=1, Regex=[[AD1XS]], },
+ { Id=1, Regex=[[D0=CS]], },
+ { Id=1, Regex=[[D1=CS]], },
+ { Id=1, Regex=[[CD0XS]], },
+ { Id=1, Regex=[[CD1XS]], },
+ { Id=1, Regex=[[DAT0=A]], },
+ { Id=1, Regex=[[DAT1=A]], },
+ { Id=1, Regex=[[A=DAT0]], },
+ { Id=1, Regex=[[A=DAT1]], },
+ { Id=1, Regex=[[DAT0=C]], },
+ { Id=1, Regex=[[DAT1=C]], },
+ { Id=1, Regex=[[C=DAT0]], },
+ { Id=1, Regex=[[C=DAT1]], },
+ { Id=1, Regex=[[D0=D0\+]], },
+ { Id=1, Regex=[[D1=D1\+]], },
+ { Id=1, Regex=[[D0=D0-]], },
+ { Id=1, Regex=[[D0=\(2\)]], },
+ { Id=1, Regex=[[D0=HEX]], },
+ { Id=1, Regex=[[D0=\(4\)]], },
+ { Id=1, Regex=[[D0=HEX]], },
+ { Id=1, Regex=[[D0=\(5\)]], },
+ { Id=1, Regex=[[D0=HEX]], },
+ { Id=1, Regex=[[D1=D1-]], },
+ { Id=1, Regex=[[D1=\(2\)]], },
+ { Id=1, Regex=[[D1=HEX]], },
+ { Id=1, Regex=[[D1=\(4\)]], },
+ { Id=1, Regex=[[D1=HEX]], },
+ { Id=1, Regex=[[D1=\(5\)]], },
+ { Id=1, Regex=[[D1=HEX]], },
+ { Id=1, Regex=[[OUT=CS]], },
+ { Id=1, Regex=[[OUT=C]], },
+ { Id=1, Regex=[[A=IN]], },
+ { Id=1, Regex=[[C=IN]], },
+ { Id=1, Regex=[[UNCNFG]], },
+ { Id=1, Regex=[[CONFIG]], },
+ { Id=1, Regex=[[C=ID]], },
+ { Id=1, Regex=[[SHUTDN]], },
+ { Id=1, Regex=[[INTON]], },
+ { Id=1, Regex=[[PC=\(A\)]], },
+ { Id=1, Regex=[[INTOFF]], },
+ { Id=1, Regex=[[C\+P\+1]], },
+ { Id=1, Regex=[[RESET]], },
+ { Id=1, Regex=[[BUSCC]], },
+ { Id=1, Regex=[[C=P]], },
+ { Id=1, Regex=[[P=C]], },
+ { Id=1, Regex=[[SREQ\?]], },
+ { Id=1, Regex=[[CPEX]], },
+ { Id=1, Regex=[[ASLC]], },
+ { Id=1, Regex=[[BSLC]], },
+ { Id=1, Regex=[[CSLC]], },
+ { Id=1, Regex=[[DSLC]], },
+ { Id=1, Regex=[[ASRC]], },
+ { Id=1, Regex=[[BSRC]], },
+ { Id=1, Regex=[[CSRC]], },
+ { Id=1, Regex=[[DSRC]], },
+ { Id=1, Regex=[[ASRB]], },
+ { Id=1, Regex=[[BSRB]], },
+ { Id=1, Regex=[[CSRB]], },
+ { Id=1, Regex=[[DSRB]], },
+ { Id=1, Regex=[[XM=0]], },
+ { Id=1, Regex=[[SB=0]], },
+ { Id=1, Regex=[[SR=0]], },
+ { Id=1, Regex=[[MP=0]], },
+ { Id=1, Regex=[[CLRHST]], },
+ { Id=1, Regex=[[\?XM=0]], },
+ { Id=1, Regex=[[\?SB=0]], },
+ { Id=1, Regex=[[\?SR=0]], },
+ { Id=1, Regex=[[\?MP=0]], },
+ { Id=1, Regex=[[ST=0]], },
+ { Id=1, Regex=[[ST=1]], },
+ { Id=1, Regex=[[\?ST=0]], },
+ { Id=1, Regex=[[\?ST=1]], },
+ { Id=1, Regex=[[\?P#]], },
+ { Id=1, Regex=[[\?P=]], },
+ { Id=1, Regex=[[GOLONG]], },
+ { Id=1, Regex=[[GOVLNG]], },
+ { Id=1, Regex=[[GOTO]], },
+ { Id=1, Regex=[[GOSUB]], },
+ { Id=1, Regex=[[GOSUBL]], },
+ { Id=1, Regex=[[GOSBVL]], },
+ { Id=1, Regex=[[RTNYES]], },
+ { Id=1, Regex=[[GOYES]], },
+ { Id=1, Regex=[[\?A=B]], },
+ { Id=1, Regex=[[\?B=A]], },
+ { Id=1, Regex=[[\?B=C]], },
+ { Id=1, Regex=[[\?C=B]], },
+ { Id=1, Regex=[[\?A=C]], },
+ { Id=1, Regex=[[\?C=A]], },
+ { Id=1, Regex=[[\?C=D]], },
+ { Id=1, Regex=[[\?D=C]], },
+ { Id=1, Regex=[[\?A#B]], },
+ { Id=1, Regex=[[\?B#A]], },
+ { Id=1, Regex=[[\?B#C]], },
+ { Id=1, Regex=[[\?C#B]], },
+ { Id=1, Regex=[[\?A#C]], },
+ { Id=1, Regex=[[\?C#A]], },
+ { Id=1, Regex=[[\?C#D]], },
+ { Id=1, Regex=[[\?D#C]], },
+ { Id=1, Regex=[[\?A=0]], },
+ { Id=1, Regex=[[\?B=0]], },
+ { Id=1, Regex=[[\?C=0]], },
+ { Id=1, Regex=[[\?D=0]], },
+ { Id=1, Regex=[[\?A#0]], },
+ { Id=1, Regex=[[\?B#0]], },
+ { Id=1, Regex=[[\?C#0]], },
+ { Id=1, Regex=[[\?D#0]], },
+ { Id=1, Regex=[[\?A>B]], },
+ { Id=1, Regex=[[\?B>C]], },
+ { Id=1, Regex=[[\?C>A]], },
+ { Id=1, Regex=[[\?D>C]], },
+ { Id=1, Regex=[[\?A<B]], },
+ { Id=1, Regex=[[\?B<C]], },
+ { Id=1, Regex=[[\?C<A]], },
+ { Id=1, Regex=[[\?D<C]], },
+ { Id=1, Regex=[[\?A>=B]], },
+ { Id=1, Regex=[[\?B>=C]], },
+ { Id=1, Regex=[[\?C>=A]], },
+ { Id=1, Regex=[[\?D>=C]], },
+ { Id=1, Regex=[[\?A<=B]], },
+ { Id=1, Regex=[[\?B<=C]], },
+ { Id=1, Regex=[[\?C<=A]], },
+ { Id=1, Regex=[[\?D<=C]], },
+ { Id=1, Regex=[[A=A\+B]], },
+ { Id=1, Regex=[[B=B\+C]], },
+ { Id=1, Regex=[[C=C\+A]], },
+ { Id=1, Regex=[[D=D\+C]], },
+ { Id=1, Regex=[[A=A\+A]], },
+ { Id=1, Regex=[[B=B\+B]], },
+ { Id=1, Regex=[[C=C\+C]], },
+ { Id=1, Regex=[[D=D\+D]], },
+ { Id=1, Regex=[[B=B\+A]], },
+ { Id=1, Regex=[[C=C\+B]], },
+ { Id=1, Regex=[[A=A\+C]], },
+ { Id=1, Regex=[[C=C\+D]], },
+ { Id=1, Regex=[[A=A-1]], },
+ { Id=1, Regex=[[B=B-1]], },
+ { Id=1, Regex=[[C=C-1]], },
+ { Id=1, Regex=[[D=D-1]], },
+ { Id=1, Regex=[[A=0]], },
+ { Id=1, Regex=[[B=0]], },
+ { Id=1, Regex=[[C=0]], },
+ { Id=1, Regex=[[D=0]], },
+ { Id=1, Regex=[[A=B]], },
+ { Id=1, Regex=[[B=C]], },
+ { Id=1, Regex=[[C=A]], },
+ { Id=1, Regex=[[D=C]], },
+ { Id=1, Regex=[[B=A]], },
+ { Id=1, Regex=[[C=B]], },
+ { Id=1, Regex=[[A=C]], },
+ { Id=1, Regex=[[C=D]], },
+ { Id=1, Regex=[[ABEX]], },
+ { Id=1, Regex=[[BCEX]], },
+ { Id=1, Regex=[[ACEX]], },
+ { Id=1, Regex=[[CDEX]], },
+ { Id=1, Regex=[[A=A\+B]], },
+ { Id=1, Regex=[[B=B\+C]], },
+ { Id=1, Regex=[[C=C\+A]], },
+ { Id=1, Regex=[[D=D\+C]], },
+ { Id=1, Regex=[[A=A\+1]], },
+ { Id=1, Regex=[[B=B\+1]], },
+ { Id=1, Regex=[[C=C\+1]], },
+ { Id=1, Regex=[[D=D\+1]], },
+ { Id=1, Regex=[[B=B-A]], },
+ { Id=1, Regex=[[C=C-B]], },
+ { Id=1, Regex=[[A=A-C]], },
+ { Id=1, Regex=[[C=C-D]], },
+ { Id=1, Regex=[[A=B-A]], },
+ { Id=1, Regex=[[B=C-B]], },
+ { Id=1, Regex=[[C=A-C]], },
+ { Id=1, Regex=[[D=C-D]], },
+ { Id=1, Regex=[[ASL]], },
+ { Id=1, Regex=[[BSL]], },
+ { Id=1, Regex=[[CSL]], },
+ { Id=1, Regex=[[DSL]], },
+ { Id=1, Regex=[[ASR]], },
+ { Id=1, Regex=[[BSR]], },
+ { Id=1, Regex=[[CSR]], },
+ { Id=1, Regex=[[DSR]], },
+ { Id=1, Regex=[[A=-A]], },
+ { Id=1, Regex=[[B=-B]], },
+ { Id=1, Regex=[[C=-C]], },
+ { Id=1, Regex=[[D=-D]], },
+ { Id=1, Regex=[[A=-A-1]], },
+ { Id=1, Regex=[[B=-B-1]], },
+ { Id=1, Regex=[[C=-C-1]], },
+ { Id=1, Regex=[[D=-D-1]], },
+ { Id=1, Regex=[[BSS]], },
+ { Id=1, Regex=[[CON]], },
+ { Id=1, Regex=[[REL]], },
+ { Id=1, Regex=[[NIBASC]], },
+ { Id=1, Regex=[[NIBASC]], },
+ { Id=1, Regex=[[NIBHEX]], },
+ { Id=1, Regex=[[L[AC]\(5\)]], },
+ { Id=1, Regex=[[GON?C]], },
+ { Id=2, List={
+ "A", "B", "C", "D", "D0", "D1", "P", "PC", "R0", "R1", "R2", "R3", "R4",
+ "R5", "IN", "OUT", "ST", "HST",
+ }
+ },
+ { Id=3, List={
+ "P", "WP", "XS", "X", "S", "M", "B", "W",
+ }
+ },
+}
+
+-- Strings={
+-- Delimiter=[["|']],
+-- }
+
+IgnoreCase=false
+
+Comments={
+ { Block=false, Delimiter= { [[\*]] } }
+}
+
+Operators=[[=\(\)]]
diff --git a/cgit/cgit-about-filter.sh b/cgit/cgit-about-filter.sh
new file mode 100755
index 0000000..b82d20a
--- /dev/null
+++ b/cgit/cgit-about-filter.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec lowdown
diff --git a/cgit/cgit-syntax-filter.sh b/cgit/cgit-syntax-filter.sh
new file mode 100755
index 0000000..b4c4ee2
--- /dev/null
+++ b/cgit/cgit-syntax-filter.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# 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
+
+exec highlight --force --inline-css -f -I -O xhtml -S "$EXTENSION" 2>/dev/null
diff --git a/cgit/cgitrc b/cgit/cgitrc
new file mode 100644
index 0000000..846d9cb
--- /dev/null
+++ b/cgit/cgitrc
@@ -0,0 +1,55 @@
+clone-url=git://src.rockgeeks.net:/src/$CGIT_REPO_URL
+
+# /var/www/cgit/cgit.css
+css=/cgit.css
+# /var/www/cgit/favicon.png
+favicon=/cgit.favicon.png
+
+enable-blame=1
+enable-commit-graph=1
+enable-follow-links=1
+enable-git-config=1
+#enable-index-owner=0
+enable-http-clone=0
+enable-http-serving=1
+enable-index-links=1
+
+local-time=1
+noplainemail=1
+
+footer=/cgit/cgit.footer
+logo-link=/
+
+# set top-left logo image
+# logo=...
+
+# main page "about" text
+root-title=Rockgeeks.net git repository
+root-desc=Various pieces of software of varying utility
+#root-readme=/src/about.html
+
+# Syntax highlighter for "README"
+about-filter=/usr/local/bin/cgit-about-filter.sh
+
+# Syntax highlighter (cat <file> | source-filter <filename> | output)
+source-filter=/usr/local/bin/cgit-syntax-filter.sh
+
+# Format commit text (use markdown)
+commit-filter=/usr/local/bin/cgit-about-filter.sh
+
+mimetype.gif=image/gif
+mimetype.html=text/html
+mimetype.jpg=image/jpeg
+mimetype.jpeg=image/jpeg
+mimetype.pdf=application/pdf
+mimetype.png=image/png
+mimetype.svg=image/svg+xml
+
+readme=:README
+readme=:README.txt
+readme=:README.md
+readme=:README.html
+
+remove-suffix=1
+
+scan-path=/src
diff --git a/cgit/srpl.lang b/cgit/srpl.lang
new file mode 100644
index 0000000..feb73d2
--- /dev/null
+++ b/cgit/srpl.lang
@@ -0,0 +1,54 @@
+-- System RPL Language definition by Jon duSaint
+
+Description="System RPL"
+
+Categories = {"source"}
+
+-- Digits = [=[ (# ?[0-9A-F])|(%%?[01])|(C%%?[01])|((%%? )?[0-9]+(\.[0-9]+)?(E[0-9]+))|(HXS [0-9] [0-9A-F]+) ]=]
+
+-- Digits = [=[ \<(# [0-9A-F]+)|([0-9A-F]+)\> ]=]
+
+
+
+Keywords={
+ {
+ Id=1,
+ List={
+ "CODE", "ENDCODE",
+ "ASSEMBLE", "RPL",
+ "BEGIN", "WHILE", "REPEAT", "UNTIL", "LOOP",
+ "TRUE", "FALSE",
+ "IT", "ITE", "case",
+ "PTR", "NIBB", "HEX", "NULLLAM", "LAM",
+ "NULLNAME",
+ "DEFINE", "EXTERNAL", "INCLUDE", "TITLE", "STITLE", "xROMID", "xTITLE", "xCONFIG", "LABEL", "sNAME",
+ }
+ },
+}
+
+
+-- {
+-- Id=1,
+-- Regex=[[ARRY\xe2\x86\x92]],
+-- },
+--
+
+Strings={
+ Delimiter=[["]],
+}
+
+
+Comments = {
+ { Block=true,
+ Nested=false,
+ Delimiter = { [[\(]], [[\)]] }
+ }
+}
+
+NestedSections = {
+ { Lang="asm48", Delimiter= { [[CODE|ASSEMBLE]], [[^(ENDCODE|RPL)]] } },
+}
+
+IgnoreCase=false
+
+Operators=[[::|;|'|@]]