Import new website #322
Open
2color wants to merge 105 commits into
Open
Conversation
- 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
- 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.
a7b945c to
67d05af
Compare
- 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
- 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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
new ipfs website for 2026