Skip to content

Add GitHub Pages homepage and README - #492

Closed
jackgranatowski wants to merge 9 commits into
mainfrom
claude/bricks-builder-marketing-nl9lx4
Closed

Add GitHub Pages homepage and README#492
jackgranatowski wants to merge 9 commits into
mainfrom
claude/bricks-builder-marketing-nl9lx4

Conversation

@jackgranatowski

@jackgranatowski jackgranatowski commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Add landing page and repository README for the SLASHED CSS framework.

Summary

This PR introduces two new documentation files to improve project visibility and onboarding:

  • github-pages-index.md — A styled Jekyll homepage for the GitHub Pages site (slashed.codeslash.dev), featuring a hero section, feature cards, installation instructions, and documentation navigation.
  • github-readme.md — A comprehensive README for the GitHub repository, covering the framework's core concepts, feature overview, bundle options, browser support, and development workflow.

Key changes

  • Homepage layout — Hero section with call-to-action buttons (Configurator, Demo, Full API Demo, GitHub), six feature cards highlighting OKLCH color engine, fluid type/space, dark mode, zero build step, cascade layers, and visual configurator.
  • Installation guidance — CDN setup instructions with jsDelivr links and bundle comparison table.
  • Documentation index — Organized links to guides (Architecture, Theming, Migration, Roadmap), reference docs (Tokens, Classes, Layout, Macros, Motion), and developer resources (LLM Guide, API Index, Test Coverage).
  • README content — Framework overview, token system explanation, dark mode implementation, cascade layer architecture, bundle descriptions, browser support matrix, and development commands.
  • Styling — Responsive CSS with hero badge, primary/secondary buttons, feature cards, code blocks, and metadata footer; supports light/dark themes via data-theme attribute.

Both files are ready for Jekyll rendering and serve as the primary entry points for new users discovering SLASHED.

https://claude.ai/code/session_019y4H17xqMWoEgvxv3BRM98

Summary by CodeRabbit

  • New Features

    • Added a polished public-facing homepage for the framework with branding, feature highlights, installation examples, and documentation links.
    • Added a theme switcher that remembers the selected appearance.
  • Documentation

    • Expanded the project README with setup guidance, browser support notes, release options, and a clearer guide index.
  • Chores

    • Updated site build settings to exclude the new work-in-progress content from processing.

claude added 2 commits July 2, 2026 12:19
Correct stale facts on both surfaces: token count (685, was 840),
cascade layer count (fifteen, was sixteen), hardcoded landing-page
version, and the npm link (the 'slashed' npm package is an unrelated
project). Label the staged component/utility layers honestly, point
the WordPress plugin link at SLASHED-Plugins, and restructure both
pages around a quick-start-first flow.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019y4H17xqMWoEgvxv3BRM98
Restore the live README.md and index.md to their previous state and
park the rewritten versions in copy-wip/ pending review.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019y4H17xqMWoEgvxv3BRM98
@coderabbitai

coderabbitai Bot commented Jul 2, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@jackgranatowski, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 21 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: e58c22b1-6fdd-49e1-abfc-31f942057dd6

📥 Commits

Reviewing files that changed from the base of the PR and between cd72069 and d7f453a.

📒 Files selected for processing (1)
  • copy-wip/github-pages-index.html
📝 Walkthrough

Walkthrough

Adds two new draft documentation files under copy-wip/: a GitHub Pages landing HTML page with inline styles, hero/feature/install/docs sections and a theme-toggle script, and a product README describing the SLASHED CSS framework. Updates _config.yml to exclude copy-wip from the Jekyll build.

Changes

Documentation drafts

Layer / File(s) Summary
GitHub Pages landing page
copy-wip/github-pages-index.html, _config.yml
Adds a full HTML landing page (head/styles, header/nav, hero, bento feature cards, philosophy grid, dark install band, documentation links, footer, and inline theme-toggle JS using localStorage), and excludes copy-wip from Jekyll processing.
Project README draft
copy-wip/github-readme.md
Adds README content covering branding/badges, overview, philosophy, feature list, dark mode/cascade-layer docs, bundle options, browser support matrix, documentation index, WordPress plugin link, development commands, and MIT license.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: adding a GitHub Pages homepage and README for the SLASHED project.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/bricks-builder-marketing-nl9lx4

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Add draft GitHub Pages homepage and repository README (copy-wip)

📝 Documentation 🕐 10-20 Minutes

Grey Divider

AI Description

• Add a styled GitHub Pages landing page draft with install and doc navigation.
• Add a comprehensive repository README draft covering concepts, bundles, and support.
• Park both as reviewable copy under copy-wip/ without changing live surfaces.
Diagram

