--- import { getCollection } from "astro:content"; import * as fs from "node:fs"; import * as path from "node:path"; import SinglePage from "../layouts/SinglePage.astro"; import Header from "../components/Header.astro"; import Hero from "../components/Hero.astro"; import AboutSection from "../components/AboutSection.astro"; import SpecSection from "../components/SpecSection.astro"; import FAQSection from "../components/FAQSection.astro"; import { parseSpecContent } from "../utils/parseSpecContent"; import { config } from "../config"; // Render the current/latest version const version = config.currentVersion; const specs = await getCollection("spec"); const spec = specs.find((s) => s.data.version === version); if (!spec) { throw new Error(`Spec version ${version} not found`); } // Read the markdown file const filePath = path.join(process.cwd(), "src/content/spec", `${version}.md`); const content = fs.readFileSync(filePath, "utf-8"); // Remove frontmatter const markdown = content.replace(/^---[\s\S]*?---\n/, ""); // Parse the content into sections (handles markdown -> HTML internally) const parsed = await parseSpecContent(markdown, version); ---