Skip to content

fix: deploy .htaccess and add HTML redirect fallbacks#685

Closed
andreahlert wants to merge 4 commits intoapache:mainfrom
andreahlert:landing-page
Closed

fix: deploy .htaccess and add HTML redirect fallbacks#685
andreahlert wants to merge 4 commits intoapache:mainfrom
andreahlert:landing-page

Conversation

@andreahlert
Copy link
Contributor

Summary

  • Fix .htaccess not being deployed to asf-site branch: the cp -r ... /* glob skips dotfiles. Added shopt -s dotglob before the copy.
  • Add build-time scan of Sphinx output to generate static HTML redirect pages (meta refresh + JS) for every old doc path, as fallback in case ASF infra does not process .htaccess.

Follows up on #679 where old Sphinx paths like /getting_started/install/ started returning 404 after the landing page migration moved docs to /docs/.

Test plan

  • Trigger workflow via workflow_dispatch and verify .htaccess exists in asf-site branch content/ directory
  • Verify redirect HTML files are generated for all Sphinx pages (check workflow logs for count)
  • Confirm https://burr.apache.org/getting_started/install/ redirects to /docs/getting_started/install/
  • Confirm with ASF infra (#asfinfra Slack) whether .htaccess is honored, then remove the HTML fallback step

andreahlert and others added 4 commits March 16, 2026 16:20
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.
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.
…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/
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.
@skrawcz
Copy link
Contributor

skrawcz commented Mar 19, 2026

I think you need to rebase?

@andreahlert
Copy link
Contributor Author

Reopening with a clean branch rebased on main (the original branch had stale commits from the squash-merged #679).

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