diff --git a/web/build.mjs b/web/build.mjs
index 13e9e30..0205c31 100644
--- a/web/build.mjs
+++ b/web/build.mjs
@@ -12,6 +12,7 @@ const CONTENT = path.resolve(__dir, "../docs/content");
const DIST = path.resolve(__dir, "dist");
const ASSETS = path.resolve(__dir, "assets");
const GH = "https://github.com/MDA2AV/Http11Probe";
+const SITE = "https://www.http-probe.com";
const md = new MarkdownIt({
html: true, linkify: true, breaks: false,
@@ -278,6 +279,12 @@ function buildRfcmap(pages){
return map;
}
+// ---------- sitemap ----------
+function buildSitemap(urls){
+ const body = urls.map(u=>` ${esc(SITE+u)}`).join("\n");
+ return `\n\n${body}\n\n`;
+}
+
// ---------- run ----------
function main(){
if(exists(DIST)) fs.rmSync(DIST,{recursive:true});
@@ -330,6 +337,11 @@ function main(){
// GitHub Pages custom domain (keeps www.http-probe.com pointed at this deploy)
fs.writeFileSync(path.join(DIST,"CNAME"), "www.http-probe.com\n");
+ // sitemap + robots
+ const urls = ["/", "/entropy.html", ...pages.map(pg=>pg.url)];
+ fs.writeFileSync(path.join(DIST,"sitemap.xml"), buildSitemap(urls));
+ fs.writeFileSync(path.join(DIST,"robots.txt"), `User-agent: *\nAllow: /\n\nSitemap: ${SITE}/sitemap.xml\n`);
+
console.log(`Built ${pages.length} pages + landing → dist/`);
console.log(` glossary test links: ${Object.keys(slugmap).length} · search entries: ${idx.length} · data.js: ${src?"copied":"STUB"}`);
}