Skip to content

Import new website #322

Open
2color wants to merge 105 commits into
mainfrom
import-new-website
Open

Import new website #322
2color wants to merge 105 commits into
mainfrom
import-new-website

Conversation

@2color

@2color 2color commented Jul 5, 2026

Copy link
Copy Markdown
Member

new ipfs website for 2026

2color added 30 commits May 6, 2026 20:56
- replace static dot pattern with deterministic mesh of jittered nodes
  and nearest-neighbor edges so the hero conveys "content addressing"
  visually rather than as decoration
- mask the mesh near the headline anchor to keep copy legible while
  preserving density at the edges
- seed the PRNG and render at build time to avoid client-side cost
  and layout shift across builds
- replace the placeholder logomark with the official IPFS symbol;
  add a mono variant so the footer can render it on the dark
  background without recoloring the full-color version
- default Nav to the color logomark by dropping the override
- add @fontsource/commit-mono and point --font-mono at it so all
  code, CIDs, eyebrow labels, and terminal-style content render in
  a neutral, readable monospace
- reserve Departure Mono via a new --font-display-mono token and
  .mono-display class; its single-weight pixel face was being
  artificially bolded everywhere it appeared
- switch IPFS wordmarks (Nav, Footer), hero tagline highlight, and
  the two $ install CTAs to .mono-display so Departure stays a
  display accent rather than the default mono
- extend the mono selector to pre/kbd/samp so future code blocks
  inherit the workhorse face automatically
- introduce Community.astro with two-row photo ribbon
- pull from 12 of 20 community photos for variety
- make rows horizontally swipeable on mobile with snap
- wire section into index between constellation and get started

Why: surface the public/open nature of the project and give
visitors a tangible sense of the community before the CTA.
- remove standalone Community section and fold its photo ribbon
  into the navy Get Started block so the page ends on one CTA
- expand CTA grid with Newsletter and YouTube cards; switch to
  responsive auto-fit layout to handle the extra cards
- swap em-dash asides for periods/commas across copy to match
  the house style
- replace community-26.jpg with community-19.jpg in the assets
- split out Open science with ORCESTRA and GainForest so the
  research story has its own home instead of riding inside
  Resilient web publishing and Open social
- replace the GainForest entry in Open social with atproto and
  Seed Hypermedia, so the social section shows the protocol the
  framing already calls out plus a hypermedia-document example
- update the section lede from four jobs to five to match the
  new category count
- Drop the generic Astro minimal-template boilerplate that no
  longer reflects what this repo actually is
- Describe the site as the IPFS marketing site and document the
  real src/ layout (components, data, layouts, pages, styles)
- Note the Node >=22.12.0 engine requirement so contributors
  don't hit version mismatches
- introduce ThreePillars section breaking IPFS into addressing,
  discovery, and transfer; clarifies the technical decomposition
  beyond the higher-level Foundations commitments
- add Tools section with job-to-be-done filter; surfaces Kubo,
  Helia, iroh-blobs, Omnipin, ipfs-deploy-action, and gateways so
  visitors can find tooling by what they're trying to do
- replace synthetic Helia snippets in WorksEverywhere with
  patterns adapted from ipfs-examples/helia-101 and link back to
  each source file, so demos match real, runnable examples
- list Matadisco under Discovery so atproto-based dataset
  discovery shows up alongside DHT and indexer-based routing
- point radicle-artifact at its Radicle repo node URL instead of
  the project landing page so visitors land on the source
