Skip to content

Replace placeholder with The Plural Stack site - #1

Open
jaconu wants to merge 344 commits into
mainfrom
plural-stack-site-content
Open

Replace placeholder with The Plural Stack site#1
jaconu wants to merge 344 commits into
mainfrom
plural-stack-site-content

Conversation

@jaconu

@jaconu jaconu commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

Replaces the placeholder (README.md/index.html) with the full Astro + Sanity site built for The Plural Stack.

What's here

  • Astro site with 8 pages, driven by a Sanity Studio CMS (studio/)
  • Design system: light/dark/Lemonade/Cyberpunk daisyUI themes, primary/secondary color-role treatment for buttons and cards
  • Interactive p5.js hero graphics (two variants — mouse-proximity-driven square grids), self-hosted Satoshi font
  • Content seed script (sanity-export/seed-content.js) for the Sanity dataset

Note: this branch's history is unrelated to main's (different source repo), so it includes a merge commit against main purely so GitHub could compute this diff — no placeholder content survives it (README.md/netlify.toml resolved in favor of this project's versions, the placeholder's index.html removed as superseded by the Astro build).

Before merging

  • Confirm Netlify build settings match this repo's structure (Astro build, studio/ as a separate deploy if the Studio should be hosted too)
  • Point SANITY_PROJECT_ID/SANITY_DATASET/SANITY_TOKEN env vars at the intended Sanity project
  • Review netlify.toml — confirm it's correct for this Astro build

🤖 Generated with Claude Code

TomasBankauskas and others added 30 commits October 9, 2024 19:57
…ty-build-fails-in-dev-server

added netlify.toml
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](moxystudio/node-cross-spawn@v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [rollup](https://github.com/rollup/rollup) from 3.29.4 to 3.29.5.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](rollup/rollup@v3.29.4...v3.29.5)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
…/studio/rollup-3.29.5

Bump rollup from 3.29.4 to 3.29.5 in /studio
Bumps [@sentry/browser](https://github.com/getsentry/sentry-javascript) and [@sentry/react](https://github.com/getsentry/sentry-javascript). These dependencies needed to be updated together.

Updates `@sentry/browser` from 8.32.0 to 8.40.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](getsentry/sentry-javascript@8.32.0...8.40.0)

Updates `@sentry/react` from 8.32.0 to 8.40.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](getsentry/sentry-javascript@8.32.0...8.40.0)

---
updated-dependencies:
- dependency-name: "@sentry/browser"
  dependency-type: indirect
- dependency-name: "@sentry/react"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
…/multi-2816dcbd4a

Bump @sentry/browser and @sentry/react
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…plates-to-stackbit-7

updated model, stackbit.config.ts, npm dependencies
renovate Bot and others added 29 commits April 27, 2026 05:45
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
configstore is pinned to 7.0.0, which is ESM-only. All three scripts did
`require('configstore')`, which under Node's require(esm) returns the module
namespace rather than the constructor, so every script died on startup with
"TypeError: Configstore is not a constructor" before doing any work.

Unwrap the default export at each call site.

Note this relies on require(esm), which needs Node 22.12+. On Node 20 these
scripts will fail with ERR_REQUIRE_ESM instead; a version-agnostic fix needs
dynamic import() and restructuring the module top level.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The stock template shipped hero/cards/cta/logos/testimonials, which could not
express several shapes the Plural Stack content needs:

- domainSection: eyebrow, body, examples, projects, domainLead person ref.
  Renders "no projects listed yet" / "to be announced" placeholders when empty.
- formSection + formField: models a form's fields (text/email/textarea/select/
  checkbox) without committing to a backend. isConnected defaults to false, so
  the form renders disabled with a notice and cannot silently swallow input.
- outro on cardsSection and heroSection: closing copy below the items or CTA.
  Several sections end with a summary line plus link, which had nowhere to go.
- cta on cardsSection: a section-level action after the card grid.
- eyebrow on cardsSection and ctaSection: the "Part 1 - Why Now" style label.
- subheading on heroSection: a semantic h2 page subtitle.
- footer: was a single `text` string; now navLinks, newsletter, socialLinks
  and text.

