# zfb > The Rust engine under your content-site framework — router, renderer, content pipeline. Author in TypeScript/JSX, runs as a single binary. ## Docs - [Choosing zfb](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/choosing-zfb): When zfb fits your project, when it does not, and where the scaling sweet spot is. - [Design Philosophy](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/design-philosophy): Why zfb stays narrow on purpose, and why the AI era tips the balance further toward recipes over plugins. - [Architecture overview](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/architecture-overview): Top-down mental model of zfb's runtime stack — the two bundles, what runs where, and why the Hono/Workers shape is the stable contract. - [Engine vs Framework](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/engine-vs-framework): zfb is the engine — frameworks like a future zudo-doc-v2 sit on top of its primitives. - [Getting Started](https://takazudomodular.com/pj/zudo-front-builder/docs/getting-started): Welcome to the Getting Started section. Choose a topic below to begin. - [Markdown Features](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features): Every feature zfb's Markdown pipeline provides — Core (always-on) and Opt-in (enabled via zfb.config.ts). - [Frontmatter](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/frontmatter): One unified frontmatter contract across .md, .mdx, and .tsx — YAML on the markdown side, a static export literal on the TSX side, one JSON shape on the Rust side. - [defineConfig](https://takazudomodular.com/pj/zudo-front-builder/docs/api/define-config): Define a zfb project configuration with full type inference. - [Build engine](https://takazudomodular.com/pj/zudo-front-builder/docs/architecture/build-engine): How zfb's crates fit together, why the rebuild is per-page, and what makes a `dist/` write safe. - [Routing](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/routing): How file-system routing under pages/ maps to URLs in zfb. - [Introduction](https://takazudomodular.com/pj/zudo-front-builder/docs/getting-started/introduction): What zfb is, who it is for, and how it compares to Astro and Next.js. - [Migrating from Astro](https://takazudomodular.com/pj/zudo-front-builder/docs/guides/migrating-from-astro): A concept-by-concept map for moving an existing Astro static site to zfb. - [Install without Node](https://takazudomodular.com/pj/zudo-front-builder/docs/install/node-free): Install zfb as a standalone binary — no Node.js or npm required. Covers curl, Homebrew, and Windows PowerShell install paths. - [Recipes](https://takazudomodular.com/pj/zudo-front-builder/docs/recipes): Self-contained patterns for using zfb. Curated section — one topic per page, copy-pasteable. - [Dynamic Routes](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/dynamic-routes): Use paths() to enumerate the concrete URLs a [slug].tsx or [...slug].tsx page should build, and pass per-URL props to the component. - [Markdown and HTML Pages](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/md-html-pages): Use .md and .html files as first-class page entries alongside .tsx — same routing conventions, different render path. - [getCollection](https://takazudomodular.com/pj/zudo-front-builder/docs/api/get-collection): Load all entries from a content or data collection. - [JS runtime](https://takazudomodular.com/pj/zudo-front-builder/docs/architecture/js-runtime): How zfb hosts JavaScript execution server-side via an embedded V8 isolate, and why the runtime is fixed by the binary. - [/CLAUDE.md](https://takazudomodular.com/pj/zudo-front-builder/docs/claude-md/root): CLAUDE.md at /CLAUDE.md - [Content Collections](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/content-collections): Define typed collections of Markdown content in zfb.config and load them from pages. - [Installation](https://takazudomodular.com/pj/zudo-front-builder/docs/getting-started/installation): Install the zfb CLI from npm. - [Migrating from Eleventy](https://takazudomodular.com/pj/zudo-front-builder/docs/guides/migrating-from-eleventy): Concept-by-concept guidance for moving an 11ty site to zfb — and an honest note on where it does not fit. - [Recipe: Enlargeable Images](https://takazudomodular.com/pj/zudo-front-builder/docs/recipes/enlargeable-images): Reproduce the old built-in image-enlarge behavior in userland via the MDX component override API. - [MDX Components](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/mdx-components): How MDX entries reach your pages as renderable React/Preact components, and how to override individual elements via the components prop. - [Custom Directives](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/custom-directives): Register your own MDX directives — container, leaf, and text — that map to JSX components without writing any Rust. - [paginate](https://takazudomodular.com/pj/zudo-front-builder/docs/api/paginate): Expand a list of items into paginated route instances. - [Framework adapters](https://takazudomodular.com/pj/zudo-front-builder/docs/architecture/framework-adapters): How zfb supports both Preact and React behind a single renderer, and the shape of the boundary that makes adding a third framework additive. - [Data](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/data): Three options for sourcing structured data in zfb — content collections, data collections, and plain TS modules. - [Your first site](https://takazudomodular.com/pj/zudo-front-builder/docs/getting-started/your-first-site): Scaffold, run, and build a zfb project in about five minutes. - [Customizing Markdown](https://takazudomodular.com/pj/zudo-front-builder/docs/guides/customizing-markdown): How zfb renders Markdown and how to configure or extend the pipeline. - [Extending the Markdown Pipeline](https://takazudomodular.com/pj/zudo-front-builder/docs/guides/extending-the-markdown-pipeline): How to add a new Markdown / MDX feature to zfb — when a directive is enough, when to write a Rust visitor, and when the AST converter itself needs a new arm. - [Island](https://takazudomodular.com/pj/zudo-front-builder/docs/api/island): Wrap a component as a client-hydrated island using the Island JSX wrapper. - [Why Rust](https://takazudomodular.com/pj/zudo-front-builder/docs/architecture/why-rust): The bet behind writing a static-site framework in Rust, what it buys, and what it costs. - [Styling](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/styling): Global CSS, Tailwind v4, and where component-scoped styling fits in zfb. - [Project structure](https://takazudomodular.com/pj/zudo-front-builder/docs/getting-started/project-structure): A tour of every file and directory the default template lays down. - [Syntax Highlighting](https://takazudomodular.com/pj/zudo-front-builder/docs/guides/syntax-highlighting): zfb ships syntect-backed server-side syntax highlighting. This page explains the built-in behaviour, how to use custom .tmTheme files, and two supplementary patterns for client-side or theme-customised highlighting. - [Static Assets](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/static-assets): How to ship images, SVGs, fonts, favicons, robots.txt, and any other byte-for-byte file through zfb's public/ directory. - [meta export](https://takazudomodular.com/pj/zudo-front-builder/docs/api/meta-export): Declare per-page head metadata via a meta export. - [Islands](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/islands): Mark client-interactive components with "use client" and let zfb hydrate them in the browser. - [Non-HTML Pages](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/non-html-pages): Emit XML, RSS, JSON, and plain-text pages alongside your HTML — same TSX page model, different output extension and Content-Type. - [Build Pipeline](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/build-pipeline): An end-to-end tour of how zfb turns your project into a built site. - [Desktop Deployment](https://takazudomodular.com/pj/zudo-front-builder/docs/guides/desktop-deployment): How to ship a zfb-built site inside a Tauri, Electron, or similar desktop application. - [Incremental rebuild](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/incremental-rebuild): How zfb's dependency graph limits each rebuild to the pages actually affected by a file change. - [Embed as library](https://takazudomodular.com/pj/zudo-front-builder/docs/guides/embed-as-library): Run zfb's HTTP server in-process from a Rust host (Tauri, CLI, service) via the Server builder API. - [SSR and Cloudflare Bindings](https://takazudomodular.com/pj/zudo-front-builder/docs/guides/ssr-and-cloudflare-bindings): Serve dynamic routes with the Cloudflare adapter and read Worker bindings — secrets, KV, and D1 databases — from inside an SSR handler. - [Dev mode lifecycle](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/dev-mode-lifecycle): What happens between hitting save on a .tsx file and seeing the change in the browser — watcher, rebundle, SSR refresh, and the three SSE event types. - [SSR on a Worker (adapter mode)](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/ssr-on-a-worker): How a prerender = false zfb page actually runs in production — the two-layer worker output, the ASSETS-first dispatch, and the AsyncLocalStorage trick behind getCloudflareContext(). - [Plugins](https://takazudomodular.com/pj/zudo-front-builder/docs/concepts/plugins): Author and consume zfb plugins — the four lifecycle hooks, virtual modules, import aliases, and dev-only injected routes. - [CJK-friendly emphasis](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/cjk-friendly): Ensures bold and italic markers adjacent to CJK ideographs and kana are interpreted correctly. - [Heading links](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/heading-links): Automatically adds slug-based id attributes and anchor links to every heading. - [Code block title](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/code-title): Renders a visible filename or label above a fenced code block from the title= meta attribute. - [External links](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/external-links): Automatically adds target and rel attributes to outbound links. - [Resolve links](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/resolve-links): Rewrites internal link targets using the content source map so links survive the build. - [Strip .md extension](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/strip-md-ext): Removes the .md or .mdx suffix from internal link hrefs at build time. - [Syntax highlighting](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/syntax-highlighting): Server-side syntax highlighting via syntect — always on, theme-configurable. - [Directives registry](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/directives-registry): The Core primitive that maps :::name / ::name / :name directive syntax to JSX components. - [Changelog](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog): Changelog - [Claude](https://takazudomodular.com/pj/zudo-front-builder/docs/claude): Claude Code configuration reference. - [v0.1.0-next.5](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.5): v0.1.0-next.5 - [v0.1.0-next.6](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.6): v0.1.0-next.6 - [v0.1.0-next.7](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.7): v0.1.0-next.7 - [v0.1.0-next.8](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.8): v0.1.0-next.8 - [v0.1.0-next.9](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.9): v0.1.0-next.9 - [v0.1.0-next.10](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.10): v0.1.0-next.10 - [v0.1.0-next.11](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.11): v0.1.0-next.11 - [v0.1.0-next.12](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.12): v0.1.0-next.12 - [v0.1.0-next.13](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.13): v0.1.0-next.13 - [v0.1.0-next.14](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.14): v0.1.0-next.14 - [v0.1.0-next.15](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.15): v0.1.0-next.15 - [v0.1.0-next.16](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.16): v0.1.0-next.16 - [v0.1.0-next.17](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.17): v0.1.0-next.17 - [v0.1.0-next.18](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.18): v0.1.0-next.18 - [v0.1.0-next.19](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.19): v0.1.0-next.19 - [v0.1.0-next.20](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.20): v0.1.0-next.20 - [v0.1.0-next.21](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.21): v0.1.0-next.21 - [v0.1.0-next.22](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.22): v0.1.0-next.22 - [v0.1.0-next.23](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.23): v0.1.0-next.23 - [v0.1.0-next.24](https://takazudomodular.com/pj/zudo-front-builder/docs/changelog/v0.1.0-next.24): v0.1.0-next.24 - [zfb-wisdom](https://takazudomodular.com/pj/zudo-front-builder/docs/claude-skills/zfb-wisdom): Search and reference documentation from the zfb (zudo-front-builder) project. Use when answering questions about zfb features, CLI usage, configuration, content collections, routing, build pipeline, o... - [zudo-doc-design-system](https://takazudomodular.com/pj/zudo-front-builder/docs/claude-skills/zudo-doc-design-system): Project-specific CSS and component rules for zudo-doc. Must be consulted before writing or editing CSS, Tailwind classes, color tokens, or component markup in this project. Covers: component-first str... - [zudo-doc-translate](https://takazudomodular.com/pj/zudo-front-builder/docs/claude-skills/zudo-doc-translate): Translate zudo-doc documentation between English and Japanese with project-specific conventions. - [zudo-doc-version-bump](https://takazudomodular.com/pj/zudo-front-builder/docs/claude-skills/zudo-doc-version-bump): Bump package version, generate changelog docs, commit, tag, and create GitHub release. Use when: (1) User says 'version bump', 'bump version', 'release', or 'zudo-doc-version-bump', (2) User wants to ... - [Admonitions preset](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/admonitions-preset): Enable the seven built-in admonition directive types (note, tip, warning, danger, info, details, caution) and register your own. - [Code-block enrichment](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/code-enrichment): Add diff markers and per-line highlighting to fenced code blocks. - [Code tabs](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/code-tabs): Group related code blocks into a tab strip with the :::code-group directive. - [GitHub alerts](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/github-alerts): Render GitHub-style alert blockquotes (> [!NOTE], > [!WARNING], etc.) as styled components. - [GitHub autolinks](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/github-autolinks): Rewrite bare #123, user/repo#456, and commit-SHA references in Markdown text into hyperlinks pointing at a configured GitHub repository. - [Heading-marker TOC](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/heading-marker-toc): Auto-insert a table of contents after a designated heading. - [Image dimensions](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/image-dimensions): Auto-detect and inject width/height attributes on local img elements to eliminate Cumulative Layout Shift. - [Link validation](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/link-validation): Validate internal links and anchor fragments at build time to catch broken references before they reach production. - [Mermaid diagrams](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/mermaid): Render Mermaid flowcharts and diagrams directly in Markdown. - [Reading time](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/reading-time): Inject an estimated reading-time as an MDX named export available alongside frontmatter. - [Ruby annotations](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/ruby): Render ruby (furigana) annotations with the {base|ruby} syntax. - [TOC export](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/toc-export): Export the page table of contents as structured JSON for sidebar and floating-TOC components. - [Transclusion](https://takazudomodular.com/pj/zudo-front-builder/docs/markdown-features/transclude): Inline the content of another file using the :::include directive.