- add hrefs to Nav, Footer, and use-case story cards that were rendered as dead anchors
- give Constellation's active-node label a real URL (skip placeholder)
- add section ids (#tools, #community, #usecases) so internal nav anchors resolve
- store full URLs alongside display strings in stories data so cards link to source case studies

Without these, the primary navigation and most case-study cards did nothing on click.
- replace the Stargate card with the HIN (Vereign) Swiss healthcare messaging case — a stronger fit for the "resilient publishing" framing, with concrete scale (700k messages/month) and a clear no-central-database story
- Make each community CTA a single clickable card with hover affordance
- Drop the redundant arrow+URL line and secondary link list that made
  card heights uneven
- Split the dual-link Chat card into separate Discord (Matrix hidden
  for now so the row fits five tiles)
- Point YouTube at the actual @ipfsbot channel
- Render community ribbon photos in colour; grayscale read as somber
  for a "by the community" section
- Remove eyebrow labels on Foundations, ThreePillars, Tools, UseCases,
  and GetStarted: the titles carry the section identity and the eyebrows
  added visual noise without new information
- Recolor "a Better Web" from teal to yellow; the teal accent vanished
  against the teal/navy hero gradient, so the headline lost its anchor
- Drop the underline and trailing period; the colour shift alone is
  enough emphasis and the period read as a hard stop on the tagline
- Remove install CTA from top nav; install path lives in docs and
  was crowding the bar alongside the github link
- Drop placeholder CID from footer bottom bar so the line stops
  reading like unfinished copy
- Add Bluesky link to footer Community column to surface the
  ipfs.tech profile alongside GitHub and Discuss
- Reword use-cases lede to emphasise broad applicability of
  content addressing instead of the narrow "five jobs" framing
- Point atproto case study link at the data-model spec section
  on CID formats, which is the actual evidence for the claim
- Add SocialProof section after hero: muted brand logo strip plus a
  prominent testimonials grid, surfacing proof high on the page
- Consolidate use-case quotes into that band so testimonials read as
  one prominent block instead of being buried in story cards
- Drop the "Works everywhere" tab; the first section now states two
  commitments, with a new transport fan-out diagram and RASL emphasis
- Move the runtime code examples into the three pillars so each job
  (addressing, discovery, transfer) shows its call
- Make testimonials a single horizontal row with prev/next arrows and
  tighter spacing, so the section takes less vertical space
- Add the Vereign testimonial to the HIN case, the deployment it speaks to
- Drop the per-pillar code blocks from addressing/discovery/transfer to
  keep that section focused on the concepts
- Remove fileName state and file icon input from FileDropCID
- Drop outer borders from all three island components
- Simplify result/status divs in LocationVsContent
- Switch TransportRoutes lanes to left-border row style
It doesn't really map web to discovery because it's not pointing
to content addressed metadata
- Preload Geist Sans 400 and Geist Pixel Circle woff2 files
- Uses ?url imports so Astro resolves hashed paths at build time
2color added 4 commits July 7, 2026 10:14
- Add canonical URL, theme-color, and OG/Twitter meta tags to Layout
- Pass explicit SEO props from the index route
- Generate 1200x630 branded social image for link previews
- Add public/robots.txt pointing to the sitemap
- Install and configure @astrojs/sitemap with site URL
- Re-add `check` script that runs `astro check`
- Add @astrojs/check and typescript as runtime dependencies
- Verified `pnpm check` passes with 0 errors
- Add post-build link-check workflow triggered on workflow_run.
- Add temporary link-check job to build workflow so the check runs
  in this PR before the standalone workflow reaches main.
- Run lychee against the built dist/ artifact to catch broken links
  before deployment.
- --base requires an absolute local path or URL, so use github.workspace.

- Update exclude-path glob to match absolute paths.
@2color 2color force-pushed the import-new-website branch from a7b945c to 67d05af Compare July 7, 2026 09:07
2color added 3 commits July 7, 2026 11:49
- lychee rejected the '--exclude-path' glob pattern.

- Let the link check verify local asset references instead.
we now have a separate workflow. This was just needed to make sure
it's correctly configured in this PR. Once merged, the link-check
workflow will trigger
@2color 2color requested a review from mishmosh July 7, 2026 10:43
2color added 18 commits July 7, 2026 14:59
- Add skip-to-content link and a main landmark so keyboard and
  screen reader users can bypass the nav
- Add viewport-fit=cover for notched devices
- Drive theme-color from the inline theme script instead of paired
  light/dark media queries, since the OS-matched meta would win
  over the JS value whenever the user's chosen theme differs from
  the OS preference
- Set color-scheme per theme so native scrollbars/inputs match
- Scale large displays with zoom rather than font-size: the layout
  is sized in px, not rem, so font-size only grows the type and
  crams it into unchanged containers; zoom scales everything
- Add a mobile menu with aria-expanded/aria-controls wiring
- Add focus-visible outlines on links and the theme toggle
- Add aria-pressed on the theme toggle, synced to current theme
- Link the logo to home and enlarge the logomark
- Add focus-visible outline to the CTA link
- Remove a commented-out button and the unused open-source badge
- Add explicit width/height on logos to avoid layout shift
- Add focus-visible outlines
- Respect prefers-reduced-motion and remove edge overscroll
- Use proper tablist/tab/tabpanel roles and keyboard handling
- Add focus-visible outlines
- Sync the active tab with the URL so it's deep-linkable
- Use var(--font-mono) for topo badges instead of a one-off variable
- Promote badges into headings so screen readers get section structure
- Hide SMIL <animate> elements under prefers-reduced-motion, since
  they don't respect the media query natively
- Add focus-visible outline on description links
- Add aria-pressed on the toggle buttons
- Add focus-visible outlines
- Sync the active filter with the URL so it's deep-linkable
- Sync the active tab with the URL hash so it's deep-linkable
- Simplify keyboard handling to route through the single selectTab
  helper instead of duplicating state updates
- Add width/height on logo images to avoid layout shift
- Add focus-visible outline on story cards
- Keep the style block is:global: it targets markup rendered by the
  UseCasesTabs React island, which doesn't carry Astro's scoping attr
- Add text-wrap: balance on headings
- Add explicit width/height on images to avoid layout shift
- Add focus-visible outlines
- Respect prefers-reduced-motion
- Rename the duplicate "Community" column to "Social"
- Use heading + list markup for columns instead of bare divs
- Add focus-visible outlines on links
- Add an IPFS Foundation link
- Replace transition: all with explicit properties
- Add focus-visible outlines and keyboard-triggered hover state
- Sync selection with the URL so it's deep-linkable
- Associate the drop zone with a proper label
- Support pasting a file/CID, not just drag-and-drop
- Fix keyboard focus/activation anatomy on the drop zone
- Announce status changes via aria-live
- Truncate long CIDs instead of overflowing
- Add aria-pressed on the toggle
- Add hover and focus-visible states
- Add title attributes so truncated labels are readable on hover
- Add GainForest and HIN brand logos to their case study cards
- Trim the HIN message-volume stat and rewrite the SimplePage
  description for accuracy
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