Use forge.mikegerwitz.com (Forgejo) instance for /projects
This removes the cgit configuration and added redirects. I'll check the 404 log and determine if I should add others in the future, if it's worth the effort.master
parent
5bc0034d52
commit
3912fc56dd
|
@ -1,6 +1,5 @@
|
|||
*.html
|
||||
!/src/about/resume.html
|
||||
!src/cgit/head.html
|
||||
*.meta
|
||||
*.mk
|
||||
/post/list
|
||||
|
@ -8,7 +7,6 @@
|
|||
rss.xml
|
||||
/inline.css
|
||||
/www-root
|
||||
/cgit-root
|
||||
/papers/*.pdf
|
||||
/papers/*.dvi
|
||||
|
||||
|
|
11
Makefile
11
Makefile
|
@ -35,7 +35,6 @@ phtml := $(postsrc:.md=.html)
|
|||
pmk := $(pmeta:.meta=.mk)
|
||||
|
||||
www-root = www-root
|
||||
cgit-root = cgit-root
|
||||
|
||||
# articles in TeX
|
||||
texticles = $(wildcard papers/*/)
|
||||
|
@ -65,7 +64,7 @@ RSS_N=10
|
|||
export WWW_URL
|
||||
|
||||
|
||||
.PHONY: default clean webroot cgitroot
|
||||
.PHONY: default clean webroot
|
||||
|
||||
default: webroot
|
||||
|
||||
|
@ -144,11 +143,5 @@ papers/%.pdf: papers/%/abstract.tex
|
|||
docs/papers/.list: thoughts articles
|
||||
echo "$(articles) $(texticles)" | tr ' ' '\n' | tools/doclist >$@
|
||||
|
||||
|
||||
cgitroot: $(cgit-root)/head.html $(cgit-root)/header.html $(cgit-root)/footer.html \
|
||||
$(cgit-root)/cgitrc
|
||||
$(cgit-root)/%: src/cgit/%
|
||||
install -Dma+r $< $@
|
||||
|
||||
clean:
|
||||
rm -rf $(www-root) $(pmeta) $(phtml) $(pmk) $(cgit-root)
|
||||
rm -rf $(www-root) $(pmeta) $(phtml) $(pmk)
|
||||
|
|
|
@ -3,8 +3,6 @@
|
|||
# This file has accumulated a lot of cruft over the years, a lot of which is
|
||||
# probably no longer necessary. Most of the redirections handle transitions
|
||||
# form older version of the site.
|
||||
#
|
||||
# This site uses cgit at /projects, but is otherwise a static website.
|
||||
##
|
||||
|
||||
$HTTP["scheme"] == "https" {
|
||||
|
@ -30,31 +28,26 @@ $HTTP["scheme"] == "https" {
|
|||
"^/docs/(.*).html" => "/papers/$1",
|
||||
"^/talks/sapsf/?$" => "/talks/sapsf.pdf",
|
||||
"^/talks/ethics-void/?$" => "/talks/ethics-void.pdf",
|
||||
"^/projects/$" => "/projects",
|
||||
# cgit => forgejo
|
||||
"^/projects/?$" => "//forge.mikegerwitz.com/",
|
||||
"^/projects/(easejs(/.*)?)$" => "//forge.mikegerwitz.com/GNU/$1",
|
||||
"^/projects/((tame|liza|liza-proguic|lvspec)(/.*)?)$" => "//forge.mikegerwitz.com/employer/$1",
|
||||
"^/projects/(.+)$" => "//forge.mikegerwitz.com/mikegerwitz/$1",
|
||||
)
|
||||
|
||||
url.rewrite-once = (
|
||||
"^/\.well-known/.*" => "$0",
|
||||
"^/[0-9]{4}/[0-9]{2}/.*[A-Z].*$" => "/redirect-map.php?path=$0",
|
||||
"^/projects/static/.*" => "$0",
|
||||
"^/projects$" => "/cgit.cgi",
|
||||
"^/projects/([^?/]+(/[^?]*)?)?(?:\?(.*))?$" => "/cgit.cgi?url=$1&$3",
|
||||
"^/rss/?" => "/rss.xml",
|
||||
"^/.+\.[a-zA-Z]+$" => "$0",
|
||||
"^/docs/.*?$" => "$0",
|
||||
"^/hoxsl/.*?$" => "$0",
|
||||
"^/talks/sapsf/?$" => "$0",
|
||||
"^/talks/ethics-void/?$" => "$0",
|
||||
"^/projects/?.*$" => "$0",
|
||||
"^/(.+?)/?$" => "/$1.html",
|
||||
)
|
||||
|
||||
alias.url = (
|
||||
"/cgit.cgi" => "/usr/lib/cgit/cgit.cgi",
|
||||
"/projects/static/" => "/usr/share/cgit/",
|
||||
)
|
||||
cgi.assign = (
|
||||
"/usr/lib/cgit/cgit.cgi" => "",
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
cgit Configuration
|
||||
==================
|
||||
These files are used by cgit at /projects.
|
||||
|
189
src/cgit/cgitrc
189
src/cgit/cgitrc
|
@ -1,189 +0,0 @@
|
|||
#
|
||||
# cgit config
|
||||
# see cgitrc(5) for details
|
||||
|
||||
root-title=Projects
|
||||
root-desc=Free Software projects, configurations, and playthings
|
||||
#root-readme=/var/gitrepos/README.html
|
||||
|
||||
logo-link=https://mikegerwitz.com/
|
||||
virtual-root=/projects/
|
||||
|
||||
enable-http-clone=1
|
||||
clone-url=https://mikegerwitz.com/projects/$CGIT_REPO_URL
|
||||
snapshots=tar.gz tar.bz2 zip
|
||||
|
||||
enable-index-owner=0
|
||||
enable-index-links=1
|
||||
enable-commit-graph=1
|
||||
enable-log-filecount=1
|
||||
enable-log-linecount=1
|
||||
|
||||
repository-sort=name
|
||||
branch-sort=age
|
||||
max-stats=quarter
|
||||
|
||||
head-include=/var/gitrepos/head.html
|
||||
header=/var/gitrepos/header.html
|
||||
footer=/var/gitrepos/footer.html
|
||||
css=/projects/static/cgit.css
|
||||
logo=
|
||||
|
||||
source-filter=/usr/lib/cgit/filters/syntax-highlighting.py
|
||||
about-filter=/usr/lib/cgit/filters/about-formatting.sh
|
||||
|
||||
readme=:README.md
|
||||
readme=:README
|
||||
|
||||
section-sort=0
|
||||
|
||||
section=libs / frameworks
|
||||
|
||||
repo.url=easejs
|
||||
repo.name=GNU ease.js
|
||||
repo.path=/var/gitrepos/easejs.git
|
||||
repo.desc=Classical object-oriented framework for JavaScript
|
||||
#repo.logo=/images/heckert-gnu.png
|
||||
|
||||
repo.url=liza
|
||||
repo.path=/var/gitrepos/liza.git
|
||||
repo.desc=Data collection, validation, and processing framework for JavaScript [employer project]
|
||||
|
||||
repo.url=hoxsl
|
||||
repo.path=/var/gitrepos/hoxsl.git
|
||||
repo.desc=Higher-order logic for XSLT 2.0
|
||||
|
||||
repo.url=shspec
|
||||
repo.path=/var/gitrepos/shspec.git
|
||||
repo.desc=BDD framework for shell
|
||||
|
||||
|
||||
section=languages / compilers
|
||||
|
||||
repo.url=tame
|
||||
repo.name=TAME
|
||||
repo.path=/var/gitrepos/tame.git
|
||||
repo.desc=The Algebraic Metalanguage [employer project]
|
||||
|
||||
repo.url=liza-proguic
|
||||
repo.path=/var/gitrepos/liza-proguic.git
|
||||
repo.desc=Declarative DSL for Liza programs [employer project]
|
||||
|
||||
repo.url=literate-xsl
|
||||
repo.path=/var/gitrepos/literate-xsl.git
|
||||
repo.desc=Literate documentation weaver for XSLT 2.0
|
||||
|
||||
repo.url=ulambda
|
||||
repo.path=/var/gitrepos/ulambda.git
|
||||
repo.desc=[STALLED] Self-hosting Scheme compiling to JavaScript (very incomplete proof-of-concept)
|
||||
|
||||
|
||||
section=misc
|
||||
|
||||
repo.url=night
|
||||
repo.path=/var/gitrepos/night.git
|
||||
repo.desc=Nighttime hacks: playful creativity as a form of relaxation
|
||||
|
||||
repo.url=git-shortmaps
|
||||
repo.path=/var/gitrepos/git-shortmaps.git
|
||||
repo.desc=Simple one--three-character bash aliases for Git with tab completion
|
||||
|
||||
repo.url=dotfiles
|
||||
repo.path=/var/gitrepos/dotfiles.git
|
||||
repo.desc=Personal system configuration and miscellaneous scripts
|
||||
|
||||
repo.url=promscripts
|
||||
repo.path=/var/gitrepos/promscripts.git
|
||||
repo.desc=Scripts for generating Prometheus metrics
|
||||
|
||||
|
||||
section=talks
|
||||
|
||||
repo.url=afsi
|
||||
repo.name=afsi
|
||||
repo.path=/var/gitrepos/afsi.git
|
||||
repo.desc=Adopting Free Software Ideals (LibrePlanet 2021)
|
||||
|
||||
repo.url=sapsf
|
||||
repo.name=SAPSF
|
||||
repo.path=/var/gitrepos/sapsf.git
|
||||
repo.desc=The Surreptitious Assault on Privacy, Security, and Freedom (LibrePlanet 2017)
|
||||
|
||||
repo.url=cs4m
|
||||
repo.name=cs4m
|
||||
repo.path=/var/gitrepos/cs4m.git
|
||||
repo.desc=Computational Symbiosis: Methods That Meld Mind and Machine (LibrePlanet 2019)
|
||||
|
||||
repo.url=ethics-void
|
||||
repo.name=The Ethics Void
|
||||
repo.path=/var/gitrepos/ethics-void.git
|
||||
repo.desc=The Ethics Void (LibrePlanet 2018)
|
||||
|
||||
repo.url=online-freedom
|
||||
repo.name=Restore Online Freedom!
|
||||
repo.path=/var/gitrepos/online-freedom.git
|
||||
repo.desc=Restore Online Freedom! (LibrePlanet 2016)
|
||||
|
||||
|
||||
section=papers
|
||||
|
||||
repo.url=coope
|
||||
repo.name=COOPE
|
||||
repo.path=/var/gitrepos/coope.git
|
||||
repo.desc=Classical Object-Oriented Programming with ECMAScript (2012)
|
||||
|
||||
repo.url=cptt
|
||||
repo.name=cptt
|
||||
repo.path=/var/gitrepos/cptt.git
|
||||
repo.desc=Discussion on Compilers: Principles, Techniques, and Tools (2013)
|
||||
|
||||
|
||||
section=websites
|
||||
|
||||
repo.url=repo2html
|
||||
repo.path=/var/gitrepos/repo2html.git
|
||||
repo.desc=Repository-agnostic HTML generator (used to generate mikegerwitz.com)
|
||||
|
||||
repo.url=thoughts
|
||||
repo.path=/var/gitrepos/thoughts.git
|
||||
repo.desc=Thoughts and Ramblings (mikegerwitz.com)
|
||||
|
||||
|
||||
|
||||
section=on-hold
|
||||
|
||||
repo.url=guile-mime
|
||||
repo.path=/var/gitrepos/guile-mime.git
|
||||
repo.desc=MIME library and globs2 parser for Guile
|
||||
|
||||
repo.url=lasertank-js
|
||||
repo.path=/var/gitrepos/lasertank-js.git
|
||||
repo.desc=Clone of the classic 1990s game LaserTank
|
||||
|
||||
repo.url=pkgsh
|
||||
repo.path=/var/gitrepos/pkgsh.git
|
||||
repo.desc=Library to aid in the factoring of large programs written in shell
|
||||
|
||||
|
||||
section=archive
|
||||
|
||||
repo.url=epmanners
|
||||
repo.path=/var/gitrepos/epmanners.git
|
||||
repo.desc=Teach LaTeX some manners to respect \everypar
|
||||
|
||||
repo.url=gsgp
|
||||
repo.path=/var/gitrepos/gsgp.git
|
||||
repo.desc=GNU Screen Gaming Platform
|
||||
|
||||
repo.url=jstonic
|
||||
repo.path=/var/gitrepos/jstonic.git
|
||||
repo.desc=Miscellaneous library built upon GNU ease.js
|
||||
|
||||
repo.url=rectest
|
||||
repo.path=/var/gitrepos/rectest.git
|
||||
repo.desc=Browser-based recollection test
|
||||
|
||||
repo.url=lvspec
|
||||
repo.path=/var/gitrepos/lvspec.git
|
||||
repo.desc=LaTeX specification library for LoVullo Associates with a focus on Liza/TAME [employer project]
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Extracts relevant portion of footer for cgit
|
||||
#
|
||||
# Copyright (C) 2019 Mike Gerwitz
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
##
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
main()
|
||||
{
|
||||
awk 'NR==1,/<\/footer>/{ print }' < src/footer.tpl.htm
|
||||
}
|
||||
|
||||
main "$@"
|
|
@ -1,2 +0,0 @@
|
|||
<link rel="stylesheet" type="text/css" href="/style.css" />
|
||||
<meta name="viewport" content="initial-scale=1.0" />
|
|
@ -1,27 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Extracts relevant portion of header for cgit
|
||||
#
|
||||
# Copyright (C) 2019 Mike Gerwitz
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
##
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
main()
|
||||
{
|
||||
awk '/<header>/,/<main>/{ print }' < <( src/mkheader projects )
|
||||
}
|
||||
|
||||
main "$@"
|
|
@ -22,7 +22,7 @@
|
|||
<li><a href="/about">About</a></li>
|
||||
<li><a href="/posts">Posts</a></li>
|
||||
<li><a href="/talks">Talks</a></li>
|
||||
<li><a href="/projects">Projects</a></li>
|
||||
<li><a href="//forge.mikegerwitz.com/">Projects</a></li>
|
||||
<li><a href="/papers">Papers</a></li>
|
||||
<li><a href="//pleroma.mikegerwitz.com/users/mikegerwitz" title="My Pleroma Instance">Social</a></li>
|
||||
</ul>
|
||||
|
|
69
style.css
69
style.css
|
@ -786,75 +786,6 @@ footer .site-nav > nav > ul > li a {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* cgit customization
|
||||
**/
|
||||
div#cgit {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
}
|
||||
div#cgit div.content {
|
||||
padding: 2em 0em; /* remove left/right margin */
|
||||
}
|
||||
|
||||
/* repo name and desc, above tabs */
|
||||
div#cgit table#header td.main {
|
||||
font-size: 1.7rem; /* h1 font size (see above) */
|
||||
}
|
||||
div#cgit table#header td.sub {
|
||||
border-top: 0px;
|
||||
}
|
||||
|
||||
div#cgit #header {
|
||||
margin: inherit; /* undo previous conflicting style */
|
||||
}
|
||||
|
||||
/* reduce tab page separator height */
|
||||
div#cgit table.tabs {
|
||||
border-bottom-width: 1px;
|
||||
}
|
||||
div#cgit table.tabs td a {
|
||||
padding: 0.25ex 0.75em 0ex;
|
||||
}
|
||||
div#cgit table.tabs td a.active {
|
||||
background-color: inherit;
|
||||
border-bottom: 3px solid #ccc;
|
||||
}
|
||||
|
||||
div#cgit div.content {
|
||||
border-bottom: inherit; /* we have our own footer */
|
||||
}
|
||||
|
||||
/* we have limited width, so wrap and compensate */
|
||||
div#cgit table.list.nowrap td {
|
||||
white-space: inherit;
|
||||
text-align: left;
|
||||
}
|
||||
div#cgit table.list.nowrap td.sublevel-repo,
|
||||
div#cgit table.list.nowrap td .age-months {
|
||||
white-space: nowrap;
|
||||
}
|
||||
div#cgit table.list.nowrap tr {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
div#cgit table.list tr:not(.nohover) td {
|
||||
padding-top: 0.5ex;
|
||||
padding-bottom: 0.5ex;
|
||||
}
|
||||
|
||||
/* getting creative...separate sections */
|
||||
div#cgit table.list tr:not(.nohover) + tr.nohover td {
|
||||
padding-top: 1ex;
|
||||
}
|
||||
|
||||
/* reduce headings relative to surrounding page */
|
||||
div#cgit h1 { font-size: 1.4em; }
|
||||
div#cgit h2 { font-size: 1.2em; }
|
||||
div#cgit h3 { font-size: 1.1em; }
|
||||
div#cgit h4 { font-size: 1.0em; }
|
||||
|
||||
|
||||
/*** https://github.com/jgm/highlighting-kate/blob/master/css/hk-tango.css ***/
|
||||
/* GNU GPLv2 */
|
||||
/* Loosely based on pygment's tango colors */
|
||||
|
|
Loading…
Reference in New Issue