mirror of
https://github.com/prdlk/leetcode.git
synced 2026-08-02 17:31:40 +00:00
2.7 KiB
2.7 KiB
docs
A Fumapress (Fumadocs + Waku) docs site with typography by shadcn/typeset — one CSS file you own.
Getting started
Requires Node.js 22+.
bun install
bun dev # http://localhost:3000
Your typeset
| Control | Choice |
|---|---|
| Heading | DM Sans |
| Body | Instrument Sans |
| Mono | JetBrains Mono |
| Size | 16px |
| Leading | Loose (1.9) |
| Flow | Compact (1em) |
| Measure | 80ch |
src/typeset.cssis the stylesheet from the typeset builder. It lives in your project — edit it directly, or regenerate it from the builder any time.src/app.cssholds your presets..typeset-docscarries the choices above;.typeset-compactis a tighter preset for chat-like UI. Rhythm is three variables:--typeset-size,--typeset-leading,--typeset-flow.typeset-prompt.mdis an agent-ready prompt with the choices above baked in (like the builder's Prompt tab). Paste it into your coding agent to wire typeset into the surfaces that render markdown.
Wrap any rendered markdown/HTML:
<article className="typeset typeset-docs typeset-measure">{page}</article>
<div className="typeset typeset-compact">{message}</div>
Opt components out with not-typeset:
<div className="typeset typeset-docs">
<p>Styled prose.</p>
<Card className="not-typeset">Untouched component.</Card>
</div>
Fumadocs prose seam
Fumadocs UI ships its own prose styles for docs page bodies. If you apply
typeset to the same container, both systems will add spacing. This
template zeroes out margin-block-end inside .typeset.prose (see
src/app.css) so flow comes only from typeset's margin-block-start.
To apply the typeset classes to docs pages, customize the page layout in
press.config.tsx — see the
Fumapress layouts docs.
Structure
├── waku.config.ts # Waku/Vite plugins: press(), mdx(), tailwindcss()
├── source.config.ts # Fumadocs MDX content source (content/docs)
├── press.config.tsx # Site config, adapters, plugins
├── typeset-prompt.md # Agent prompt with your typeset picks baked in
├── content/docs/ # Your MDX pages
└── src/
├── app.css # Tailwind + presets + your typeset presets
└── typeset.css # shadcn/typeset — yours to edit
Deploying static
Fumapress builds static + dynamic routes by default. For a pure CDN deploy,
force static mode in press.config.tsx:
export default defineConfig({ mode: "static", /* ... */ });