Also make Header.astro use `logo?.src`. It previously assumed a logo was always
present and would throw on an unset logo, which happens as soon as the stock
template image is cleared.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The `.markdown` class wraps every rendered markdown field in ten components but
was never defined anywhere, and no typography plugin was installed. Tailwind's
preflight strips list markers and heading sizes, so any markdown beyond a single
paragraph collapsed into undifferentiated text. Nothing surfaced this earlier
because every field in the stock content was one paragraph.

Styles are em-based and use currentColor so they work in any section theme, and
the blockquote rule avoids a left border so it also reads correctly inside the
centred sections.

Install @astrojs/sitemap, which fixes the dangling /sitemap-index.xml link that
Layout.astro has always emitted without the integration present. It needs an
absolute site URL: Netlify populates URL at build time, and SITE_URL can
override it once a custom domain exists.

Note this commit also carries a pre-existing uncommitted @sanity/client bump
(6.22.0 -> 6.29.1) that was already in the working tree.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Seeds all eight pages plus siteConfig header and footer from the "Website
Content and Page Tree" document, with the Paper page's structure and copy taken
from plural-stack.webflow.io.

Idempotent: deterministic document IDs written via createOrReplace, so re-running
overwrites rather than duplicating. The homepage reuses the stock "Home"
document's ID so it is replaced in place instead of colliding on slug "/".

Page tree: Paper and Assessment are nested under Projects and kept out of the
nav, reached from the Projects page instead. Who We Are became Our Pitch.

Deliberately not invented: the functional mailbox address, domain leads, domain
projects, and newsletter/social copy all render as visible placeholders rather
than as plausible-looking filler.

WARNING: this overwrites Studio edits. Once copy is being edited in the Studio,
fold those changes back in here or retire the script.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
studio/.gitignore has always listed /.sanity as "Temporary Sanity runtime,
generated by the CLI on every dev server start", but these two files were
committed upstream before that rule existed. gitignore does not apply to
already-tracked files, so every `sanity dev` run rewrote them and left them
showing as modified in git status.

Untrack them; the files stay on disk and the CLI keeps regenerating them.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Fix sanity.cli.ts projectId env var mismatch (SANITY_STUDIO_PROJECT_ID)
- Pin react/react-dom/styled-components to versions matching sanity peer deps
- Add npm overrides to dedupe react/react-dom across nested plugins
- Update site content, components, and styles

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Add Cyberpunk daisyUI theme alongside the existing Lemonade one;
  fix Lemonade's stock green primary color to the site's off-white
- Add Primary/Secondary color-role variants for cards, mirroring the
  existing button treatment
- Fix .btn-primary's hardcoded fill color and restyle the footer/nav
  divider to match
- Add two interactive p5 hero sketches (gridSketch "Squares",
  gridSketchMark "Mark"), ported from standalone gif.html/gif-2.html
  references into a full-bleed, transparent, theme-independent
  backdrop behind the hero text, selectable via the hero's `sketch`
  field. Square size reacts to mouse proximity, via two shared
  drivers in proximityDrivers.js: CTA-proximity (Squares) and a
  vertical-axis trigger centered on the hero (Mark)
- Add manual line-break support to hero headings (string -> text)
- Remove the unused Domain Lead / Projects fields from domainSection
- Move the "In good company" cards section from /contact-us/ to
  /get-involved/
- Tighten section vertical spacing site-wide; give Hero its own
  larger spacing override
- Self-host the Satoshi variable font under public/fonts/

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…anch against main

# Conflicts:
#	README.md
#	netlify.toml
@netlify

netlify Bot commented Aug 20, 2026

Copy link
Copy Markdown

Deploy Preview for pluralstack ready!

Name Link
🔨 Latest commit 1e771cb
🔍 Latest deploy log https://app.netlify.com/projects/pluralstack/deploys/6a875dfbc45696000822242a
😎 Deploy Preview https://deploy-preview-1--pluralstack.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

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.

2 participants