CSS was not being imported! Fixed: ✅ Added 'import ../styles/global.css' to BaseLayout.astro ✅ Rewrote CSS with plain CSS (not @apply which wasn't working) ✅ Cookie banner has inline styles as backup ✅ Font size: 16px base ✅ Solid colors: green-600 (#16a34a), gray-900 (#111827) ✅ Footer has policy links Build: 12 pages ✅
32 lines
783 B
JavaScript
32 lines
783 B
JavaScript
function isValidAstroData(obj) {
|
|
if (typeof obj === "object" && obj !== null && obj.hasOwnProperty("frontmatter")) {
|
|
const { frontmatter } = obj;
|
|
try {
|
|
JSON.stringify(frontmatter);
|
|
} catch {
|
|
return false;
|
|
}
|
|
return typeof frontmatter === "object" && frontmatter !== null;
|
|
}
|
|
return false;
|
|
}
|
|
class InvalidAstroDataError extends TypeError {
|
|
}
|
|
function safelyGetAstroData(vfileData) {
|
|
const { astro } = vfileData;
|
|
if (!astro || !isValidAstroData(astro)) {
|
|
return new InvalidAstroDataError();
|
|
}
|
|
return astro;
|
|
}
|
|
function setVfileFrontmatter(vfile, frontmatter) {
|
|
vfile.data ??= {};
|
|
vfile.data.astro ??= {};
|
|
vfile.data.astro.frontmatter = frontmatter;
|
|
}
|
|
export {
|
|
InvalidAstroDataError,
|
|
safelyGetAstroData,
|
|
setVfileFrontmatter
|
|
};
|