Skip to content

docs: add Docusaurus documentation site deployed via GitHub Pages#322

Merged
naorpeled merged 3 commits into
jeremydaly:mainfrom
naorpeled:docs/docusaurus-site
Jun 6, 2026
Merged

docs: add Docusaurus documentation site deployed via GitHub Pages#322
naorpeled merged 3 commits into
jeremydaly:mainfrom
naorpeled:docs/docusaurus-site

Conversation

@naorpeled

@naorpeled naorpeled commented Jun 6, 2026

Copy link
Copy Markdown
Collaborator

Closes #27

The README had grown to ~1,500 lines covering every feature inline — exactly the "getting a bit unwieldy" problem called out in #27. This PR moves that content into a dedicated, modern, searchable Docusaurus v3 site under website/, deploys it to GitHub Pages, and slims the README down to a concise overview that links to the site.

What's included

  • Full content migration — every README section is split into ~36 organized pages across 8 categories: Getting Started, Core Concepts, Request & Response, Middleware & Error Handling, Logging, Deployment & Integrations, TypeScript, and an API Reference. All code examples are preserved verbatim.
  • Modern, branded design — custom amber/orange theme matching the Lambda API logo, a homepage with hero + feature cards, dark mode, and responsive layout.
  • Quality-of-life features — offline local search (no Algolia account required), Tabs for multi-variant examples (JS/TS, npm/yarn/pnpm, async/await vs Promises, API Gateway v1 vs v2), admonitions for notes/warnings, a Mermaid diagram for execution stacks, and copy-code buttons.
  • Vendored assets — the official logo is now committed locally (assets/lambda-api-logo.png + website/static/img/), with a branded favicon and social card.
  • GitHub Pages deployment.github/workflows/deploy-docs.yml builds website/ and publishes via the official upload-pages-artifact + deploy-pages flow on pushes to main that touch website/.
  • Slimmed README — now an overview (logo, badges, quick example, install, requirements) that points to the docs site. The self-contained website/ sub-project is excluded from the root ESLint/Prettier so existing CI stays green.

The site builds with onBrokenLinks: 'throw', so a clean npm run build verifies there are no broken internal links.

⚠️ One manual step for the maintainer

GitHub Pages must be enabled for the deploy to publish: Settings → Pages → Build and deployment → Source → GitHub Actions. Once set, the workflow publishes to https://jeremydaly.github.io/lambda-api/ (which is what url/baseUrl in docusaurus.config.ts are configured for).

Verification

  • cd website && npm ci && npm run build — succeeds, zero broken links
  • npm run typecheck — passes
  • Verified locally in both light and dark mode: homepage, sidebar (all 8 categories), Mermaid diagram, Tabs, and local search all render correctly.

naorpeled and others added 3 commits June 6, 2026 15:15
The README had grown to ~1500 lines covering every feature inline, which
the maintainer flagged as unwieldy in jeremydaly#27. This adds a dedicated, searchable
Docusaurus v3 site under website/ and slims the README to an overview that
links to it.

- Migrate all README content into ~36 organized doc pages across 8
  categories (Getting Started, Core Concepts, Request & Response,
  Middleware & Errors, Logging, Deployment & Integrations, TypeScript,
  API Reference), preserving every code example.
- Modern amber/orange theme matching the Lambda API brand, custom homepage
  with hero + feature cards, dark mode, offline local search, Mermaid
  diagram, and Tabs for multi-variant examples.
- Vendor the official logo locally; add a branded favicon and social card.
- Deploy to GitHub Pages from website/ via a GitHub Actions workflow
  (upload-pages-artifact + deploy-pages).
- Exclude the self-contained website/ sub-project from root eslint/prettier.

Closes jeremydaly#27

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The logo already reads "Lambda API", so the navbar title text was
redundant. Also drop the Stack Overflow and GitHub Discussions footer
links, leaving Issues as the Community entry.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Trim the "More" footer column to just GitHub and npm (dropping Issues,
Releases, and License, which are all reachable from GitHub), and reset
Infima's full-width footer columns so "Docs" and "More" sit next to each
other on the left instead of stretching across the full width.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@naorpeled naorpeled merged commit c6064a5 into jeremydaly:main Jun 6, 2026
7 checks passed
naorpeled added a commit that referenced this pull request Jun 6, 2026
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.

Create documentation site

1 participant