graph TD
  U["New users"] --> P["GitHub Pages site"] --> IDX["copy-wip/github-pages-index.md"]
  U --> R["GitHub repo"] --> RD["copy-wip/github-readme.md"]
  IDX --> L["Docs/Demos links"]
  RD --> L
  RD --> C["CDN install"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Replace live README.md and site index immediately
  • ➕ Users see improved onboarding and corrected facts right away
  • ➕ Avoids copy divergence between copy-wip and live surfaces
  • ➖ Higher risk of marketing/positioning changes landing without review
  • ➖ Harder to iterate on copy without churn in primary entry points
2. Keep content in copy-wip, but add a short “adopt this” checklist
  • ➕ Maintains safety of a staging area while making next steps explicit
  • ➕ Reduces the chance the drafts become stale or forgotten
  • ➖ Still requires a follow-up PR to make the content live
  • ➖ Adds minor process/documentation overhead
3. Generate both pages from a single source (docs build step)
  • ➕ Prevents drift between GitHub README and website homepage sections
  • ➕ Enables consistent snippets (install URLs, version floor, bundle table)
  • ➖ Introduces tooling/process complexity for what is currently static copy
  • ➖ May constrain layout/styling differences between README and Pages

Recommendation: The current approach (parking as copy-wip drafts) is a good review gate for first-contact messaging and correctness-sensitive claims (token counts, layer counts, browser floors, links). Consider adding a small follow-up step (or checklist) indicating exactly which live files will be replaced and any required Jekyll front-matter/path expectations, so adoption is straightforward once approved.

Files changed (2) +425 / -0

Documentation (2) +425 / -0
github-pages-index.mdDraft Jekyll homepage with hero, features, install, and doc index +246/-0

Draft Jekyll homepage with hero, features, install, and doc index

• Adds a styled GitHub Pages homepage draft with an above-the-fold hero section, feature cards, and CTA links. Includes CDN installation snippets, bundle comparison, browser support floor, and a structured documentation navigation grid.

copy-wip/github-pages-index.md

github-readme.mdDraft README covering core concepts, bundles, support matrix, and dev workflow +179/-0

Draft README covering core concepts, bundles, support matrix, and dev workflow

• Adds a comprehensive repository README draft describing SLASHED’s token-driven model, dark mode, and cascade layer architecture. Documents bundle options, browser support requirements, key docs entry points, WordPress plugin pointer, and development commands.

copy-wip/github-readme.md

@qodo-code-review

qodo-code-review Bot commented Jul 2, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📜 Skill insights (0)

Context used
✅ Compliance rules (platform): 11 rules

Grey Divider


Action required

1. Broken README links ✗ Dismissed 🐞 Bug ≡ Correctness
Description
copy-wip/github-readme.md uses relative links (e.g., LICENSE, package.json, docs/...,
CHANGELOG.md) that resolve under copy-wip/ when rendered, producing 404s instead of pointing at
the repo-root files.
Code

copy-wip/github-readme.md[R11-24]

+  <a href="https://github.com/codeslash-dev/SLASHED/tags"><img alt="version" src="https://img.shields.io/github/v/tag/codeslash-dev/SLASHED?sort=semver&label=version&color=blueviolet&logo=css3"></a>
+  <a href="https://github.com/codeslash-dev/SLASHED/actions/workflows/ci.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/codeslash-dev/SLASHED/ci.yml?branch=main&label=CI&logo=github"></a>
+  <a href="LICENSE"><img alt="license" src="https://img.shields.io/github/license/codeslash-dev/SLASHED"></a>
+  <a href="https://cdn.jsdelivr.net/gh/codeslash-dev/SLASHED@dist/slashed.optimal.min.css"><img alt="optimal bundle" src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/codeslash-dev/SLASHED/dist/badge-optimal.json"></a>
+  <a href="package.json"><img alt="runtime deps" src="https://img.shields.io/badge/runtime_deps-zero-brightgreen"></a>
+  <a href="https://cdn.jsdelivr.net/gh/codeslash-dev/SLASHED@dist/"><img alt="CDN" src="https://img.shields.io/badge/CDN-jsDelivr-e84d3d?logo=jsdelivr&logoColor=white"></a>
+</p>
+
+<p align="center">
+  <a href="https://slashed.codeslash.dev">Website</a> ·
+  <a href="https://slashed.codeslash.dev/configurator/">Configurator</a> ·
+  <a href="docs/architecture.md">Documentation</a> ·
+  <a href="CHANGELOG.md">Changelog</a>
+</p>
Relevance

⭐⭐⭐ High

They’ve accepted fixes for broken/misresolved doc paths and links; likely to fix relative README
links (PRs #175, #415).

PR-#175
PR-#415

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The file includes multiple relative links (no leading / and no ../) while the targets live at
repo root or under /docs, so rendering from copy-wip/ makes them resolve to non-existent
copy-wip/... paths.

copy-wip/github-readme.md[11-24]
copy-wip/github-readme.md[58-63]
copy-wip/github-readme.md[145-160]
copy-wip/github-readme.md[175-179]
LICENSE[1-3]
package.json[1-6]
docs/architecture.md[1-6]
CHANGELOG.md[1-8]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`copy-wip/github-readme.md` contains relative links that only work if the file is located at the repository root. Since it lives under `copy-wip/`, those links resolve to non-existent paths (e.g. `copy-wip/LICENSE`, `copy-wip/docs/architecture.md`).

## Issue Context
This file is also a candidate to be rendered by Jekyll (it has no front matter, but the site uses `jekyll-optional-front-matter`), and it can be viewed directly on GitHub. In both cases, relative links are resolved relative to the file’s directory.

## Fix Focus Areas
- copy-wip/github-readme.md[11-24]
- copy-wip/github-readme.md[58-63]
- copy-wip/github-readme.md[145-160]
- copy-wip/github-readme.md[175-179]

## Suggested fix
Choose one:
1) If this is meant to become the repo README, move/rename it to `README.md` at repo root (and delete the `copy-wip/` copy).
2) If it must remain under `copy-wip/`, update links to be correct from that location, e.g.:
  - `LICENSE` -> `../LICENSE`
  - `package.json` -> `../package.json`
  - `docs/architecture.md` -> `../docs/architecture.md`
  - `CHANGELOG.md` -> `../CHANGELOG.md`
  - similarly for all `docs/*` links in the file.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

