Skip to content

Landing site: Astro marketing page for Reader.md#21

Merged
jnahian merged 19 commits into
mainfrom
landing-site
Jul 9, 2026
Merged

Landing site: Astro marketing page for Reader.md#21
jnahian merged 19 commits into
mainfrom
landing-site

Conversation

@jnahian

@jnahian jnahian commented Jul 9, 2026

Copy link
Copy Markdown
Owner

Summary

Adds a static marketing site in site/ (Astro 7 + Tailwind CSS v4), ready for Vercel/Netlify with root directory site:

  • Landing page — hero with an animated markdown-glyph/dot-grid background (pure CSS, prefers-reduced-motion respected), a pure-CSS mock of the app window, 9-card features grid with Lucide icons, install section (Homebrew + DMG), keyboard-shortcuts section (v1.6.0 bindings), and a contribute section.
  • Doc pages/changelog, /faq, /shortcuts rendered at build time from the app's bundled docs (Sources/ReaderMd/Resources/docs/) via a prebuild copy script that fails the build loudly if a source is missing.
  • Theme — flat Apple-style design, zero gradients, system font stack. Light/dark/system toggle in the header (localStorage-persisted, no-FOUC inline script, storage-failure guarded); system mode follows prefers-color-scheme.
  • Footprint — no client JS beyond the two inline theme-toggle scripts, no webfonts, all-relative assets, 404 page included.

Design spec: docs/superpowers/specs/2026-07-10-landing-page-design.md · Plan: docs/superpowers/plans/2026-07-10-landing-site.md

Verification

  • Clean npm run build emits all 5 pages; zero gradients in source and built output; only the two inline theme scripts ship.
  • Toggle cycle/persistence/system-fallback exercised in a real browser; full-page light+dark screenshots reviewed at desktop and 375px (no horizontal overflow).
  • Every task passed an independent spec+quality review; final whole-branch review approved after fixes.

Deploy notes

Vercel/Netlify: root directory site, Astro preset. On Vercel keep "Include files outside the root directory" enabled (prebuild reads ../Sources/ReaderMd/Resources/docs/). Follow-up once a domain exists: set site in astro.config.mjs and absolute-ify og:image/og:url.

🤖 Generated with Claude Code

jnahian and others added 19 commits July 10, 2026 01:19
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Add @lucide/astro and swap the emoji in Features.astro (9 cards) and
Contribute.astro (3 cards) for inline-SVG Lucide icons rendered at
build time. No client JS added.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Mirrors the macOS app's system -> light -> dark cycle. No-FOUC
inline script sets document.documentElement.dataset.theme from
localStorage before paint; global.css lets an explicit data-theme
override prefers-color-scheme. Button renders three Lucide icons
(SunMoon/Sun/Moon), CSS shows exactly one based on the theme
attribute; a small inline script at the end of body wires the click
cycle and updates aria-label/title.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Carries the hero's decorative language into the rest of the page:
Features and Shortcuts (bg-bg-alt bands) get the same static SVG
dot-grid pattern at low opacity; Contribute gets four static
low-opacity mono glyphs tucked into the corners, clear of the cards.
No animation outside the hero — texture only.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jnahian jnahian merged commit 2cef1f6 into main Jul 9, 2026
1 check passed
@jnahian jnahian deleted the landing-site branch July 9, 2026 21:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant