website: add Next.js landing page for burr.apache.org#679
website: add Next.js landing page for burr.apache.org#679skrawcz merged 3 commits intoapache:mainfrom
Conversation
Add a modern landing page built with Next.js 15, Tailwind CSS and Magic UI that will serve as the homepage for burr.apache.org. Sphinx docs move from / to /docs/ so both coexist. Landing page sections: - Hero with animated stats (GitHub stars, PyPI downloads) - Interactive code terminal with syntax-highlighted examples - Feature highlights (state management, observability, HITL, etc.) - Integration marquee with real SVG logos - Testimonial carousel with existing quotes - Community links (Discord, GitHub, Twitter) - ASF-compliant footer (License, Thanks, Security, Sponsorship, Privacy Policy, Incubator link, trademark attribution, incubation disclaimer) Build & deploy changes: - New unified workflow (build-site.yml) that builds both Next.js and Sphinx, then merges outputs into asf-site branch - Landing page at / and Sphinx docs at /docs/ - sphinx-docs.yml retains build + artifact for PR review only (deploy removed to avoid conflicts) - Sphinx html_baseurl updated to include /docs/ prefix Tech stack: Next.js 15 (App Router), Tailwind CSS v4, shadcn/ui, Magic UI (Marquee, NumberTicker, ShimmerButton, BlurFade, BorderBeam, MagicCard, DotPattern, AnimatedShinyText), shiki for syntax highlighting. Static export for Apache infra compat.
|
Hey @skrawcz @pjfanning @elijahbenizzy Built a landing page to replace the current Sphinx homepage at burr.apache.org. The idea is to have a proper splash page that positions Burr more professionally and helps attract new contributors and users to the community. Preview: https://andreahlert.github.io/burr-website/ The existing Sphinx docs stay untouched, just move to /docs/. A single workflow builds both Next.js and Sphinx and deploys to asf-site. All ASF required links, incubation disclaimer and trademark attribution are covered. Would love feedback on the content, design or anything else before we move forward with this. |
|
@andreahlert is there a way to make things backwards compatible with the old urls? |
Redirect old root-level Sphinx URLs (concepts/, getting_started/, etc.) to /docs/ with 301s so existing links and search results keep working after the landing page migration. Also fix missing newline at end of globals.css that was failing the pre-commit end-of-file-fixer hook.
@skrawcz Added a .htaccess with 301 redirects for all the old Sphinx root paths pointing to /docs/. Since ASF's default AllowOverride is All, this should work out of the box without any infra request. it'd be good to confirm with the infra team before merging, just to make sure Burr doesn't have any custom virtual host config that could interfere... a quick message on #asfinfra in the ASF Slack should be enough if you could. |
…ebsite constants - Add Burr logo to Sphinx docs sidebar, displayed inline with the title - Sidebar brand link points to / (landing page) instead of docs root - Add missing website/src/lib/constants.ts and utils.ts needed by Next.js - Gitignore built Sphinx docs in website/public/docs/
Sigh -- need to be invited:
|
|
@andreahlert want to double check my work -- those missing files are needed right? |
|
@skrawcz Yes, those files (constants.ts and utils.ts) were definitely needed, I forgot to include them in the original push. Thanks for catching that and adding them. Reviewed your other changes, noticed just one nit: if we ever move to a different Sphinx theme, this could silently break since it depends on the .sidebar-brand selector. Maybe worth a comment in the template noting why it's there. Not a blocker at all though. Everything looks solid. |
The deploy step used `cp -r ... /*` which skips dotfiles, so .htaccess was never copied to the asf-site branch. Add `shopt -s dotglob` to fix. Also generate static HTML redirect pages by scanning the Sphinx build output at build time, as fallback in case ASF infra does not process .htaccess. See PR apache#679 for context.
The deploy step used `cp -r ... /*` which skips dotfiles, so .htaccess was never copied to the asf-site branch. Add `shopt -s dotglob` to fix. Also generate static HTML redirect pages by scanning the Sphinx build output at build time, as fallback in case ASF infra does not process .htaccess. See PR apache#679 for context.
…hs (#686) The deploy step used `cp -r ... /*` which skips dotfiles, so .htaccess was never copied to the asf-site branch. Add `shopt -s dotglob` to fix. Also generate static HTML redirect pages by scanning the Sphinx build output at build time, as fallback in case ASF infra does not process .htaccess. See PR #679 for context.
Summary
Adds a modern landing page for
burr.apache.orgbuilt with Next.js 15, Tailwind CSS and Magic UI. The Sphinx docs move from/to/docs/so both coexist on the same domain.Preview: https://andreahlert.github.io/burr-website/
Landing page sections
ASF compliance
Build & deploy
build-site.ymlthat builds both Next.js and Sphinx, merges outputs, and deploys toasf-site/, Sphinx docs at/docs/sphinx-docs.ymlretains build + artifact upload for PR review (deploy removed to avoid conflicts)html_baseurlupdated tohttps://burr.apache.org/docs/Tech stack
Next.js 15 (App Router), Tailwind CSS v4, shadcn/ui, Magic UI components (Marquee, NumberTicker, ShimmerButton, BlurFade, BorderBeam, DotPattern, AnimatedShinyText), shiki for syntax highlighting. Static export (
next export) for Apache infra compatibility.Test plan
cd website && npm ci && npm run buildproduces static output inout/cd docs && sphinx-build -b dirhtml . _build/htmlbuilds docs with/docs/baseurl/index.html(landing page) +/docs/index.html(Sphinx)build-site.ymlworkflow runs successfully