Add downloadable book PDF

This commit is contained in:
adilallo
2026-05-22 12:33:46 -06:00
parent 99f535f821
commit 23f528caec
5 changed files with 9 additions and 3 deletions
+2 -1
View File
@@ -1,4 +1,5 @@
import messages from "../../../messages/en/index"; import messages from "../../../messages/en/index";
import { getAssetPath, governanceBookletPath } from "../../../lib/assetUtils";
import { getTranslation } from "../../../lib/i18n/getTranslation"; import { getTranslation } from "../../../lib/i18n/getTranslation";
import AboutHeader from "../../components/type/AboutHeader"; import AboutHeader from "../../components/type/AboutHeader";
import type { AboutHeaderSegment } from "../../components/type/AboutHeader"; import type { AboutHeaderSegment } from "../../components/type/AboutHeader";
@@ -55,7 +56,7 @@ export default function AboutPage() {
title={page.book.title} title={page.book.title}
description={page.book.description} description={page.book.description}
buttonText={page.book.buttonText} buttonText={page.book.buttonText}
buttonHref={page.book.buttonHref} buttonHref={getAssetPath(governanceBookletPath())}
imageAlt={page.book.imageAlt} imageAlt={page.book.imageAlt}
/> />
<FaqAccordion title={page.faq.title} items={faqItems} /> <FaqAccordion title={page.faq.title} items={faqItems} />
+1
View File
@@ -48,6 +48,7 @@ stage. Raster → SVG conversion is tracked in
| `marketing/section-number-*.svg` (×3) | SectionNumber | **Done** — SVG | | `marketing/section-number-*.svg` (×3) | SectionNumber | **Done** — SVG |
| `marketing/avatar-*.svg` (×3) | Avatar / ASSETS | **Done** — SVG | | `marketing/avatar-*.svg` (×3) | Avatar / ASSETS | **Done** — SVG |
| `marketing/hero-image.png` | HeroBanner | **Design review** — likely keep raster | | `marketing/hero-image.png` | HeroBanner | **Design review** — likely keep raster |
| `marketing/governance-booklet.pdf` | About / Book | **Done** — PDF (`governanceBookletPath()`) |
| `logos/gitlab.svg` | Footer / social | **Done** — SVG | | `logos/gitlab.svg` | Footer / social | **Done** — SVG |
## Related docs ## Related docs
+5
View File
@@ -97,6 +97,11 @@ export function sectionNumberPath(n: 1 | 2 | 3): string {
return `assets/marketing/section-number-${n}.svg`; return `assets/marketing/section-number-${n}.svg`;
} }
/** Downloadable governance booklet PDF (About / Sections / Book). */
export function governanceBookletPath(): string {
return "assets/marketing/governance-booklet.pdf";
}
/** Home feature grid panel art in `public/assets/marketing/`. */ /** Home feature grid panel art in `public/assets/marketing/`. */
export type FeaturePanelKey = "support" | "exercises" | "guidance" | "tools"; export type FeaturePanelKey = "support" | "exercises" | "guidance" | "tools";
+1 -2
View File
@@ -1,5 +1,5 @@
{ {
"_comment": "About page content. book.buttonHref is \"#\" as a stub until the book download endpoint or asset URL is wired.", "_comment": "About page content. Book download href is wired in app/(marketing)/about/page.tsx via governanceBookletPath().",
"aboutHeader": { "aboutHeader": {
"segments": [ "segments": [
{ "type": "word", "text": "CommunityRule" }, { "type": "word", "text": "CommunityRule" },
@@ -73,7 +73,6 @@
"title": "Get the Community Rules Book", "title": "Get the Community Rules Book",
"description": "Community Rules is a simple tool to help make great communities even better and healthier. It includes nine templates for organizational structures that communities can choose from, combine, or react against.", "description": "Community Rules is a simple tool to help make great communities even better and healthier. It includes nine templates for organizational structures that communities can choose from, combine, or react against.",
"buttonText": "Download Book", "buttonText": "Download Book",
"buttonHref": "#",
"imageAlt": "Structure Before Crisis book cover" "imageAlt": "Structure Before Crisis book cover"
}, },
"faq": { "faq": {
Binary file not shown.