X-Git-Url: https://git.ladys.computer/x_status_git/blobdiff_plain/d9bcb184401cc07d6acc55a8419ce743bfa8289d..3b743898578b26b6a835c3e012eccccd6ea665f2:/Caddyfile diff --git a/Caddyfile b/Caddyfile index b4bcbff..95fed0e 100644 --- a/Caddyfile +++ b/Caddyfile @@ -9,18 +9,45 @@ status.site.example { path_regexp jsonld \.jsonld$ } + @atom { + path_regexp atom \.atom$ + } + @bare { not path_regexp /$ not path_regexp \.jsonld$ + not path_regexp \.atom$ } @empty { expression {re.matcher.suffix} == "" } + handle / { + rewrite * /index.html + header Link ;rel=meta;type="application/ld+json" + header Link ;rel=alternate;type="application/atom+xml" + } + + @iri { + path_regexp matcher ^/(?P[^/:]+:[^/]+)/?$ + } + + handle @iri { + handle @bare { + rewrite * /.lookup.xhtml + header Cache-Control max-age=0 + } + + handle @slash { + redir * /{re.matcher.iri} + } + } + handle /about { rewrite * /.about.html header Link ;rel=meta;type="application/ld+json" + header Link ;rel=alternate;type="application/atom+xml" } redir /about/ /about @@ -30,53 +57,50 @@ status.site.example { handle /statuses { rewrite * /.statuses.html header Link ;rel=meta;type="application/ld+json" + header Link ;rel=alternate;type="application/atom+xml" } - @statusroot { - path_regexp matcher ^/statuses/(?P.*) - not path_regexp ^/statuses/index\. - } - - handle @statusroot { - handle /statuses/ { - redir * /statuses - } - - handle { - redir * /{re.matcher.path} - } - } + redir /statuses/ /statuses rewrite /statuses.jsonld /statuses/index.jsonld + rewrite /statuses.atom /statuses/index.atom + @dated { - path_regexp matcher ^/(?P\d{4}-\d{2})(?P/[^/.]+)?(?:\..*|/)?$ + path_regexp matcher ^/statuses/(?P\d{4}-\d{2})(?P/[^/.]+)?(?:\..*|/)?$ + not path_regexp ^/statuses/index[/.]? } handle @dated { handle @empty { handle @bare { rewrite * /.topic.html - header Link ;rel=meta;type="application/ld+json" + header Link ;rel=meta;type="application/ld+json" + header Link ;rel=alternate;type="application/atom+xml" } handle @slash { - redir * /{re.matcher.ym} + redir * /statuses/{re.matcher.ym} } handle @jsonld { - rewrite * /{re.matcher.ym}/index.jsonld + rewrite * /statuses/{re.matcher.ym}/index.jsonld + } + + handle @atom { + rewrite * /statuses/{re.matcher.ym}/index.atom } } handle { handle @bare { rewrite * /.status.html - header Link ;rel=meta;type="application/ld+json" + header Link ;rel=meta;type="application/ld+json" + header Link ;rel=alternate;type="application/atom+xml" } handle @slash { - redir * /{re.matcher.ym}{re.matcher.suffix} + redir * /statuses/{re.matcher.ym}{re.matcher.suffix} } } } @@ -91,7 +115,7 @@ status.site.example { rewrite /topics.jsonld /topics/index.jsonld @topics { - path_regexp matcher ^/(?:topics/(?P[0-9A-Za-z_-]+))(?P/[^/.]+)?(?:\..*|/)?$ + path_regexp matcher ^/topics/(?P[0-9A-Za-z_-]+)(?P/[^/.]+)?(?:\..*|/)?$ not path_regexp ^/topics/index[/.]? } @@ -100,6 +124,7 @@ status.site.example { handle @bare { rewrite * /.topic.html header Link ;rel=meta;type="application/ld+json" + header Link ;rel=alternate;type="application/atom+xml" } handle @slash { @@ -109,12 +134,17 @@ status.site.example { handle @jsonld { rewrite * /topics/{re.matcher.topic}/index.jsonld } + + handle @atom { + rewrite * /topics/{re.matcher.topic}/index.atom + } } handle { handle @bare { rewrite * /.status.html header Link ;rel=meta;type="application/ld+json" + header Link ;rel=alternate;type="application/atom+xml" } handle @slash { @@ -123,7 +153,10 @@ status.site.example { } } - header Access-Control-Allow-Origin "*" + header { + Access-Control-Allow-Origin "*" + ?Cache-Control max-age=3600 + } file_server { index index.xml index.xhtml index.html index.rdf index.txt