Added sitemap, with filtering of disabled pages, removal of content from disabled pages, robots.txt generation pointing to the sitemap, adjustment of the Navbar generation to ignore disabled entries, e2e check for all pages including a non-blank title, content for body mods page
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 2m44s
Build and Test - Staging / build_and_push (pull_request) Successful in 2m14s
Build and Test - Staging / deploy_staging (pull_request) Successful in 6s

This commit is contained in:
2025-11-09 21:50:49 -08:00
parent d0f5838cac
commit c3673b76b6
21 changed files with 228 additions and 109 deletions

View File

@@ -4,26 +4,33 @@ import '@styles/global.css'
import Navbar from '@components/Navbar.astro';
import Footer from '@components/Footer.astro';
import {pathToMetadata} from "@data/site-layout.ts";
const pageTitle = Astro.props.title ? `${Astro.props.title} - Corwin Perren` : "Corwin Perren";
const showTitle = Astro.props.showTitle ?? true;
const pageEnabled = pathToMetadata(Astro.url.pathname).enabled ?? true;
---
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<link rel="icon" href="/favicon-solid.png" type="image/png"/>
<link rel="sitemap" href="/sitemap-index.xml"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>{pageTitle}</title>
<title>{pageEnabled ? pageTitle : "Corwin Perren"}</title>
</head>
<body class="bg-black text-white">
<Navbar/>
<main class="mx-6 mt-6 mb-14">
{(Astro.props.title) && (
{(Astro.props.title && showTitle && pageEnabled) && (
<h1 class="font-extrabold md:text-3xl md:mb-6">{Astro.props.title}</h1>
)}
<slot/>
{pageEnabled && (
<slot/>
)}
</main>
<Footer/>
<script src="../scripts/main.ts"></script>
</body>
</html>
</html>

View File

@@ -3,7 +3,7 @@ import BaseLayout from './BaseLayout.astro';
const resume = Astro.props.resume;
---
<BaseLayout>
<BaseLayout title={Astro.props.title}>
<div class="h-dvh">
<iframe src={resume} class="mx-auto w-9/10 md:w-3/5 h-7/10 md:h-4/5"/>
</div>