2. WIP pages unintentionally published ✓ Resolved 🐞 Bug ☼ Reliability
Description
copy-wip/ is not excluded in _config.yml, so the new copy-wip/*.md pages are likely to be
built and published on the GitHub Pages site, exposing WIP content (and the broken links in
github-readme.md).
Code

copy-wip/github-pages-index.md[R1-4]

+---
+layout: default
+title: Home
+---
Relevance

⭐⭐⭐ High

Team actively adjusts Jekyll config to prevent Pages issues; likely to exclude WIP content (PRs
#160, #296).

PR-#160
PR-#296

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
_config.yml defines an explicit exclude: list that omits copy-wip/, and the added file has
Jekyll front matter, making it a publishable page.

_config.yml[8-30]
copy-wip/github-pages-index.md[1-6]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The repository’s Jekyll config does not exclude `copy-wip/`, but this PR adds two markdown files there. With GitHub Pages enabled, these files can be rendered and served publicly under `/copy-wip/...`, which is usually not intended for staging content.

## Issue Context
`_config.yml` already excludes many build/dev directories; `copy-wip/` is not among them.

## Fix Focus Areas
- _config.yml[8-30]
- copy-wip/github-pages-index.md[1-6]
- copy-wip/github-readme.md[1-8]

## Suggested fix
Either:
- Add `copy-wip` to the `exclude:` list in `_config.yml`.

Or:
- Move these files to their intended published locations (e.g. replace `index.md` / `README.md`) and remove the `copy-wip/` directory.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

Comment thread copy-wip/github-readme.md
Comment thread copy-wip/github-pages-index.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@copy-wip/github-readme.md`:
- Around line 13-24: The links in the README section rendered from
copy-wip/github-readme.md are repo-relative but the file lives under copy-wip/,
so targets like LICENSE, CHANGELOG.md, CONTRIBUTING.md, and docs pages resolve
too deep and will break. Update the markdown in this file to use paths relative
to copy-wip/ (for example by prefixing those links with ../) or relocate the
generated README to the repository root, and apply the same fix consistently
across the referenced sections such as the navbar and documentation links.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 4f739a45-908c-4782-9116-6f7266108b89

📥 Commits

Reviewing files that changed from the base of the PR and between 5ab644b and 70adcd5.

📒 Files selected for processing (2)
  • copy-wip/github-pages-index.md
  • copy-wip/github-readme.md

Comment thread copy-wip/github-readme.md
claude added 4 commits July 2, 2026 14:51
The draft landing page in copy-wip/ carries Jekyll front matter and the
site uses jekyll-optional-front-matter, so without the exclusion both
drafts would be rendered and served publicly under /copy-wip/.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019y4H17xqMWoEgvxv3BRM98
Replace the hand-styled copy-wip landing draft with a standalone page
styled entirely by slashed.optimal.css: layout via sf-section /
sf-container / sf-stack / sf-cluster / sf-grid, macros (sf-prose,
sf-surface, sf-text-gradient, sf-divider), scroll-driven sf-entrance
animations, and base element styling for code blocks and tables. The
only page-specific rules live in the reserved slashed.overrides layer
and compose framework tokens exclusively — no raw colors, sizes, or
fonts. Dark mode, fluid type, and pre overflow all come from the
framework; a small nav toggle demos data-theme. Now .html with
layout:null front matter since the page carries its own document
shell (the default layout's hardcoded styles would fight it).

Verified with Playwright against a local build of badges/: light,
dark, and 390px mobile all render clean with no console errors.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019y4H17xqMWoEgvxv3BRM98
Add a 'name is the philosophy' section to the README draft and a
matching manifesto band to the landing-page draft: one verifiable
commitment per letter (Standalone, Lean, Agnostic, Structured, Hybrid,
Explicit, Deterministic), each grounded in a documented framework
behaviour rather than slogan-ware.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019y4H17xqMWoEgvxv3BRM98
Make the philosophy the hero: the wordmark renders as S/L/A/S/H/E/D
with gradient initials, and each letter unfolds into its manifesto
word on hover (pure CSS — max-width/opacity transitions on framework
motion tokens). Add a giant gradient slash watermark, a stats strip
(685 tokens / 15 layers / 0 JS / 0 build steps), and rebuild the
features section on the framework's own sf-bento grid with live token
demos: the real --sf-color-primary 50–950 ramp, hover/active/status
chips, side-by-side data-theme panels, the fluid type scale, and a
layer-stack visual. The install band is forced dark via
data-theme="dark" as a section-theming demo; its code blocks pin to
surface/text tokens because code tokens don't yet follow scoped
data-theme. Entrances stagger via the framework's scroll-timeline
range knobs. Still token-only styling in the slashed.overrides layer.

Verified with Playwright: light, dark, hero hover state, and 390px
mobile (no horizontal overflow, no console errors).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019y4H17xqMWoEgvxv3BRM98

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@copy-wip/github-pages-index.html`:
- Around line 13-14: The stylesheet reference in the page head points to a
non-existent asset, so update the link in the HTML template to use the tracked
badges asset or the correct generated CSS path. Locate the <link
rel="stylesheet"> tag in github-pages-index.html and replace the bad href so the
page loads the intended framework styles instead of a missing file.
- Around line 537-556: The theme toggle script in the self-invoking block around
btn, states, current, and apply should guard localStorage access because
restricted browsers can throw and break initialization. Wrap the initial
localStorage.getItem('slashed-home-theme') and the click handler’s
localStorage.setItem call in try/catch, then fall back to the in-memory
default/current state if storage is unavailable. Keep the existing
apply(current) and btn.addEventListener logic intact, but ensure it still runs
even when persistence fails.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 7a476974-3e65-4e48-af2c-2d0a450b0e93

📥 Commits

Reviewing files that changed from the base of the PR and between 70adcd5 and cd72069.

📒 Files selected for processing (3)
  • _config.yml
  • copy-wip/github-pages-index.html
  • copy-wip/github-readme.md
✅ Files skipped from review due to trivial changes (1)
  • copy-wip/github-readme.md

Comment thread copy-wip/github-pages-index.html Outdated
Comment thread copy-wip/github-pages-index.html
claude added 3 commits July 2, 2026 18:32
Storage-restricted browsers can throw on localStorage reads/writes;
fall back to in-memory state so the toggle still initializes and
cycles without persistence.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019y4H17xqMWoEgvxv3BRM98
Switch the stylesheet href from the site-local /badges/ build artifact
to the dist-branch jsDelivr URL, matching the install instructions the
page itself gives. Verified with Playwright that the page requests the
exact CDN URL and renders correctly against the minified bundle.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019y4H17xqMWoEgvxv3BRM98
The unfold interaction could hand the hover to a neighbouring letter:
the centered row re-centers as a word expands, sliding letters under
the stationary cursor and re-firing the effect in a cascade. Fix by
expanding each word to an exact measured width (--w, in the row's own
ch context, weight-inherited so the units agree) and counter-shifting
the row by exactly --w/2 with the same duration/easing/delay, so the
hovered letter never moves. Gate the interaction to any-hover devices,
forbid wrapping mid-interaction with a viewport-capped font size, add
a 120ms sweep-guard delay, and honour prefers-reduced-motion.
Verified with Playwright: hovering each of the 7 letters keeps the
cursor on the same letter through the full animation.

In the forced-dark install band, wrap code lines (pre-wrap +
overflow-wrap) instead of horizontal scrolling and extend the
theme-safe token pinning to inline code chips, which rendered
light-on-dark on real devices (same root cause as #496).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019y4H17xqMWoEgvxv3BRM98

Copy link
Copy Markdown
Contributor Author

Splitting this into two smaller, focused PRs — this one grew from a README/index copy fix into a full landing-page redesign plus several rounds of bugfixes, which is too much surface for one review:

Both carry over the fixes and reviewer discussion from this PR. Closing this one in favor of those two.


Generated by Claude Code

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