finds.dev← search

// the find

shuding/nextra

★ 13,831 · TypeScript · MIT · updated Jun 2026

Simple, powerful and flexible site generation framework with everything you love from Next.js.

Nextra is a Next.js-based static site generator aimed at documentation and blogs. It sits on top of Next.js App Router, treating MDX files as pages and providing two ready-made themes (docs and blog) plus a hook for custom themes. Best fit for teams already on Next.js who want their docs to live in the same stack as their app.

MDX support is first-class — you can import React components directly into markdown without any plugin gymnastics. The content/app directory split is clean: markdown lives in `content/`, Next.js routes live in `app/`, so you're not fighting the framework. The `_meta.global.tsx` approach for sidebar ordering is genuinely better than competing tools that rely on frontmatter or alphabetical sorting. The built-in search, syntax highlighting (with Shiki twoslash support), and i18n are production-ready out of the box rather than bolted-on afterthoughts.

Hard dependency on Next.js means you're pulling in the full Vercel stack even for a simple docs site — Vite-based alternatives like VitePress ship significantly faster cold builds and don't require a Node server for preview. The v2-to-v3 migration was breaking in non-obvious ways (the App Router shift changed file conventions substantially), and the changelog doesn't surface these clearly; if you adopt it today you're betting on future migrations being equally disruptive. Custom theme support exists but the API surface is thin — you'll hit walls quickly if you want something that diverges from the two built-in layouts. The blog theme in particular feels like a demo rather than a production-ready feature: no pagination built in, RSS is manual, tags are a basic example.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →