var.siteroot = "/home/schmonz/sites/schmonz.com/www/" var.siteport = 30095 include "/etc/lighttpd/schmonz_hosted.conf" server.modules += ("mod_alias", "mod_cgi") alias.url += ("/cgi-bin" => siteroot + "cgi/") $HTTP["url"] =~ "^/cgi-bin/" { cgi.assign = ("" => "") } server.modules += ("mod_magnet") $HTTP["url"] =~ "^/tag/[A-Z].*" { # [Feeds + Non-feeds] force-lcase Textpattern categories magnet.attract-physical-path-to = ( siteroot + "conf/lowercase-textpattern-categories.lua" ) } server.modules += ("mod_redirect") url.redirect = ( # [Non-feeds] permalinks I deliberately moved "^/resume/amitai-schlair-resume.pdf$" => "/resume/amitai-schleier-resume.pdf", "^/2014/06/21/pkgsrc-design-goals.html$" => "/2014/06/21/pkgsrc-design-goals/slides/index.html", "^/ppw2014" => "/talk/2014-ppw", "^/2015/08/05/confessions-of-a-twitter-completist" => "/2015/08/05/confessions-of-a-twitter-completionist", "^/2015/06/24/agile-roots" => "/2015/06/24/agile-roots-2015-shoestring-agility-in-a-velcro-organization", "^/2015/06/03/almost-self-less" => "/2015/06/03/self-conf-2015-almost-self-less", "^/2014/09/03/as-a-coach" => "/coach", "^/2014/09/03/as-a-speaker" => "/speaker", "^/2007/08/02/life-imitates-art" => "/2007/08/02/life-integrates-art", "^/2005/06/10/lifes-a-beach" => "/2005/06/10/winging-it", # [Feeds] redirect basic Textpattern feeds to ikiwiki "^/rss$" => "/index.rss", "^/rss/$" => "/index.rss", "^/atom$" => "/index.atom", "^/atom/$" => "/index.atom", # [Feeds] work around tru_podcast fallout from Txp 4.0.5 upgrade # # XXX share with textpattern.old.schmonz.com "^/file_download/20060303-diatonic-exercise.mp3$" => "/file_download/1/20060303-diatonic-exercise.mp3", "^/file_download/20060303-diatonic-solution.mp3$" => "/file_download/2/20060303-diatonic-solution.mp3", "^/file_download/20070123-mary-had-a-little-lamb.mp3$" => "/file_download/3/20070123-mary-had-a-little-lamb.mp3", "^/file_download/20070129-invention.mp3$" => "/file_download/4/20070129-invention.mp3", "^/file_download/20070202-medtner-skazka-f-minor-26-3.mp3$" => "/file_download/5/20070202-medtner-skazka-f-minor-26-3.mp3", "^/file_download/20070209-medtner-skazka-f-minor-14-1.mp3$" => "/file_download/6/20070209-medtner-skazka-f-minor-14-1.mp3", "^/file_download/20070219-quartet.mp3$" => "/file_download/7/20070219-quartet.mp3", "^/file_download/20070326-schumoreske.mp3$" => "/file_download/9/20070326-schumoreske.mp3", "^/file_download/20070418-sonata-exposition.mp3$" => "/file_download/11/20070418-sonata-exposition.mp3", "^/file_download/20070508-voting-in-cr.mp3$" => "/file_download/12/20070508-voting-in-cr.mp3", "^/file_download/20070429-packaging-djbware.mp3$" => "/file_download/13/20070429-packaging-djbware.mp3", # [Feeds + Non-feeds] rewrite Textpattern categories to ikiwiki # /rss/?category=[Aa]ssignments => /tag/[Aa]ssignments/index.rss # /atom/?category=[Aa]ssignments => /tag/[Aa]ssignments/index.atom # /?c=[Aa]ssignments => /tag/[Aa]ssignments/ # /category/[Aa]ssignments => /tag/[Aa]ssignments/ "^/(rss|atom)/\?category=(.+)$" => "/tag/$2/index.$1", "^/category/(.+)" => "/tag/$1", "^/\?c=(.+)$" => "/tag/$1", # [Feeds] belatedly strip Textpattern 'limit' feed parameter # /tag/assignments&limit=100/index.rss => /tag/assignments/index.rss "^/tag/(.+)&limit=.+/(.+)" => "/tag/$1/$2", # [Search] remap Textpattern search queries to ikiwiki (with xapian) "^/\?q=(.+)$" => "/cgi-bin/ikiwiki?P=$1" )