- 2.1: packs/ -> archive/packs/ - 2.2: site/ -> archive/site/ - 2.3: src/lab/ -> archive/lab/ - 2.4: examples/ -> archive/examples-legacy/ (SSI-based)
73 lines
2.3 KiB
Text
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;
|
|
}
|
|
}
|