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
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Contributing

This repo is the marketing site at [openpreflight.xyz](https://openpreflight.xyz)
one Astro page, a Tailwind theme, and a small set of generated brand assets.
This repo is the marketing site at [openpreflight.xyz](https://openpreflight.xyz):
one Astro page, a Tailwind theme, and a small set of generated brand assets.
Product docs live in [openpreflight/docs](https://github.com/openpreflight/docs);
the tool itself lives in
[openpreflight/openpreflight](https://github.com/openpreflight/openpreflight).
Expand All @@ -17,7 +17,7 @@ pnpm run check-links # required paths + internal hrefs + external allow-list

`check-links` runs against `dist/`, so build first. It fails on a missing
required asset or an external link outside the allow-list in
`scripts/check-links.mjs` — if you add an outbound domain, add it there too.
`scripts/check-links.mjs`. If you add an outbound domain, add it there too.

## Brand assets

Expand All @@ -40,7 +40,7 @@ of all three repos, so do not rename or remove those files.

## What we will not take

- New pages or sections without a reason to exist — the site is one page on purpose.
- New pages or sections without a reason to exist. The site is one page on purpose.
- Product claims that are not backed by the docs.

## Pull requests
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
/>
<img
src="https://openpreflight.xyz/banner-light.png"
alt="openpreflight A small CI provider for private repos. One Go binary, one SQLite file: register a GitHub App, enable your repos, and get one Check Run per commit."
alt="openpreflight. A small CI provider for private repos. One Go binary, one SQLite file: register a GitHub App, enable your repos, and get one Check Run per commit."
width="880"
/>
</picture>
Expand Down Expand Up @@ -40,10 +40,10 @@ npm run dev
- `src/pages/404.astro`: branded not-found
- `src/layouts/MarketingPage.astro`: header/footer chrome for inner pages; the
pages themselves compose full-bleed sections
- `src/lib/site.ts`: `siteSections` is the canonical site map — the header nav,
- `src/lib/site.ts`: `siteSections` is the canonical site map. The header nav,
the footer, and the 404 all render it, so a route cannot exist without being
reachable from every page
- `src/components/marketing/`: the subpage system `PageHero`, `Section`,
- `src/components/marketing/`: the subpage system: `PageHero`, `Section`,
`Card`/`Grid`, `Steps`, `MarkList`, `CodePanel`, `CheckRunPanel`, `Callout`,
`Faq`, `Prose`, `CtaLink`/`Actions`
- `src/components/blocks/`, `src/components/ui/`: Rivelle blocks and primitives
Expand All @@ -64,15 +64,15 @@ node scripts/gen-icons.mjs # favicons -> website/public/ and ../docs/public/
node scripts/gen-banner.mjs # banner-light.png + banner-dark.png
```

`gen-banner.mjs` renders the banner through headless Chrome — the fonts are the
`gen-banner.mjs` renders the banner through headless Chrome. The fonts are the
same `@fontsource` woff2 files the site loads, which `sharp` cannot rasterise on
its own. Set `CHROME_PATH` if Chrome is not at the macOS default location.

The banner is served from `https://openpreflight.xyz/banner-{light,dark}.png`
and embedded by the READMEs in
[openpreflight](https://github.com/openpreflight/openpreflight),
[docs](https://github.com/openpreflight/docs), and this repository. A change to
the tagline or the mark means regenerating it here and redeploying — the other
the tagline or the mark means regenerating it here and redeploying. The other
repos need no edit.

## Editing the copy
Expand All @@ -85,7 +85,7 @@ it into marketing voice.
## Deployment

Cloudflare Pages. Root directory is the repository root, build command
`pnpm run build`, output `dist`. This repository uses pnpm — there is a
`pnpm run build`, output `dist`. This repository uses pnpm. There is a
`pnpm-lock.yaml` and CI runs `pnpm install --frozen-lockfile`. Sitemap is
generated by `@astrojs/sitemap`.

Expand Down
2 changes: 1 addition & 1 deletion astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import sitemap from '@astrojs/sitemap';
import tailwindcss from '@tailwindcss/vite';

// Static marketing site for openpreflight. The reference documentation is a
// separate site (openpreflight/docs) at docs.openpreflight.xyz — keep the copy
// separate site (openpreflight/docs) at docs.openpreflight.xyz. Keep the copy
// here to positioning, and link out for anything a reader would need to follow.
export default defineConfig({
site: 'https://openpreflight.xyz',
Expand Down
4 changes: 2 additions & 2 deletions scripts/gen-banner.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { dirname, join } from 'node:path';
import { fileURLToPath } from 'node:url';
import sharp from 'sharp';

// README banner — brand atoms from design.md: forest accent, olive ground,
// README banner. Brand atoms from design.md: forest accent, olive ground,
// Inter display, JetBrains Mono for the Check Run panel (the hero artifact).
// Rendered through headless Chrome so the webfonts match the sites exactly;
// sharp/librsvg cannot load the woff2 files @fontsource ships.
Expand Down Expand Up @@ -55,7 +55,7 @@ const THEMES = {
};

// The mark: rounded square, runway-check, caret at the apex. Always on forest
// green with a white stroke — the mark does not invert between themes.
// green with a white stroke. The mark does not invert between themes.
const MARK = `
<svg width="72" height="72" viewBox="0 0 32 32" fill="none" aria-hidden="true">
<rect width="32" height="32" rx="7" fill="#2f6f4f"/>
Expand Down
Loading