Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions website/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ export default defineConfig({
changefreq: "weekly",
priority: 0.7,
lastmod: new Date(),
filter: (page) => !page.includes("/blog"),
}),
inline(),
],
Expand Down
2 changes: 2 additions & 0 deletions website/src/components/Footer.astro
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ const columns = [
{ href: `${base}docs/`, label: "Field guide" },
{ href: `${base}docs/installation/`, label: "Install" },
{ href: `${base}docs/server/`, label: "Architecture" },
{ href: `${base}docs/hooks/`, label: "Hooks & Capture" },
{ href: `${base}docs/finops/`, label: "FinOps" },
],
},
{
Expand Down
4 changes: 4 additions & 0 deletions website/src/layouts/DocsPage.astro
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@ const structuredData = [
headline: title,
description,
inLanguage: "en",
// Omit dateModified — using build date would claim every page was modified
// on every deploy, which Google penalizes as artificial freshness inflation.
// TODO: derive from git last-commit date per file when Astro supports it.
author: { "@type": "Organization", name: "Primer", url: siteOrigin },
isPartOf: { "@type": "WebSite", name: "Primer Documentation", url: `${siteOrigin}/docs/` },
mainEntityOfPage: { "@type": "WebPage", "@id": pageUrl },
publisher: {
Expand Down
2 changes: 1 addition & 1 deletion website/src/pages/docs/hooks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
layout: ../../layouts/DocsPage.astro
title: "Hook System"
section: "Architecture"
description: "How the SessionEnd hook captures data from AI coding tools."
description: "How SessionEnd and PreCompact hooks capture session data from AI coding tools for harness intelligence."
---
import Callout from '../../components/docs/Callout.astro';

Expand Down
22 changes: 22 additions & 0 deletions website/src/pages/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ const chapters = [
plate: "screenshots/readme-quality-dark.png",
caption: "Plate I. Quality clustered by harness pattern.",
layout: "right",
docLink: { href: `${base}docs/server/`, label: "Read: Server & Intelligence Model" },
},
{
num: "Chapter III",
Expand All @@ -31,6 +32,7 @@ const chapters = [
plate: "screenshots/readme-finops-dark.png",
caption: "Plate II. Spend grouped by harness pattern, not by model.",
layout: "left",
docLink: { href: `${base}docs/finops/`, label: "Read: FinOps & Cost Management" },
},
{
num: "Chapter IV",
Expand All @@ -44,6 +46,7 @@ const chapters = [
plate: "screenshots/readme-growth-dark.png",
caption: "Plate III. An effective pattern promoted into a standard.",
layout: "right",
docLink: { href: `${base}docs/hooks/`, label: "Read: Hooks & Capture" },
},
];

Expand Down Expand Up @@ -178,6 +181,9 @@ const structuredData = [
<ul class="chapter-bullets">
{chapter.bullets.map((b) => <li>{b}</li>)}
</ul>
{chapter.docLink && (
<a href={chapter.docLink.href} class="chapter-doc-link">{chapter.docLink.label} →</a>
)}
</div>
<figure class="chapter-plate">
<div class="chapter-plate-frame">
Expand Down Expand Up @@ -454,6 +460,22 @@ const structuredData = [
color: var(--color-accent);
}

.chapter-doc-link {
display: inline-block;
margin-top: 16px;
font-family: var(--font-body);
font-size: 13px;
color: var(--color-ink-muted);
text-decoration: none;
border-bottom: 1px solid var(--color-rule);
padding-bottom: 2px;
transition: color 0.2s, border-color 0.2s;
}
.chapter-doc-link:hover {
color: var(--color-accent);
border-color: var(--color-accent);
}

.chapter-plate { margin: 0; }
.chapter-plate-frame {
border: 1px solid var(--color-rule);
Expand Down
Loading