fix: content audit — SEO, cross-links, draft filtering, styling

- Add sitemap.xml and robots.txt (such.software-site)
- Fix blog date on neroswap post (2025→2026)
- Filter draft posts from generateStaticParams and getPost
- Fix stale product list in website-relaunch blog post
- Fix Godot version (4.6→4)
- Add cross-links: product pages→blog posts, blog posts→product pages
- Add OG/Twitter metadata to blog [slug] pages
- Fix Bauhaus Echo privacy: hover color (emerald→blue), contact URL
- Fix Suchoice: card styling (p-6→glass-card), font-semibold→font-bold
- Fix products listing meta to include Suchoice
This commit is contained in:
jwinterm
2026-03-17 13:17:59 -04:00
parent 931f80abdf
commit d0a3e8c399
14 changed files with 76 additions and 11 deletions
+6
View File
@@ -47,6 +47,7 @@ export function getPost(slug: string): Post | null {
const raw = fs.readFileSync(filePath, "utf-8");
const { data, content } = matter(raw);
if (data.draft === true) return null;
const iso = data.date ?? "";
return {
slug,
@@ -65,5 +66,10 @@ export function getAllSlugs(): string[] {
return fs
.readdirSync(CONTENT_DIR)
.filter((f) => f.endsWith(".mdx"))
.filter((f) => {
const raw = fs.readFileSync(path.join(CONTENT_DIR, f), "utf-8");
const { data } = matter(raw);
return data.draft !== true;
})
.map((f) => f.replace(/\.mdx$/, ""));
}