From b710176fd23f4dfa3b3c2fa9b0c326b11dd5fd17 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Fri, 14 Aug 2026 03:12:00 +0300 Subject: fix(docs): apply llms patch during website builds --- website/scripts/patch-starlight-llms.mjs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 website/scripts/patch-starlight-llms.mjs (limited to 'website/scripts') diff --git a/website/scripts/patch-starlight-llms.mjs b/website/scripts/patch-starlight-llms.mjs new file mode 100644 index 00000000..16d3ba9b --- /dev/null +++ b/website/scripts/patch-starlight-llms.mjs @@ -0,0 +1,24 @@ +import { readFile, writeFile } from 'node:fs/promises'; +import { resolve } from 'node:path'; + +const path = resolve('node_modules/starlight-llms-txt/llms-full.txt.ts'); +const original = await readFile(path, 'utf8'); +const importLine = "import { starlightLllmsTxtContext } from 'virtual:starlight-llms-txt/context';"; +const excludeLine = '\t\texclude: starlightLllmsTxtContext.exclude,'; + +if (original.includes(importLine) && original.includes(excludeLine)) process.exit(0); + +const withImport = original.replace( + "import { generateLlmsTxt } from './generator';", + `${importLine}\nimport { generateLlmsTxt } from './generator';`, +); +const patched = withImport.replace( + '\t\tdescription: `This is the full developer documentation for ${getSiteTitle()}`,', + '\t\tdescription: `This is the full developer documentation for ${getSiteTitle()}`,\n' + excludeLine, +); + +if (patched === original || !patched.includes(importLine) || !patched.includes(excludeLine)) { + throw new Error('starlight-llms-txt changed: update the stable-only llms-full compatibility patch'); +} + +await writeFile(path, patched, 'utf8'); -- cgit v1.2.3