Enhance configuration and layout: add environment variables, improve metadata, and update content section keys for consistency

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
mido
2026-05-04 16:51:18 -05:00
parent d78d5107e2
commit 6d1b567a37
9 changed files with 66 additions and 12 deletions

View File

@@ -1,11 +1,16 @@
// @ts-check
import { defineConfig } from 'astro/config';
import tailwindcss from '@tailwindcss/vite';
import { loadEnv } from 'vite';
import mdx from '@astrojs/mdx';
const env = loadEnv(process.env.NODE_ENV ?? 'development', process.cwd(), 'PUBLIC_');
// https://astro.build/config
export default defineConfig({
site: env.PUBLIC_SITE_URL,
vite: {
plugins: [tailwindcss()]
},

20
package-lock.json generated
View File

@@ -14,7 +14,8 @@
"tailwindcss": "^4.2.4"
},
"devDependencies": {
"@tailwindcss/typography": "^0.5.19"
"@tailwindcss/typography": "^0.5.19",
"@types/node": "^25.6.0"
},
"engines": {
"node": ">=22.12.0"
@@ -1982,6 +1983,16 @@
"@types/unist": "*"
}
},
"node_modules/@types/node": {
"version": "25.6.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz",
"integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==",
"devOptional": true,
"license": "MIT",
"dependencies": {
"undici-types": "~7.19.0"
}
},
"node_modules/@types/unist": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
@@ -5675,6 +5686,13 @@
"integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==",
"license": "MIT"
},
"node_modules/undici-types": {
"version": "7.19.2",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz",
"integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==",
"devOptional": true,
"license": "MIT"
},
"node_modules/unified": {
"version": "11.0.5",
"resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz",

View File

@@ -18,6 +18,7 @@
"tailwindcss": "^4.2.4"
},
"devDependencies": {
"@tailwindcss/typography": "^0.5.19"
"@tailwindcss/typography": "^0.5.19",
"@types/node": "^25.6.0"
}
}

View File

@@ -1,8 +1,8 @@
export const contentSections = {
avatarItems: {
"avatar-items": {
dir: "avatar-items",
},
inGameErrors: {
"in-game-errors": {
dir: "in-game-errors",
},
} as const;

View File

@@ -13,4 +13,4 @@ Use the pages below to check the current status of avatar item categories.
## Pages
<ContentTOC sectionName="avatarItems" />
<ContentTOC sectionName="avatar-items" />

View File

@@ -13,4 +13,4 @@ Choose the error code you are seeing to learn what it usually means and what to
## Error Pages
<ContentTOC sectionName="inGameErrors" />
<ContentTOC sectionName="in-game-errors" />

View File

@@ -3,10 +3,20 @@ import "../styles/global.css";
import Breadcrumbs from "../components/Breadcrumbs.astro";
import type { BreadcrumbItem } from "../lib/types/breadcrum";
const { title, breadcrumbs = [] } = Astro.props as {
const {
title,
description = "Find quick answers, setup guidance, and reference information for Radium.",
breadcrumbs = [],
} = Astro.props as {
title: string;
description?: string;
breadcrumbs?: BreadcrumbItem[];
};
const siteTitle = `Radium Help - ${title}`;
const baseUrl = Astro.site ?? Astro.url;
const pageUrl = new URL(Astro.url.pathname, baseUrl).href;
const imageUrl = new URL("/branding/banner.png", baseUrl).href;
---
<!doctype html>
@@ -14,7 +24,20 @@ const { title, breadcrumbs = [] } = Astro.props as {
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Radium Help - {title}</title>
<title>{siteTitle}</title>
<meta name="description" content={description} />
<meta property="og:type" content="website" />
<meta property="og:title" content={siteTitle} />
<meta property="og:description" content={description} />
<meta property="og:url" content={pageUrl} />
<meta property="og:image" content={imageUrl} />
<meta property="og:site_name" content="Radium Help" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content={siteTitle} />
<meta name="twitter:description" content={description} />
<meta name="twitter:image" content={imageUrl} />
</head>
<body class="site-shell min-h-screen sm:flex sm:items-center sm:justify-center">
<main class="flex min-h-screen w-full flex-col bg-surface p-4 text-foreground sm:min-h-200 sm:w-11/12 sm:rounded sm:p-5 sm:shadow md:w-3/4">

View File

@@ -49,7 +49,11 @@ if (entry.id !== "index") {
const { Content } = await render(entry);
---
<Layout title={entry.data.title} breadcrumbs={breadcrumbs}>
<Layout
title={entry.data.title}
description={entry.data.description}
breadcrumbs={breadcrumbs}
>
<div class="prose-radium">
<Content class="prose-radium" />
</div>

View File

@@ -1,7 +1,6 @@
---
import { getCollection } from "astro:content";
import Layout from "../layouts/Layout.astro";
import TOC from "../components/TOC.astro";
import { collectionNames } from "../config/content";
const breadcrumbs = [{ label: "Help" }];
@@ -24,7 +23,11 @@ const sections = await Promise.all(
);
---
<Layout title="Help Home" breadcrumbs={breadcrumbs}>
<Layout
title="Home"
description="Find quick answers, setup guidance, and reference information for Radium."
breadcrumbs={breadcrumbs}
>
<section class="prose-radium mb-6">
<h1>Welcome to Radium's Official Help Page!</h1>
<p>