map $http_user_agent $format_suffix { "~*curl" ".txt"; "~*wget" ".txt"; default ""; } map $http_accept $final_suffix { "~*text/plain" ".txt"; default $format_suffix; } server { listen 80; server_name jayrup.me; root /usr/share/nginx/html; # Serve PDFs directly location ~* \.pdf$ { add_header Content-Type application/pdf; add_header Content-Disposition inline; try_files $uri =404; } # /cv should point to the PDF location = /cv { try_files /cv$final_suffix /cv/index$final_suffix /cv.pdf =404; } # /dissertation serves summary page or PDF fallback location = /dissertation { try_files /projects/dis/index$final_suffix /projects/dis/index.html /projects/dis$final_suffix /dissertation.pdf =404; } location / { try_files $uri$final_suffix $uri.html $uri/index$final_suffix $uri/index.html =404; } location ~* \.txt$ { add_header Content-Type text/plain; } }