mirror of
https://github.com/Screenly/Anthias.git
synced 2026-07-30 09:15:51 -04:00
* feat(website): generate llms.txt and llms-full.txt Add a post-build generator that produces llms.txt (a curated index) and llms-full.txt (the full text of every page) for the marketing site, following the llmstxt.org convention and served from the site root. The generator extracts clean Markdown from the rendered public/ HTML rather than the Markdown/data sources, so it captures the marketing copy that lives in Hugo layouts (home, features, get-started) and never drifts from what visitors actually see. Wired into `bun run build` and the deploy-website workflow. Also fixes four pre-existing `sort $map` calls in the /api templates: in Hugo, sorting a map collapses it to a slice, so the keys were replaced by numeric indices — API paths, HTTP status codes, request body content-types, and schema field names all rendered as 0, 1, 2… on the live page. Hugo already ranges maps in sorted-key order, so dropping `sort` fixes it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(website): escape backslashes before pipes in llms table cells CodeQL js/incomplete-sanitization: the Markdown table-cell escaping replaced "|" but not "\", so a literal backslash in a cell could combine with the pipe escape. Escape backslashes first. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(website): collapse mixed-content whitespace and harden llms entrypoint Address Copilot review: - serializeMixed() now collapses text-node whitespace the same way inline() does, so HTML source indentation/newlines can't leak into list items and other mixed-content blocks. - main() gets a .catch that sets a non-zero exit code, so build/CI failures (missing public/, read/write/parse errors) are deterministic. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
23 lines
1009 B
JSON
23 lines
1009 B
JSON
{
|
|
"name": "website",
|
|
"private": true,
|
|
"scripts": {
|
|
"fonts:install": "bun run scripts/install-fonts.ts",
|
|
"icons:install": "bun run scripts/install-icons.ts",
|
|
"screenshots:fetch": "bun run scripts/fetch-screenshots.ts",
|
|
"assets:install": "bun run fonts:install && bun run icons:install",
|
|
"css:build": "bun run assets:install && tailwindcss -i src/main.css -o assets/styles/style.css",
|
|
"css:watch": "bun run assets:install && tailwindcss -i src/main.css -o assets/styles/style.css --watch",
|
|
"dev": "bash -c 'bun run css:watch & css=$!; hugo server & hugo=$!; trap \"kill $css $hugo 2>/dev/null\" EXIT INT TERM; wait -n; exit $?'",
|
|
"llms:generate": "bun run scripts/generate-llms.ts",
|
|
"build": "bun run css:build && hugo && bun run llms:generate"
|
|
},
|
|
"devDependencies": {
|
|
"@fontsource/plus-jakarta-sans": "^5.2.8",
|
|
"@fortawesome/fontawesome-free": "^7.2.0",
|
|
"@tailwindcss/cli": "^4.2.4",
|
|
"@types/bun": "^1.3.14",
|
|
"node-html-parser": "^9.0.0"
|
|
}
|
|
}
|