asw/archive/packs/nginx/nginx-asw.conf
exe.dev user e47a9f4401 asw-v01: archive deferred content (packs, site, lab, legacy examples)
- 2.1: packs/ -> archive/packs/
- 2.2: site/ -> archive/site/
- 2.3: src/lab/ -> archive/lab/
- 2.4: examples/ -> archive/examples-legacy/ (SSI-based)
2026-06-07 10:39:21 +02:00

73 lines
2.3 KiB
Text

# ASW — Agentic Semantic Web site
# Self-contained server block. Proxied from trentuna at /asw/.
# Future: point asw.trentuna.com directly at port 8044.
server {
listen 8044;
listen [::]:8044;
server_name _;
root /home/exedev/projects/agentic-semantic-web;
index index.html;
ssi on;
error_page 403 /errors/403.html;
error_page 404 /errors/404.html;
error_page 500 /errors/500.html;
error_page 502 /errors/502.html;
error_page 503 /errors/503.html;
location /errors/ {
alias /home/exedev/projects/agentic-semantic-web/errors/;
internal;
}
# Block source/build files — not for public consumption
location ~ ^/(src|content|templates|node_modules|packs|dist)(/?$|/) {
return 404;
}
location ~ \.(sh|lua|lock)$ {
return 404;
}
# docs/ — directory listing with ASW styling injected into autoindex responses.
# Target patterns unique to nginx autoindex output:
# - '<head><title>Index of' — only in autoindex, never in hand-crafted HTML
# - '<body bgcolor="white">' — only in autoindex
# Hand-crafted HTML pages in /docs/ are NOT affected.
location /docs/ {
autoindex on;
try_files $uri $uri/ =404;
sub_filter '<head><title>Index of' '<head>
<link rel="stylesheet" href="/asw.css">
<meta name="color-scheme" content="dark">
<style>
body{padding:2rem;max-inline-size:64ch}
h1{font-size:1rem;font-weight:500;color:var(--text-2);margin-block-end:1.5rem}
a{color:var(--blue-3);text-decoration:none}a:hover{text-decoration:underline}
pre{font-family:var(--font-mono,"JetBrains Mono",monospace);line-height:1.8}
hr{border:none;border-block-start:1px solid var(--stone-7)}
</style>
<title>Index of';
sub_filter '<body bgcolor="white">' '<body>';
sub_filter_once on;
}
# lab/ — now has index.html; subdirs with autoindex still styled via sub_filter
location /lab/ {
try_files $uri $uri/ =404;
}
# Hugo demo — ASW-Hugo pack showcase (serves lab/hugo-demo/public/)
location /hugo-demo/ {
alias /home/exedev/projects/agentic-semantic-web/lab/hugo-demo/public/;
index index.html;
try_files $uri $uri/ =404;
}
location / {
try_files $uri $uri/ =404;
}
}