# Bengal > A modern Python static site generator ## Overview - [Bengal](/bengal/): A static site generator written in Python. ## Authors - [Lawrence Lane](/bengal/authors/lbliii/) ## About - [About](/bengal/docs/about/): A pure-Python documentation generator built on free-threading — every layer scales with your cores - [Performance Benchmarks](/bengal/docs/about/benchmarks/): Measured build times for Bengal across different site sizes and configurations - [Key Capabilities](/bengal/docs/about/comparison/): What Bengal does - [The Bengal Ecosystem](/bengal/docs/about/ecosystem/): A structured reactive stack — every layer written in pure Python for 3.14t free-threading - [Frequently Asked Questions](/bengal/docs/about/faq/): Answers to common questions about Bengal's features, limitations, and compatibility. - [For Python Teams](/bengal/docs/about/for-python-teams/): Why Bengal is the natural documentation choice for teams already working in Python - [Free-Threading](/bengal/docs/about/free-threading/): How Bengal uses Python 3.14t for parallel page rendering - [Glossary](/bengal/docs/about/glossary/): Definitions of terms used throughout Bengal documentation - [Limitations](/bengal/docs/about/limitations/): What Bengal doesn't do - [Project Philosophy](/bengal/docs/about/philosophy/): Bengal prioritizes correctness over compatibility. What that means for upgrades and contributions. ## Analysis - [Analysis](/bengal/docs/content/analysis/): Site structure analysis tools - [Graph Analysis](/bengal/docs/content/analysis/graph/): Analyze your site's structure, improve internal linking, and optimize navigation ## Authoring - [Content Authoring](/bengal/docs/content/authoring/): Markdown, MyST directives, and rich content - [Callouts & Admonitions](/bengal/docs/content/authoring/callouts/): Draw attention to important information with notes, warnings, and tips - [Code Blocks](/bengal/docs/content/authoring/code-blocks/): Add syntax-highlighted code with Rosettes, include files, configure themes, and create multi-language examples - [External References](/bengal/docs/content/authoring/external-references/): Link to external documentation like Python stdlib, NumPy, and other Bengal sites - [Images & Media](/bengal/docs/content/authoring/images-media/): Add images, figures, videos, and embeds to your content - [Interactive Elements](/bengal/docs/content/authoring/interactive/): Create tabs, dropdowns, steps, and other interactive content - [Linking Guide](/bengal/docs/content/authoring/linking/): Complete guide to creating links between pages, headings, and external resources - [Math and LaTeX](/bengal/docs/content/authoring/math/): Inline and block mathematical expressions with LaTeX - [Tables](/bengal/docs/content/authoring/tables/): Create simple and complex tables using pipe syntax, list-table directive, and interactive data-tables ## Building - [Building](/bengal/docs/building/): Build configuration, SEO/discovery, output formats, and deployment - [AI-Native Output](/bengal/docs/building/ai-native-output/): How Bengal makes your documentation discoverable, navigable, and policy-compliant for AI agents and RAG pipelines - [Connect to IDE (Cursor MCP)](/bengal/docs/building/connect-to-ide/): Add a one-click "Connect to IDE" button so readers can add your docs as an MCP server in Cursor - [DX Hints](/bengal/docs/building/dx-hints/): Contextual tips for Docker, WSL, Kubernetes, and development environments - [Output Formats](/bengal/docs/building/output-formats/): Generate JSON, LLM-ready text, and other output formats for search and AI discovery - [SEO & Discovery](/bengal/docs/building/seo/): Use Bengal's built-in metadata, sitemap, feeds, social cards, content signals, and output formats to make sites easier to discover ## Collections - [Content Collections](/bengal/docs/content/collections/): Validate frontmatter with typed schemas ## Concepts - [Core Concepts](/bengal/docs/about/concepts/): Foundational concepts for understanding Bengal ## Configuration - [Configuration](/bengal/docs/building/configuration/): Configuring Bengal with bengal.toml - [Build Profiles](/bengal/docs/building/configuration/profiles/): Configure Bengal for different workflows with built-in profiles - [Configuration Reference](/bengal/docs/building/configuration/reference/): Complete reference of all bengal.toml options - [Multi-Variant Builds](/bengal/docs/building/configuration/variants/): Build different site variants (OSS vs Enterprise, brand1 vs brand2) from one content tree ## Content - [Content](/bengal/docs/content/): Author, organize, and validate your documentation - [Multilingual Sites](/bengal/docs/content/i18n/): Serve your documentation in multiple languages with proper URL routing and translations ## Core - [Core Architecture](/bengal/docs/reference/architecture/core/): Data models and build coordination - [Build Cache](/bengal/docs/reference/architecture/core/cache/): How Bengal caches builds for incremental rebuilds - [Content Type Strategies](/bengal/docs/reference/architecture/core/content-types/): Strategy pattern for content type-specific behavior (sorting, templates, pagination) - [Data Flow](/bengal/docs/reference/architecture/core/data-flow/): How data moves through the build pipeline - [Object Model](/bengal/docs/reference/architecture/core/object-model/): Site, Page, Section, and Asset data models. - [Build Orchestration](/bengal/docs/reference/architecture/core/orchestration/): How Bengal coordinates builds through 21 phases - [Build Pipeline](/bengal/docs/reference/architecture/core/pipeline/): How Bengal's build pipeline processes content through orchestrators ## Deployment - [Deployment](/bengal/docs/building/deployment/): Deploy your Bengal site to production ## Extending - [Extending Bengal](/bengal/docs/extending/): Create custom directives, content sources, collections, and build hooks - [Build Hooks](/bengal/docs/extending/build-hooks/): Run external tools before and after Bengal builds - [Content Collections](/bengal/docs/extending/collections/): Define typed schemas for frontmatter validation and IDE support - [Custom Directives](/bengal/docs/extending/custom-directives/): Create custom MyST directive blocks for specialized content - [Create Custom Skeletons](/bengal/docs/extending/custom-skeletons/): Build reusable site structure templates with skeleton YAML - [Custom Content Sources](/bengal/docs/extending/custom-sources/): Fetch content from APIs, databases, or remote services - [Writing Plugins](/bengal/docs/extending/plugins/): Create plugins that add directives, template functions, content sources, and build hooks - [Template Shortcodes](/bengal/docs/extending/shortcodes/): Create template-only embeds without writing Python - [Theme Customization](/bengal/docs/extending/theme-customization/): Override templates and customize CSS styling ## Get Started - [Get Started](/bengal/docs/get-started/): Install Bengal and create your first site - [Install Bengal](/bengal/docs/get-started/installation/): Install Bengal using pip, uv, or from source - [Contributor Quickstart](/bengal/docs/get-started/quickstart-contributor/): Set up Bengal for development and start contributing - [Themer Quickstart](/bengal/docs/get-started/quickstart-themer/): Customize themes and create your own designs - [Writer Quickstart](/bengal/docs/get-started/quickstart-writer/): Create your first site and start writing content - [Scaffold Your First Site](/bengal/docs/get-started/scaffold-your-site/): Create a Bengal site from a template in 5 minutes ## I18N - [Internationalization (i18n)](/bengal/docs/content/i18n/): Multi-language sites with gettext PO/MO, RTL support, and translation workflows - [i18n Quickstart](/bengal/docs/content/i18n/quickstart/): Set up a bilingual site with gettext PO/MO in 5 minutes - [RTL Layout Support](/bengal/docs/content/i18n/rtl/): CSS authoring for Arabic, Hebrew, and bidirectional sites - [Translator Contributor Guide](/bengal/docs/content/i18n/translator-guide/): How to contribute translations and PO file conventions ## Meta - [Meta & Operations](/bengal/docs/reference/architecture/meta/): Performance, testing, and project structure - [Extension Points](/bengal/docs/reference/architecture/meta/extension-points/): Plugin hooks and customization points for extending Bengal - [File Organization](/bengal/docs/reference/architecture/meta/file-organization/): Directory structure and organization of generated files, cache, and development artifacts - [Protocol Layer](/bengal/docs/reference/architecture/meta/protocols/): Consolidated protocol definitions for type-safe interfaces across Bengal - [Testing Strategy](/bengal/docs/reference/architecture/meta/testing/): Testing patterns and coverage goals ## Notebooks - [Notebooks](/bengal/docs/content/authoring/notebooks/): Native Jupyter notebook support — drop .ipynb into content and build - [Content Features](/bengal/docs/content/authoring/notebooks/content-features/) - [Hello Notebook](/bengal/docs/content/authoring/notebooks/hello-notebook/) - [Notebook Setup Guide](/bengal/docs/content/authoring/notebooks/setup/): Step-by-step guide to adding Jupyter notebooks to your Bengal site ## Organization - [Content Organization](/bengal/docs/content/organization/): Pages, sections, and bundles explained - [The Component Model](/bengal/docs/content/organization/component-model/): Understanding Bengal's Component Model: Identity, Mode, and Data. - [Frontmatter Reference](/bengal/docs/content/organization/frontmatter/): Complete reference for all frontmatter fields - [Navigation Menus](/bengal/docs/content/organization/menus/): Configure navigation menus in Bengal ## Performance - [Performance](/bengal/docs/building/performance/): Optimize Bengal build performance - [Large Site Optimization](/bengal/docs/building/performance/large-sites/): Build and render 5K-100K+ pages efficiently with streaming, parallel processing, and query indexes - [Template Dependency Tracking](/bengal/docs/building/performance/template-deps/): Selective rebuilds when templates change — only affected pages rebuild ## Rendering - [Rendering Pipeline](/bengal/docs/reference/architecture/rendering/): How Bengal transforms Markdown to HTML - [Asset Pipeline](/bengal/docs/reference/architecture/rendering/assets-pipeline/): How Bengal processes static assets - [Content Processing API](/bengal/docs/reference/architecture/rendering/content-processing-api/): What Bengal computes vs what themes display - the content processing contract - [Discovery System](/bengal/docs/reference/architecture/rendering/discovery/): How Bengal finds and catalogs content, sections, and assets - [Post-Processing](/bengal/docs/reference/architecture/rendering/postprocess/): Site-wide operations after rendering - sitemap, RSS, and link validation - [Rendering Pipeline](/bengal/docs/reference/architecture/rendering/rendering/): How Bengal transforms Markdown to HTML ## Reuse - [Content Reuse](/bengal/docs/content/reuse/): Snippets, data files, and DRY patterns - [Advanced Filtering](/bengal/docs/content/reuse/filtering/): Build dynamic pages that filter content by multiple tags or criteria - [Content Snippets](/bengal/docs/content/reuse/snippets/): Reusable content fragments with include directives ## Sources - [Content Sources](/bengal/docs/content/sources/): Fetch content from external sources - [Autodoc](/bengal/docs/content/sources/autodoc/): Generate API docs from source code ## Troubleshooting - [Troubleshooting](/bengal/docs/building/troubleshooting/): Common issues and how to resolve them - [Template Errors](/bengal/docs/building/troubleshooting/template-errors/): Diagnosing and fixing template syntax errors, undefined variables, and missing templates ## Validation - [Validation](/bengal/docs/content/validation/): Content validation and health checks - [Validate and Fix](/bengal/docs/content/validation/validate-and-fix/): Run health checks and automatically fix common content issues ## Versioning - [Versioned Documentation](/bengal/docs/content/versioning/): Serve multiple versions of your documentation from a single site - [Cross-Version Links](/bengal/docs/content/versioning/cross-version-links/): Link to specific documentation versions from any page - [Version Directives](/bengal/docs/content/versioning/directives/): Mark content as added, deprecated, or changed in specific versions - [Folder Mode Setup](/bengal/docs/content/versioning/folder-mode/): Set up versioned documentation using folder-based versioning - [Git Mode Setup](/bengal/docs/content/versioning/git-mode/): Build versioned documentation from Git branches and tags ## Optional - [index.json](/bengal/index.json): Search index with page metadata and excerpts - [robots.txt](/bengal/robots.txt): Content Signals directives for AI crawlers