Migration Express
Migrate your existing static site to Bengal while preserving URLs.
Coming from Hugo, Jekyll, or Gatsby? This track shows you how to migrate content, adapt frontmatter, and preserve your URLs.
Tip
Duration: ~60 min | Prerequisite: Existing static site to migrate
Key Capabilities
What Bengal does
Key Capabilities
Bengal is a static site generator that produces HTML, CSS, and JavaScript from Markdown content and Kida templates.
What Bengal Does
Content & Authoring
- MyST Markdown — Directives, admonitions, cross-references, tabs, cards
- 50+ Built-in Directives — Code tabs, dropdowns, galleries, video embeds, versioning badges
- Content Collections — Type-safe frontmatter validation with dataclass or Pydantic schemas
- Mixed Content Types — Docs, blog, landing pages, changelogs in one site
Performance
- Kida Templates — 1.81x faster than Jinja2 under concurrent workloads
- Incremental Builds — 35-80ms rebuilds for single-page edits
- Free-Threading — True parallelism on Python 3.14+ (no GIL contention)
- Parallel Rendering — 2-4x speedup on multi-core systems
Developer Experience
- Auto-generated API Docs — From Python source, CLI tools, and OpenAPI specs
- Image Processing — Resize, crop, format conversion (WebP/AVIF), srcset generation
- Zero-Config Deploy — Auto-detects GitHub Pages, Netlify, Vercel
- Theme System — Install themes from PyPI, swizzle templates, 1,100+ CSS tokens
Quality & Validation
- Health Checks — Broken links, missing images, frontmatter validation
- Auto-Fix —
bengal fixrepairs common issues automatically - Site Analysis — Graph visualization, orphan detection, content metrics
Technical Details
| Feature | Description |
|---|---|
| Language | Python 3.14+ |
| Templates | Kida (Jinja2-compatible, 1.81x faster concurrent) |
| Markdown | Patitas (typed AST, O(n) parsing, thread-safe) |
| Highlighting | Rosettes (up to 3.75x faster than Pygments, 55+ languages) |
| Content Types | Docs, blog, pages, changelog (mixed) |
| Incremental Builds | Yes (35-80ms single-page, cache-validated) |
| Free-Threading (GIL=0) | Yes (Kida, Patitas, Rosettes are all GIL-independent) |
| Image Processing | fill, fit, resize, WebP/AVIF, srcset |
| Content Collections | Dataclass and Pydantic schema validation |
| Deploy Detection | GitHub Pages, Netlify, Vercel (zero-config) |
Seealso
Migration Guides
Migrate to Bengal from other static site generators
Migration Guides
Step-by-step guides to migrate your site from another static site generator to Bengal.
Migration Overview
All migrations follow similar patterns, regardless of your source platform:
Common Migration Steps
- Install Bengal:
pip install bengaloruv add bengal - Create new site:
bengal new site mysite - Copy content: Transfer your markdown files to
content/ - Convert syntax: Replace platform-specific syntax with Bengal directives
- Update configuration: Convert config files to
bengal.toml - Test and verify: Run
bengal buildandbengal health linkcheck
Universal Conversions
Most platforms use similar concepts that map to Bengal directives:
| Source Syntax | Bengal Directive | Common Use Case |
|---|---|---|
| Shortcodes/Components | :::{directive} |
Callouts, tabs, cards |
| Code highlighting | ```lang |
Code blocks |
| Includes | :::{include} |
Reusable content |
| Frontmatter | YAML frontmatter | Page metadata |
What Stays the Same
- Markdown files: Your content files transfer directly
- YAML frontmatter: Frontmatter format is compatible
- Directory structure:
content/structure works similarly - Static output: All generators produce static HTML
What Changes
- Template syntax: Each platform's template language → Jinja2
- Component syntax: Platform-specific components → Bengal directives
- Configuration: Platform config →
bengal.toml - Build process: Platform CLI →
bengal build
Tip
Not sure which guide to follow? Choose the guide for your current platform. If you're migrating from multiple platforms or a custom setup, start with the guide closest to your syntax (e.g., Hugo for shortcodes, Docusaurus for MDX components).
Common Issues
Template variables not working?
- Check the template variable mapping in your platform's guide
- Hugo users:
{{ .Params.x }}→{{ page.metadata.x }} - Jekyll users:
{{ page.custom }}→{{ page.metadata.custom }}
Directives not rendering?
- Ensure you're using triple colons:
:::{note}not:::note - Check that directive names match exactly (case-sensitive)
- See the Directives Reference for all available directives
Configuration errors?
- Verify
bengal.tomlsyntax (TOML format) - Check that all required
[site]fields are present - See the Configuration Reference for details
Links broken after migration?
- Run
bengal health linkcheckto find broken links - Update relative paths if directory structure changed
- Check that asset paths use
/assets/prefix
Platform-Specific Guides
From Hugo
Onboarding guide for Hugo users migrating to Bengal
Bengal for Hugo Users
Bengal's content model matches Hugo's. The main difference: shortcodes become directives.
Quick Wins (5 Minutes)
What Works The Same
| Hugo | Bengal | Status |
|---|---|---|
content/structure |
content/ |
✅ Identical |
_index.mdfor sections |
_index.md |
✅ Identical |
| YAML/TOML frontmatter | YAML frontmatter | ✅ Identical |
{{ .Params.x }} |
{{ page.metadata.x }} |
✅ Similar |
{{ .Site.Title }} |
Bengal |
✅ Similar |
config.toml |
bengal.toml |
✅ Similar |
The Key Difference
Hugo shortcodes → Bengal directives:
<!-- Hugo -->
{{</* notice warning */>}}
This is a warning
{{</* /notice */>}}
<!-- Bengal -->
:::{warning}
This is a warning
:::
Shortcode → Directive Translation
Callout Boxes
{{</* notice note */>}}
This is a note with **bold** text.
{{</* /notice */>}}
{{</* notice warning */>}}
Be careful!
{{</* /notice */>}}
{{</* notice tip */>}}
Pro tip here.
{{</* /notice */>}}
:::{note}
This is a note with **bold** text.
:::
:::{warning}
Be careful!
:::
:::{tip}
Pro tip here.
:::
Tabs
{{</* tabs */>}}
{{</* tab "Python" */>}}
```python
print("Hello")
```
{{</* /tab */>}}
{{</* tab "JavaScript" */>}}
```javascript
console.log("Hello");
```
{{</* /tab */>}}
{{</* /tabs */>}}
:::{tab-set}
:::{tab} Python
```python
print("Hello")
```
:::{/tab}
:::{tab} JavaScript
```javascript
console.log("Hello");
```
:::{/tab}
:::{/tab-set}
Code Highlighting
{{</* highlight python "linenos=table,hl_lines=2" */>}}
def hello():
print("Hello!") # highlighted
return True
{{</* /highlight */>}}
```python
def hello():
print("Hello!") # use comments to draw attention
return True
```
Figure / Image
{{</* figure src="/static/images/photo.jpg" title="My Photo" caption="A description" */>}}
:::{figure} /images/photo.jpg
:alt: My Photo
:caption: A description
:align: center
:::
Tip
Bengal's{figure} directive outputs semantic HTML (<figure> + <figcaption>) with accessibility support. The :alt: option is required. Use an empty :alt:value for decorative images.
YouTube Embed
{{</* youtube dQw4w9WgXcQ */>}}
:::{youtube} dQw4w9WgXcQ
:title: Video Title (required for accessibility)
:::
Tip
Bengal's{youtube} directive uses privacy-enhanced mode (youtube-nocookie.com) by default for GDPR compliance.
All Media Embed Directives
Bengal includes built-in directives for common media embeds:
| Hugo Shortcode | Bengal Directive | Notes |
|---|---|---|
{{ * youtube id */> }} |
:::{youtube} id |
Privacy-enhanced by default |
{{ * youtube id autoplay="true" */> }} |
:::{youtube} id:autoplay: true |
Options as directive options |
{{ * vimeo id */> }} |
:::{vimeo} id:title: Title |
DNT mode by default |
{{ * gist user id */> }} |
:::{gist} user/id |
Combined user/id format |
{{ * gist user id "file.py" */> }} |
:::{gist} user/id:file: file.py |
File as option |
{{ * figure src="/bengal/docs/tutorials/migration/..." */> }} |
:::{figure} path:alt: Alt text |
Semantic HTML output |
{{ * figure src="/bengal/docs/tutorials/migration/..." caption="..." */> }} |
:::{figure} path:caption: ... |
Caption as option |
| N/A | :::{video} /path.mp4 |
Self-hosted video |
| N/A | :::{audio} /path.mp3 |
Self-hosted audio |
| N/A | :::{codepen} user/pen |
CodePen embeds |
| N/A | :::{codesandbox} id |
CodeSandbox embeds |
| N/A | :::{stackblitz} id |
StackBlitz embeds |
| N/A | :::{asciinema} id |
Terminal recordings |
Note: All iframe-based directives require:title:for accessibility.
Template Variable Mapping
Page Variables
| Hugo | Bengal | Notes |
|---|---|---|
{{ .Title }} |
From Hugo |
Page title |
{{ .Content }} |
{{ content }} |
Rendered content |
{{ .Date }} |
{{ page.date }} |
Publication date |
{{ .Params.x }} |
{{ page.metadata.x }} |
Custom frontmatter |
{{ .Summary }} |
<p>Bengal's content model matches Hugo's. The main difference: shortcodes become directives.</p> <h2 id="quick-wins-5-minutes">Quick Wins (5 Minutes)</h2> <h3 id="what-works-the-same">What Works The Same</h3> <div class="table-wrapper"><table> <thead> <tr> <th>Hugo</th> <th>Bengal</th> <th>Status</th> </tr> </thead> <tbody> <tr> <td><code>content/</code> structure</td> <td><code>content/</code></td> <td>✅ Identical...</td> </tr> </tbody> </table></div> |
Auto-generated |
{{ .WordCount }} |
2200 |
Word count |
{{ .ReadingTime }} |
11 |
Minutes to read |
{{ .Permalink }} |
/bengal/docs/tutorials/migration/from-hugo/ |
URL with baseurl |
{{ .RelPermalink }} |
{{ page._path }} |
Site-relative path |
Site Variables
| Hugo | Bengal | Notes |
|---|---|---|
{{ .Site.Title }} |
Bengal |
Site title |
{{ .Site.BaseURL }} |
/bengal |
Base URL |
{{ .Site.Params.x }} |
{{ site.config.params.x }} |
Custom params |
{{ .Site.Pages }} |
[Page(title='Bengal', source='/home/runner/work/bengal/bengal/site/content/_index.md'), Page(title='Authors', source='/home/runner/work/bengal/bengal/site/content/authors/_index.md'), Page(title='Lawrence Lane', source='/home/runner/work/bengal/bengal/site/content/authors/lbliii.md'), Page(title='Core Concepts', source='/home/runner/work/bengal/bengal/site/content/docs/about/concepts/_index.md'), Page(title='About', source='/home/runner/work/bengal/bengal/site/content/docs/about/_index.md'), Page(title='Performance Benchmarks', source='/home/runner/work/bengal/bengal/site/content/docs/about/benchmarks.md'), Page(title='Key Capabilities', source='/home/runner/work/bengal/bengal/site/content/docs/about/comparison.md'), Page(title='The Bengal Ecosystem', source='/home/runner/work/bengal/bengal/site/content/docs/about/ecosystem.md'), Page(title='Frequently Asked Questions', source='/home/runner/work/bengal/bengal/site/content/docs/about/faq.md'), Page(title='Free-Threading', source='/home/runner/work/bengal/bengal/site/content/docs/about/free-threading.md'), Page(title='Glossary', source='/home/runner/work/bengal/bengal/site/content/docs/about/glossary.md'), Page(title='Limitations', source='/home/runner/work/bengal/bengal/site/content/docs/about/limitations.md'), Page(title='Project Philosophy', source='/home/runner/work/bengal/bengal/site/content/docs/about/philosophy.md'), Page(title='Configuration', source='/home/runner/work/bengal/bengal/site/content/docs/building/configuration/_index.md'), Page(title='Build Profiles', source='/home/runner/work/bengal/bengal/site/content/docs/building/configuration/profiles.md'), Page(title='Configuration Reference', source='/home/runner/work/bengal/bengal/site/content/docs/building/configuration/reference.md'), Page(title='Multi-Variant Builds', source='/home/runner/work/bengal/bengal/site/content/docs/building/configuration/variants.md'), Page(title='Deployment', source='/home/runner/work/bengal/bengal/site/content/docs/building/deployment/_index.md'), Page(title='Performance', source='/home/runner/work/bengal/bengal/site/content/docs/building/performance/_index.md'), Page(title='Large Site Optimization', source='/home/runner/work/bengal/bengal/site/content/docs/building/performance/large-sites.md'), Page(title='Template Dependency Tracking', source='/home/runner/work/bengal/bengal/site/content/docs/building/performance/template-deps.md'), Page(title='Troubleshooting', source='/home/runner/work/bengal/bengal/site/content/docs/building/troubleshooting/_index.md'), Page(title='Template Errors', source='/home/runner/work/bengal/bengal/site/content/docs/building/troubleshooting/template-errors.md'), Page(title='Building', source='/home/runner/work/bengal/bengal/site/content/docs/building/_index.md'), Page(title='Connect to IDE (Cursor MCP)', source='/home/runner/work/bengal/bengal/site/content/docs/building/connect-to-ide.md'), Page(title='DX Hints', source='/home/runner/work/bengal/bengal/site/content/docs/building/dx-hints.md'), Page(title='Output Formats', source='/home/runner/work/bengal/bengal/site/content/docs/building/output-formats.md'), Page(title='SEO & Discovery', source='/home/runner/work/bengal/bengal/site/content/docs/building/seo.md'), Page(title='Analysis', source='/home/runner/work/bengal/bengal/site/content/docs/content/analysis/_index.md'), Page(title='Graph Analysis', source='/home/runner/work/bengal/bengal/site/content/docs/content/analysis/graph.md'), Page(title='Notebooks', source='/home/runner/work/bengal/bengal/site/content/docs/content/authoring/notebooks/_index.md'), Page(title='Content Features', source='/home/runner/work/bengal/bengal/site/content/docs/content/authoring/notebooks/content-features.ipynb'), Page(title='Hello Notebook', source='/home/runner/work/bengal/bengal/site/content/docs/content/authoring/notebooks/hello-notebook.ipynb'), Page(title='Notebook Setup Guide', source='/home/runner/work/bengal/bengal/site/content/docs/content/authoring/notebooks/setup.md'), Page(title='Content Authoring', source='/home/runner/work/bengal/bengal/site/content/docs/content/authoring/_index.md'), Page(title='Callouts & Admonitions', source='/home/runner/work/bengal/bengal/site/content/docs/content/authoring/callouts.md'), Page(title='Code Blocks', source='/home/runner/work/bengal/bengal/site/content/docs/content/authoring/code-blocks.md'), Page(title='External References', source='/home/runner/work/bengal/bengal/site/content/docs/content/authoring/external-references.md'), Page(title='Images & Media', source='/home/runner/work/bengal/bengal/site/content/docs/content/authoring/images-media.md'), Page(title='Interactive Elements', source='/home/runner/work/bengal/bengal/site/content/docs/content/authoring/interactive.md'), Page(title='Linking Guide', source='/home/runner/work/bengal/bengal/site/content/docs/content/authoring/linking.md'), Page(title='Math and LaTeX', source='/home/runner/work/bengal/bengal/site/content/docs/content/authoring/math.md'), Page(title='Tables', source='/home/runner/work/bengal/bengal/site/content/docs/content/authoring/tables.md'), Page(title='Content Collections', source='/home/runner/work/bengal/bengal/site/content/docs/content/collections/_index.md'), Page(title='Internationalization (i18n)', source='/home/runner/work/bengal/bengal/site/content/docs/content/i18n/_index.md'), Page(title='i18n Quickstart', source='/home/runner/work/bengal/bengal/site/content/docs/content/i18n/quickstart.md'), Page(title='RTL Layout Support', source='/home/runner/work/bengal/bengal/site/content/docs/content/i18n/rtl.md'), Page(title='Translator Contributor Guide', source='/home/runner/work/bengal/bengal/site/content/docs/content/i18n/translator-guide.md'), Page(title='Content Organization', source='/home/runner/work/bengal/bengal/site/content/docs/content/organization/_index.md'), Page(title='The Component Model', source='/home/runner/work/bengal/bengal/site/content/docs/content/organization/component-model.md'), Page(title='Frontmatter Reference', source='/home/runner/work/bengal/bengal/site/content/docs/content/organization/frontmatter.md'), Page(title='Navigation Menus', source='/home/runner/work/bengal/bengal/site/content/docs/content/organization/menus.md'), Page(title='Content Reuse', source='/home/runner/work/bengal/bengal/site/content/docs/content/reuse/_index.md'), Page(title='Advanced Filtering', source='/home/runner/work/bengal/bengal/site/content/docs/content/reuse/filtering.md'), Page(title='Content Snippets', source='/home/runner/work/bengal/bengal/site/content/docs/content/reuse/snippets.md'), Page(title='Content Sources', source='/home/runner/work/bengal/bengal/site/content/docs/content/sources/_index.md'), Page(title='Autodoc', source='/home/runner/work/bengal/bengal/site/content/docs/content/sources/autodoc.md'), Page(title='Validation', source='/home/runner/work/bengal/bengal/site/content/docs/content/validation/_index.md'), Page(title='Validate and Fix', source='/home/runner/work/bengal/bengal/site/content/docs/content/validation/validate-and-fix.md'), Page(title='Versioned Documentation', source='/home/runner/work/bengal/bengal/site/content/docs/content/versioning/_index.md'), Page(title='Cross-Version Links', source='/home/runner/work/bengal/bengal/site/content/docs/content/versioning/cross-version-links.md'), Page(title='Version Directives', source='/home/runner/work/bengal/bengal/site/content/docs/content/versioning/directives.md'), Page(title='Folder Mode Setup', source='/home/runner/work/bengal/bengal/site/content/docs/content/versioning/folder-mode.md'), Page(title='Git Mode Setup', source='/home/runner/work/bengal/bengal/site/content/docs/content/versioning/git-mode.md'), Page(title='Content', source='/home/runner/work/bengal/bengal/site/content/docs/content/_index.md'), Page(title='Multilingual Sites', source='/home/runner/work/bengal/bengal/site/content/docs/content/i18n.md'), Page(title='Extending Bengal', source='/home/runner/work/bengal/bengal/site/content/docs/extending/_index.md'), Page(title='Build Hooks', source='/home/runner/work/bengal/bengal/site/content/docs/extending/build-hooks.md'), Page(title='Content Collections', source='/home/runner/work/bengal/bengal/site/content/docs/extending/collections.md'), Page(title='Custom Directives', source='/home/runner/work/bengal/bengal/site/content/docs/extending/custom-directives.md'), Page(title='Create Custom Skeletons', source='/home/runner/work/bengal/bengal/site/content/docs/extending/custom-skeletons.md'), Page(title='Custom Content Sources', source='/home/runner/work/bengal/bengal/site/content/docs/extending/custom-sources.md'), Page(title='Writing Plugins', source='/home/runner/work/bengal/bengal/site/content/docs/extending/plugins.md'), Page(title='Template Shortcodes', source='/home/runner/work/bengal/bengal/site/content/docs/extending/shortcodes.md'), Page(title='Theme Customization', source='/home/runner/work/bengal/bengal/site/content/docs/extending/theme-customization.md'), Page(title='Get Started', source='/home/runner/work/bengal/bengal/site/content/docs/get-started/_index.md'), Page(title='Install Bengal', source='/home/runner/work/bengal/bengal/site/content/docs/get-started/installation.md'), Page(title='Contributor Quickstart', source='/home/runner/work/bengal/bengal/site/content/docs/get-started/quickstart-contributor.md'), Page(title='Themer Quickstart', source='/home/runner/work/bengal/bengal/site/content/docs/get-started/quickstart-themer.md'), Page(title='Writer Quickstart', source='/home/runner/work/bengal/bengal/site/content/docs/get-started/quickstart-writer.md'), Page(title='Scaffold Your First Site', source='/home/runner/work/bengal/bengal/site/content/docs/get-started/scaffold-your-site.md'), Page(title='Core Architecture', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/core/_index.md'), Page(title='Build Cache', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/core/cache.md'), Page(title='Content Type Strategies', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/core/content-types.md'), Page(title='Data Flow', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/core/data-flow.md'), Page(title='Object Model', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/core/object-model.md'), Page(title='Build Orchestration', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/core/orchestration.md'), Page(title='Build Pipeline', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/core/pipeline.md'), Page(title='Meta & Operations', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/meta/_index.md'), Page(title='Extension Points', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/meta/extension-points.md'), Page(title='File Organization', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/meta/file-organization.md'), Page(title='Protocol Layer', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/meta/protocols.md'), Page(title='Testing Strategy', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/meta/testing.md'), Page(title='Rendering Pipeline', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/rendering/_index.md'), Page(title='Asset Pipeline', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/rendering/assets-pipeline.md'), Page(title='Content Processing API', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/rendering/content-processing-api.md'), Page(title='Discovery System', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/rendering/discovery.md'), Page(title='Post-Processing', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/rendering/postprocess.md'), Page(title='Rendering Pipeline', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/rendering/rendering.md'), Page(title='Subsystems', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/subsystems/_index.md'), Page(title='Analysis System', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/subsystems/analysis.md'), Page(title='Autodoc System', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/subsystems/autodoc.md'), Page(title='Collections', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/subsystems/collections.md'), Page(title='Content Layer', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/subsystems/content-layer.md'), Page(title='Debug Tools', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/subsystems/debug.md'), Page(title='Fonts System', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/subsystems/fonts.md'), Page(title='Health Check System', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/subsystems/health.md'), Page(title='CLI Output', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/subsystems/output.md'), Page(title='Tooling & CLI', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/tooling/_index.md'), Page(title='CLI', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/tooling/cli.md'), Page(title='Configuration System', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/tooling/config.md'), Page(title='Development Server', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/tooling/server.md'), Page(title='Utilities', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/tooling/utils.md'), Page(title='Architecture', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/_index.md'), Page(title='Design Principles', source='/home/runner/work/bengal/bengal/site/content/docs/reference/architecture/design-principles.md'), Page(title='Directives Reference', source='/home/runner/work/bengal/bengal/site/content/docs/reference/directives/_index.md'), Page(title='Admonitions', source='/home/runner/work/bengal/bengal/site/content/docs/reference/directives/admonitions.md'), Page(title='Content Reuse Directives', source='/home/runner/work/bengal/bengal/site/content/docs/reference/directives/content-reuse.md'), Page(title='Formatting Directives', source='/home/runner/work/bengal/bengal/site/content/docs/reference/directives/formatting.md'), Page(title='Interactive Directives', source='/home/runner/work/bengal/bengal/site/content/docs/reference/directives/interactive.md'), Page(title='Layout Directives', source='/home/runner/work/bengal/bengal/site/content/docs/reference/directives/layout.md'), Page(title='Media Directives', source='/home/runner/work/bengal/bengal/site/content/docs/reference/directives/media.md'), Page(title='Navigation Directives', source='/home/runner/work/bengal/bengal/site/content/docs/reference/directives/navigation.md'), Page(title='Versioning Directives', source='/home/runner/work/bengal/bengal/site/content/docs/reference/directives/versioning.md'), Page(title='Error Code Reference', source='/home/runner/work/bengal/bengal/site/content/docs/reference/errors/_index.md'), Page(title='Health Check Codes Reference', source='/home/runner/work/bengal/bengal/site/content/docs/reference/errors/health-codes.md'), Page(title='Template Functions Reference', source='/home/runner/work/bengal/bengal/site/content/docs/reference/template-functions/_index.md'), Page(title='Collection Filters', source='/home/runner/work/bengal/bengal/site/content/docs/reference/template-functions/collection-filters.md'), Page(title='Content Filters', source='/home/runner/work/bengal/bengal/site/content/docs/reference/template-functions/content-filters.md'), Page(title='Debug Filters', source='/home/runner/work/bengal/bengal/site/content/docs/reference/template-functions/debug-filters.md'), Page(title='Internationalization Functions', source='/home/runner/work/bengal/bengal/site/content/docs/reference/template-functions/i18n-functions.md'), Page(title='Linking Functions', source='/home/runner/work/bengal/bengal/site/content/docs/reference/template-functions/linking-functions.md'), Page(title='Math & Data Functions', source='/home/runner/work/bengal/bengal/site/content/docs/reference/template-functions/math-data-filters.md'), Page(title='Navigation Functions', source='/home/runner/work/bengal/bengal/site/content/docs/reference/template-functions/navigation-functions.md'), Page(title='Page & Section Properties', source='/home/runner/work/bengal/bengal/site/content/docs/reference/template-functions/page-properties.md'), Page(title='Template Functions Reference (Generated)', source='/home/runner/work/bengal/bengal/site/content/docs/reference/template-functions/reference-generated.md'), Page(title='SEO, Image & Theme Functions', source='/home/runner/work/bengal/bengal/site/content/docs/reference/template-functions/seo-image-functions.md'), Page(title='String & Date Filters', source='/home/runner/work/bengal/bengal/site/content/docs/reference/template-functions/string-date-filters.md'), Page(title='View Filters', source='/home/runner/work/bengal/bengal/site/content/docs/reference/template-functions/view-filters.md'), Page(title='Reference', source='/home/runner/work/bengal/bengal/site/content/docs/reference/_index.md'), Page(title='Cheatsheet', source='/home/runner/work/bengal/bengal/site/content/docs/reference/cheatsheet.md'), Page(title='Icon Reference', source='/home/runner/work/bengal/bengal/site/content/docs/reference/icons.md'), Page(title='Kida Syntax Reference', source='/home/runner/work/bengal/bengal/site/content/docs/reference/kida-syntax.md'), Page(title='Security Hardening', source='/home/runner/work/bengal/bengal/site/content/docs/reference/security.md'), Page(title='Site Templates Reference', source='/home/runner/work/bengal/bengal/site/content/docs/reference/site-templates.md'), Page(title='Theme Variables', source='/home/runner/work/bengal/bengal/site/content/docs/reference/theme-variables.md'), Page(title='Assets', source='/home/runner/work/bengal/bengal/site/content/docs/theming/assets/_index.md'), Page(title='Template Cookbook', source='/home/runner/work/bengal/bengal/site/content/docs/theming/recipes/_index.md'), Page(title='Archive Page', source='/home/runner/work/bengal/bengal/site/content/docs/theming/recipes/archive-page.md'), Page(title='Author Byline', source='/home/runner/work/bengal/bengal/site/content/docs/theming/recipes/author-byline.md'), Page(title='Blog Comments', source='/home/runner/work/bengal/bengal/site/content/docs/theming/recipes/blog-comments.md'), Page(title='Content Freshness', source='/home/runner/work/bengal/bengal/site/content/docs/theming/recipes/content-freshness.md'), Page(title='Featured Posts', source='/home/runner/work/bengal/bengal/site/content/docs/theming/recipes/featured-posts.md'), Page(title='Filter by Multiple Tags', source='/home/runner/work/bengal/bengal/site/content/docs/theming/recipes/filter-by-tags.md'), Page(title='Group by Category', source='/home/runner/work/bengal/bengal/site/content/docs/theming/recipes/group-by-category.md'), Page(title='List Recent Posts', source='/home/runner/work/bengal/bengal/site/content/docs/theming/recipes/list-recent-posts.md'), Page(title='Show Reading Time', source='/home/runner/work/bengal/bengal/site/content/docs/theming/recipes/reading-time.md'), Page(title='Section Statistics', source='/home/runner/work/bengal/bengal/site/content/docs/theming/recipes/section-statistics.md'), Page(title='Series Navigation', source='/home/runner/work/bengal/bengal/site/content/docs/theming/recipes/series-navigation.md'), Page(title='Social Sharing Buttons', source='/home/runner/work/bengal/bengal/site/content/docs/theming/recipes/social-sharing-buttons.md'), Page(title='Add Table of Contents', source='/home/runner/work/bengal/bengal/site/content/docs/theming/recipes/table-of-contents.md'), Page(title='Template Views', source='/home/runner/work/bengal/bengal/site/content/docs/theming/recipes/template-views.md'), Page(title='Caching', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/kida/caching/_index.md'), Page(title='Automatic Block Caching', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/kida/caching/automatic.md'), Page(title='Fragment Caching', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/kida/caching/fragments.md'), Page(title='Migration', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/kida/migration/_index.md'), Page(title='From Jinja2', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/kida/migration/from-jinja.md'), Page(title='Syntax', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/kida/syntax/_index.md'), Page(title='Block Syntax', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/kida/syntax/blocks.md'), Page(title='Functions', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/kida/syntax/functions.md'), Page(title='Operators', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/kida/syntax/operators.md'), Page(title='Variables and Scoping', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/kida/syntax/variables.md'), Page(title='Kida Template Engine', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/kida/_index.md'), Page(title='Add a Custom Filter', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/kida/add-custom-filter.md'), Page(title='Kida Architecture', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/kida/architecture.md'), Page(title='Create a Custom Template', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/kida/create-custom-template.md'), Page(title='Kida Performance', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/kida/performance.md'), Page(title='Templating', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/_index.md'), Page(title='Bring Your Own Template Engine', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/custom-engine.md'), Page(title='Functions vs Filters Quick Reference', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/functions-quick-reference.md'), Page(title='Template Functions', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/functions.md'), Page(title='Image Processing', source='/home/runner/work/bengal/bengal/site/content/docs/theming/templating/image-processing.md'), Page(title='Themes', source='/home/runner/work/bengal/bengal/site/content/docs/theming/themes/_index.md'), Page(title='Customize Themes', source='/home/runner/work/bengal/bengal/site/content/docs/theming/themes/customize.md'), Page(title='Theming', source='/home/runner/work/bengal/bengal/site/content/docs/theming/_index.md'), Page(title='Content Patterns', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/content/_index.md'), Page(title='Create a Tutorial Series', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/content/create-a-tutorial-series.md'), Page(title='Migration Guides', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/migration/_index.md'), Page(title='From Docusaurus/MDX', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/migration/from-docusaurus.md'), Page(title='From Fern', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/migration/from-fern.md'), Page(title='From Hugo', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/migration/from-hugo.md'), Page(title='From Jekyll', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/migration/from-jekyll.md'), Page(title='From Mintlify', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/migration/from-mintlify.md'), Page(title='From MkDocs', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/migration/from-mkdocs.md'), Page(title='From Sphinx/RST', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/migration/from-sphinx.md'), Page(title='Operations', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/operations/_index.md'), Page(title='Analyze and Improve Site Connectivity', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/operations/analyze-site-connectivity.md'), Page(title='Automate with GitHub Actions', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/operations/automate-with-github-actions.md'), Page(title='Build Sites', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/sites/_index.md'), Page(title='Build a Blog from Scratch', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/sites/build-a-blog.md'), Page(title='Build a Multi-Author Blog', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/sites/build-a-multi-author-blog.md'), Page(title='Skeleton YAML Quickstart', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/sites/skeleton-quickstart.md'), Page(title='Theming', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/theming/_index.md'), Page(title='Getting Started with Kida', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/theming/getting-started-with-kida.md'), Page(title='Swizzle and Customize the Default Theme', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/theming/swizzle-default-theme.md'), Page(title='Tutorials', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/_index.md'), Page(title='User Scenarios', source='/home/runner/work/bengal/bengal/site/content/docs/tutorials/user-scenarios.md'), Page(title='Documentation', source='/home/runner/work/bengal/bengal/site/content/docs/_index.md'), Page(title='Bengal 0.1.0', source='/home/runner/work/bengal/bengal/site/content/releases/0.1.0.md'), Page(title='Bengal 0.1.1', source='/home/runner/work/bengal/bengal/site/content/releases/0.1.1.md'), Page(title='Bengal 0.1.2', source='/home/runner/work/bengal/bengal/site/content/releases/0.1.2.md'), Page(title='Bengal 0.1.3', source='/home/runner/work/bengal/bengal/site/content/releases/0.1.3.md'), Page(title='Bengal 0.1.4', source='/home/runner/work/bengal/bengal/site/content/releases/0.1.4.md'), Page(title='Bengal 0.1.5', source='/home/runner/work/bengal/bengal/site/content/releases/0.1.5.md'), Page(title='Bengal 0.1.6', source='/home/runner/work/bengal/bengal/site/content/releases/0.1.6.md'), Page(title='Bengal 0.1.7', source='/home/runner/work/bengal/bengal/site/content/releases/0.1.7.md'), Page(title='Bengal 0.1.8', source='/home/runner/work/bengal/bengal/site/content/releases/0.1.8.md'), Page(title='Bengal 0.1.9', source='/home/runner/work/bengal/bengal/site/content/releases/0.1.9.md'), Page(title='Bengal 0.2.0', source='/home/runner/work/bengal/bengal/site/content/releases/0.2.0.md'), Page(title='Bengal 0.2.1', source='/home/runner/work/bengal/bengal/site/content/releases/0.2.1.md'), Page(title='Bengal 0.2.3', source='/home/runner/work/bengal/bengal/site/content/releases/0.2.3.md'), Page(title='Bengal 0.2.4', source='/home/runner/work/bengal/bengal/site/content/releases/0.2.4.md'), Page(title='Bengal 0.2.5', source='/home/runner/work/bengal/bengal/site/content/releases/0.2.5.md'), Page(title='Bengal 0.2.6', source='/home/runner/work/bengal/bengal/site/content/releases/0.2.6.md'), Page(title='Bengal 0.2.7', source='/home/runner/work/bengal/bengal/site/content/releases/0.2.7.md'), Page(title='Releases', source='/home/runner/work/bengal/bengal/site/content/releases/_index.md'), Page(title='Learning Tracks', source='/home/runner/work/bengal/bengal/site/content/tracks/_index.md'), Page(title='API Documentation Specialist', source='/home/runner/work/bengal/bengal/site/content/tracks/api-docs-specialist.md'), Page(title='Content Author Mastery', source='/home/runner/work/bengal/bengal/site/content/tracks/content-mastery.md'), Page(title='Extension Developer', source='/home/runner/work/bengal/bengal/site/content/tracks/extension-developer.md'), Page(title='Migration Express', source='/home/runner/work/bengal/bengal/site/content/tracks/migration-express.md'), Page(title='Performance Optimizer', source='/home/runner/work/bengal/bengal/site/content/tracks/performance-optimizer.md'), Page(title='Documentation Team Lead', source='/home/runner/work/bengal/bengal/site/content/tracks/team-lead.md'), Page(title='Theme Developer Journey', source='/home/runner/work/bengal/bengal/site/content/tracks/theme-developer.md'), Page(title='Versioning Expert', source='/home/runner/work/bengal/bengal/site/content/tracks/versioning-expert.md'), Page(title='Zero to Deployed', source='/home/runner/work/bengal/bengal/site/content/tracks/zero-to-deployed.md'), Page(title='bengal', source='api/bengal/bengal.md'), Page(title='__main__', source='api/bengal/__main__.md'), Page(title='concurrency', source='api/bengal/concurrency.md'), Page(title='base', source='api/bengal/content_types/base.md'), Page(title='content_types', source='api/bengal/content_types.md'), Page(title='utils', source='api/bengal/content_types/utils.md'), Page(title='templates', source='api/bengal/content_types/templates.md'), Page(title='registry', source='api/bengal/content_types/registry.md'), Page(title='strategies', source='api/bengal/content_types/strategies.md'), Page(title='generate', source='api/bengal/themes/generate.md'), Page(title='swizzle', source='api/bengal/themes/swizzle.md'), Page(title='utils', source='api/bengal/themes/utils.md'), Page(title='themes', source='api/bengal/themes.md'), Page(title='tokens', source='api/bengal/themes/tokens.md'), Page(title='config', source='api/bengal/themes/config.md'), Page(title='js_bundler', source='api/bengal/assets/js_bundler.md'), Page(title='assets', source='api/bengal/assets.md'), Page(title='_discovery', source='api/bengal/assets/_discovery.md'), Page(title='manifest', source='api/bengal/assets/manifest.md'), Page(title='pipeline', source='api/bengal/assets/pipeline.md'), Page(title='css_minifier', source='api/bengal/assets/css_minifier.md'), Page(title='cli', source='api/bengal/cli.md'), Page(title='progress', source='api/bengal/cli/progress.md'), Page(title='__main__', source='api/bengal/cli/__main__.md'), Page(title='base', source='api/bengal/cli/base.md'), Page(title='utils', source='api/bengal/services/utils.md'), Page(title='services', source='api/bengal/services.md'), Page(title='query', source='api/bengal/services/query.md'), Page(title='theme', source='api/bengal/services/theme.md'), Page(title='config', source='api/bengal/services/config.md'), Page(title='validation', source='api/bengal/services/validation.md'), Page(title='experimental', source='api/bengal/experimental.md'), Page(title='data', source='api/bengal/services/data.md'), Page(title='utils', source='api/bengal/scaffolds/utils.md'), Page(title='scaffolds', source='api/bengal/scaffolds.md'), Page(title='base', source='api/bengal/scaffolds/base.md'), Page(title='api_doc_enhancer', source='api/bengal/rendering/api_doc_enhancer.md'), Page(title='registry', source='api/bengal/scaffolds/registry.md'), Page(title='metadata', source='api/bengal/rendering/metadata.md'), Page(title='asset_tracking', source='api/bengal/rendering/asset_tracking.md'), Page(title='asset_extractor', source='api/bengal/rendering/asset_extractor.md'), Page(title='template_context_validation', source='api/bengal/rendering/template_context_validation.md'), Page(title='rendering', source='api/bengal/rendering.md'), Page(title='urls', source='api/bengal/rendering/urls.md'), Page(title='content_cache', source='api/bengal/rendering/content_cache.md'), Page(title='template_profiler', source='api/bengal/rendering/template_profiler.md'), Page(title='assets', source='api/bengal/rendering/assets.md'), Page(title='template_tests', source='api/bengal/rendering/template_tests.md'), Page(title='link_transformer', source='api/bengal/rendering/link_transformer.md'), Page(title='renderer', source='api/bengal/rendering/renderer.md'), Page(title='block_cache', source='api/bengal/rendering/block_cache.md'), Page(title='shortcodes', source='api/bengal/rendering/shortcodes.md'), Page(title='page_operations', source='api/bengal/rendering/page_operations.md'), Page(title='models', source='api/bengal/debug/models.md'), Page(title='base', source='api/bengal/debug/base.md'), Page(title='utils', source='api/bengal/debug/utils.md'), Page(title='dependency_visualizer', source='api/bengal/debug/dependency_visualizer.md'), Page(title='debug', source='api/bengal/debug.md'), Page(title='reporter', source='api/bengal/debug/reporter.md'), Page(title='config_inspector', source='api/bengal/debug/config_inspector.md'), Page(title='content_migrator', source='api/bengal/debug/content_migrator.md'), Page(title='delta_analyzer', source='api/bengal/debug/delta_analyzer.md'), Page(title='incremental_debugger', source='api/bengal/debug/incremental_debugger.md'), Page(title='explainer', source='api/bengal/debug/explainer.md'), Page(title='i18n', source='api/bengal/i18n.md'), Page(title='scout', source='api/bengal/snapshots/scout.md'), Page(title='catalog', source='api/bengal/i18n/catalog.md'), Page(title='scheduling', source='api/bengal/snapshots/scheduling.md'), Page(title='content', source='api/bengal/snapshots/content.md'), Page(title='scheduler', source='api/bengal/snapshots/scheduler.md'), Page(title='utils', source='api/bengal/snapshots/utils.md'), Page(title='snapshots', source='api/bengal/snapshots.md'), Page(title='builder', source='api/bengal/snapshots/builder.md'), Page(title='types', source='api/bengal/snapshots/types.md'), Page(title='templates', source='api/bengal/snapshots/templates.md'), Page(title='speculative', source='api/bengal/snapshots/speculative.md'), Page(title='persistence', source='api/bengal/snapshots/persistence.md'), Page(title='merge', source='api/bengal/config/merge.md'), Page(title='build_options_resolver', source='api/bengal/config/build_options_resolver.md'), Page(title='url_policy', source='api/bengal/config/url_policy.md'), Page(title='env_overrides', source='api/bengal/config/env_overrides.md'), Page(title='deprecation', source='api/bengal/config/deprecation.md'), Page(title='env_config', source='api/bengal/config/env_config.md'), Page(title='utils', source='api/bengal/config/utils.md'), Page(title='config', source='api/bengal/config.md'), Page(title='origin_tracker', source='api/bengal/config/origin_tracker.md'), Page(title='accessor', source='api/bengal/config/accessor.md'), Page(title='unified_loader', source='api/bengal/config/unified_loader.md'), Page(title='feature_mappings', source='api/bengal/config/feature_mappings.md'), Page(title='loader_utils', source='api/bengal/config/loader_utils.md'), Page(title='snapshot', source='api/bengal/config/snapshot.md'), Page(title='environment', source='api/bengal/config/environment.md'), Page(title='defaults', source='api/bengal/config/defaults.md'), Page(title='types', source='api/bengal/config/types.md'), Page(title='validators', source='api/bengal/config/validators.md'), Page(title='hash', source='api/bengal/config/hash.md'), Page(title='directory_loader', source='api/bengal/config/directory_loader.md'), Page(title='full_to_incremental', source='api/bengal/orchestration/full_to_incremental.md'), Page(title='complexity', source='api/bengal/orchestration/complexity.md'), Page(title='postprocess', source='api/bengal/orchestration/postprocess.md'), Page(title='content', source='api/bengal/orchestration/content.md'), Page(title='taxonomy', source='api/bengal/orchestration/taxonomy.md'), Page(title='asset', source='api/bengal/orchestration/asset.md'), Page(title='section', source='api/bengal/orchestration/section.md'), Page(title='badge', source='api/bengal/orchestration/badge.md'), Page(title='related_posts', source='api/bengal/orchestration/related_posts.md'), Page(title='orchestration', source='api/bengal/orchestration.md'), Page(title='css_optimizer', source='api/bengal/orchestration/css_optimizer.md'), Page(title='feature_detector', source='api/bengal/orchestration/feature_detector.md'), Page(title='static', source='api/bengal/orchestration/static.md'), Page(title='build_state', source='api/bengal/orchestration/build_state.md'), Page(title='types', source='api/bengal/orchestration/types.md'), Page(title='css_manifest_types', source='api/bengal/orchestration/css_manifest_types.md'), Page(title='streaming', source='api/bengal/orchestration/streaming.md'), Page(title='constants', source='api/bengal/orchestration/constants.md'), Page(title='summary', source='api/bengal/orchestration/summary.md'), Page(title='build_context', source='api/bengal/orchestration/build_context.md'), Page(title='stats_minimal', source='api/bengal/utils/stats_minimal.md'), Page(title='xref', source='api/bengal/utils/xref.md'), Page(title='menu', source='api/bengal/orchestration/menu.md'), Page(title='utils', source='api/bengal/utils.md'), Page(title='autodoc', source='api/bengal/utils/autodoc.md'), Page(title='stats_protocol', source='api/bengal/utils/stats_protocol.md'), Page(title='serialization', source='api/bengal/utils/serialization.md'), Page(title='cache_registry', source='api/bengal/utils/cache_registry.md'), Page(title='utils', source='api/bengal/effects/utils.md'), Page(title='effects', source='api/bengal/effects.md'), Page(title='block_diff', source='api/bengal/effects/block_diff.md'), Page(title='render_integration', source='api/bengal/effects/render_integration.md'), Page(title='tracer', source='api/bengal/effects/tracer.md'), Page(title='version', source='api/bengal/cache/version.md'), Page(title='effect', source='api/bengal/effects/effect.md'), Page(title='generated_page_cache', source='api/bengal/cache/generated_page_cache.md'), Page(title='query_index', source='api/bengal/cache/query_index.md'), Page(title='compression', source='api/bengal/cache/compression.md'), Page(title='page_discovery_cache', source='api/bengal/cache/page_discovery_cache.md'), Page(title='paths', source='api/bengal/cache/paths.md'), Page(title='path_registry', source='api/bengal/cache/path_registry.md'), Page(title='cache', source='api/bengal/cache.md'), Page(title='manifest', source='api/bengal/cache/manifest.md'), Page(title='content_hash_registry', source='api/bengal/cache/content_hash_registry.md'), Page(title='query_index_registry', source='api/bengal/cache/query_index_registry.md'), Page(title='asset_dependency_map', source='api/bengal/cache/asset_dependency_map.md'), Page(title='cache_store', source='api/bengal/cache/cache_store.md'), Page(title='directive_cache', source='api/bengal/cache/directive_cache.md'), Page(title='base', source='api/bengal/autodoc/base.md'), Page(title='taxonomy_index', source='api/bengal/cache/taxonomy_index.md'), Page(title='autodoc', source='api/bengal/autodoc.md'), Page(title='hashing', source='api/bengal/autodoc/hashing.md'), Page(title='config', source='api/bengal/autodoc/config.md'), Page(title='robots_txt', source='api/bengal/postprocess/robots_txt.md'), Page(title='docstring_parser', source='api/bengal/autodoc/docstring_parser.md'), Page(title='postprocess', source='api/bengal/postprocess.md'), Page(title='speculation', source='api/bengal/postprocess/speculation.md'), Page(title='sitemap', source='api/bengal/postprocess/sitemap.md'), Page(title='redirects', source='api/bengal/postprocess/redirects.md'), Page(title='social_cards', source='api/bengal/postprocess/social_cards.md'), Page(title='special_pages', source='api/bengal/postprocess/special_pages.md'), Page(title='xref_index', source='api/bengal/postprocess/xref_index.md'), Page(title='rss', source='api/bengal/postprocess/rss.md'), Page(title='html_output', source='api/bengal/postprocess/html_output.md'), Page(title='link_registry', source='api/bengal/health/link_registry.md'), Page(title='base', source='api/bengal/health/base.md'), Page(title='utils', source='api/bengal/health/utils.md'), Page(title='health', source='api/bengal/health.md'), Page(title='health_check', source='api/bengal/health/health_check.md'), Page(title='backend', source='api/bengal/server/backend.md'), Page(title='ignore_filter', source='api/bengal/server/ignore_filter.md'), Page(title='build_hooks', source='api/bengal/server/build_hooks.md'), Page(title='responses', source='api/bengal/server/responses.md'), Page(title='types', source='api/bengal/health/types.md'), Page(title='reload_types', source='api/bengal/server/reload_types.md'), Page(title='resource_manager', source='api/bengal/server/resource_manager.md'), Page(title='utils', source='api/bengal/server/utils.md'), Page(title='reload_controller', source='api/bengal/server/reload_controller.md'), Page(title='server', source='api/bengal/server.md'), Page(title='buffer_manager', source='api/bengal/server/buffer_manager.md'), Page(title='build_trigger', source='api/bengal/server/build_trigger.md'), Page(title='build_executor', source='api/bengal/server/build_executor.md'), Page(title='dev_server', source='api/bengal/server/dev_server.md'), Page(title='build_state', source='api/bengal/server/build_state.md'), Page(title='asgi_app', source='api/bengal/server/asgi_app.md'), Page(title='constants', source='api/bengal/server/constants.md'), Page(title='watcher_runner', source='api/bengal/server/watcher_runner.md'), Page(title='file_watcher', source='api/bengal/server/file_watcher.md'), Page(title='pid_manager', source='api/bengal/server/pid_manager.md'), Page(title='reload_protocols', source='api/bengal/server/reload_protocols.md'), Page(title='python_markdown', source='api/bengal/parsing/python_markdown.md'), Page(title='factory', source='api/bengal/parsing/factory.md'), Page(title='parsing', source='api/bengal/parsing.md'), Page(title='base', source='api/bengal/parsing/base.md'), Page(title='protocols', source='api/bengal/parsing/protocols.md'), Page(title='content', source='api/bengal/content.md'), Page(title='errors', source='api/bengal/collections/errors.md'), Page(title='loader', source='api/bengal/collections/loader.md'), Page(title='collections', source='api/bengal/collections.md'), Page(title='schemas', source='api/bengal/collections/schemas.md'), Page(title='loader', source='api/bengal/plugins/loader.md'), Page(title='protocol', source='api/bengal/plugins/protocol.md'), Page(title='plugins', source='api/bengal/plugins.md'), Page(title='validator', source='api/bengal/collections/validator.md'), Page(title='registry', source='api/bengal/plugins/registry.md'), Page(title='integration', source='api/bengal/plugins/integration.md'), Page(title='utils', source='api/bengal/fonts/utils.md'), Page(title='fonts', source='api/bengal/fonts.md'), Page(title='generator', source='api/bengal/fonts/generator.md'), Page(title='results', source='api/bengal/analysis/results.md'), Page(title='analysis', source='api/bengal/analysis.md'), Page(title='downloader', source='api/bengal/fonts/downloader.md'), Page(title='content_intelligence', source='api/bengal/analysis/content_intelligence.md'), Page(title='icons', source='api/bengal/output/icons.md'), Page(title='utils', source='api/bengal/output/utils.md'), Page(title='output', source='api/bengal/output.md'), Page(title='dev_server', source='api/bengal/output/dev_server.md'), Page(title='globals', source='api/bengal/output/globals.md'), Page(title='enums', source='api/bengal/output/enums.md'), Page(title='colors', source='api/bengal/output/colors.md'), Page(title='resolver', source='api/bengal/icons/resolver.md'), Page(title='core', source='api/bengal/output/core.md'), Page(title='icons', source='api/bengal/icons.md'), Page(title='svg', source='api/bengal/icons/svg.md'), Page(title='analysis', source='api/bengal/protocols/analysis.md'), Page(title='rendering', source='api/bengal/protocols/rendering.md'), Page(title='core', source='api/bengal/protocols/core.md'), Page(title='protocols', source='api/bengal/protocols.md'), Page(title='stats', source='api/bengal/protocols/stats.md'), Page(title='build', source='api/bengal/protocols/build.md'), Page(title='infrastructure', source='api/bengal/protocols/infrastructure.md'), Page(title='capabilities', source='api/bengal/protocols/capabilities.md'), Page(title='site_data', source='api/bengal/core/site_data.md'), Page(title='diagnostics', source='api/bengal/core/diagnostics.md'), Page(title='version', source='api/bengal/core/version.md'), Page(title='series', source='api/bengal/core/series.md'), Page(title='cascade_snapshot', source='api/bengal/core/cascade_snapshot.md'), Page(title='author', source='api/bengal/core/author.md'), Page(title='core', source='api/bengal/core.md'), Page(title='build_state', source='api/bengal/core/build_state.md'), Page(title='registry', source='api/bengal/core/registry.md'), Page(title='nav_tree', source='api/bengal/core/nav_tree.md'), Page(title='page_cache', source='api/bengal/core/page_cache.md'), Page(title='site_content', source='api/bengal/core/site_content.md'), Page(title='menu', source='api/bengal/core/menu.md'), Page(title='url_ownership', source='api/bengal/core/url_ownership.md'), Page(title='suggestions', source='api/bengal/errors/suggestions.md'), Page(title='utils', source='api/bengal/errors/utils.md'), Page(title='codes', source='api/bengal/errors/codes.md'), Page(title='errors', source='api/bengal/errors.md'), Page(title='reporter', source='api/bengal/errors/reporter.md'), Page(title='display', source='api/bengal/errors/display.md'), Page(title='recovery', source='api/bengal/errors/recovery.md'), Page(title='dev_server', source='api/bengal/errors/dev_server.md'), Page(title='exceptions', source='api/bengal/errors/exceptions.md'), Page(title='context', source='api/bengal/errors/context.md'), Page(title='handlers', source='api/bengal/errors/handlers.md'), Page(title='session', source='api/bengal/errors/session.md'), Page(title='aggregation', source='api/bengal/errors/aggregation.md'), Page(title='traceback', source='api/bengal/errors/traceback.md'), Page(title='renderer', source='api/bengal/errors/traceback/renderer.md'), Page(title='config', source='api/bengal/errors/traceback/config.md'), Page(title='resolution', source='api/bengal/core/theme/resolution.md'), Page(title='theme', source='api/bengal/core/theme.md'), Page(title='compatibility', source='api/bengal/core/theme/compatibility.md'), Page(title='config', source='api/bengal/core/theme/config.md'), Page(title='cascade', source='api/bengal/core/cascade.md'), Page(title='registry', source='api/bengal/core/theme/registry.md'), Page(title='relationships', source='api/bengal/core/page/relationships.md'), Page(title='view', source='api/bengal/core/cascade/view.md'), Page(title='content', source='api/bengal/core/page/content.md'), Page(title='page_core', source='api/bengal/core/page/page_core.md'), Page(title='utils', source='api/bengal/core/page/utils.md'), Page(title='metadata', source='api/bengal/core/page/metadata.md'), Page(title='bundle', source='api/bengal/core/page/bundle.md'), Page(title='page', source='api/bengal/core/page.md'), Page(title='frontmatter', source='api/bengal/core/page/frontmatter.md'), Page(title='navigation', source='api/bengal/core/page/navigation.md'), Page(title='computed', source='api/bengal/core/page/computed.md'), Page(title='cascade', source='api/bengal/core/site/cascade.md'), Page(title='proxy', source='api/bengal/core/page/proxy.md'), Page(title='accessors', source='api/bengal/core/site/accessors.md'), Page(title='factory', source='api/bengal/core/site/factory.md'), Page(title='versioning', source='api/bengal/core/site/versioning.md'), Page(title='config_normalized', source='api/bengal/core/site/config_normalized.md'), Page(title='discovery', source='api/bengal/core/site/discovery.md'), Page(title='site', source='api/bengal/core/site.md'), Page(title='lifecycle', source='api/bengal/core/site/lifecycle.md'), Page(title='utils', source='api/bengal/core/section/utils.md'), Page(title='queries', source='api/bengal/core/section/queries.md'), Page(title='hierarchy', source='api/bengal/core/section/hierarchy.md'), Page(title='protocols', source='api/bengal/core/section/protocols.md'), Page(title='section', source='api/bengal/core/section.md'), Page(title='weighted', source='api/bengal/core/section/weighted.md'), Page(title='ergonomics', source='api/bengal/core/section/ergonomics.md'), Page(title='sorting', source='api/bengal/core/utils/sorting.md'), Page(title='utils', source='api/bengal/core/utils.md'), Page(title='url', source='api/bengal/core/utils/url.md'), Page(title='navigation', source='api/bengal/core/section/navigation.md'), Page(title='config', source='api/bengal/core/utils/config.md'), Page(title='text', source='api/bengal/core/utils/text.md'), Page(title='asset', source='api/bengal/core/asset.md'), Page(title='css_transforms', source='api/bengal/core/asset/css_transforms.md'), Page(title='collector', source='api/bengal/core/output/collector.md'), Page(title='output', source='api/bengal/core/output.md'), Page(title='types', source='api/bengal/core/output/types.md'), Page(title='resources', source='api/bengal/core/resources.md'), Page(title='asset_core', source='api/bengal/core/asset/asset_core.md'), Page(title='types', source='api/bengal/core/resources/types.md'), Page(title='processor', source='api/bengal/core/resources/processor.md'), Page(title='image', source='api/bengal/core/resources/image.md'), Page(title='analyzer', source='api/bengal/analysis/graph/analyzer.md'), Page(title='metrics', source='api/bengal/analysis/graph/metrics.md'), Page(title='knowledge_graph', source='api/bengal/analysis/graph/knowledge_graph.md'), Page(title='page_rank', source='api/bengal/analysis/graph/page_rank.md'), Page(title='graph', source='api/bengal/analysis/graph.md'), Page(title='visualizer', source='api/bengal/analysis/graph/visualizer.md'), Page(title='reporter', source='api/bengal/analysis/graph/reporter.md'), Page(title='builder', source='api/bengal/analysis/graph/builder.md'), Page(title='community_detection', source='api/bengal/analysis/graph/community_detection.md'), Page(title='patterns', source='api/bengal/analysis/links/patterns.md'), Page(title='links', source='api/bengal/analysis/links.md'), Page(title='suggestions', source='api/bengal/analysis/links/suggestions.md'), Page(title='traversal', source='api/bengal/analysis/utils/traversal.md'), Page(title='utils', source='api/bengal/analysis/utils.md'), Page(title='types', source='api/bengal/analysis/links/types.md'), Page(title='indexing', source='api/bengal/analysis/utils/indexing.md'), Page(title='pages', source='api/bengal/analysis/utils/pages.md'), Page(title='constants', source='api/bengal/analysis/utils/constants.md'), Page(title='scoring', source='api/bengal/analysis/utils/scoring.md'), Page(title='validation', source='api/bengal/analysis/utils/validation.md'), Page(title='performance', source='api/bengal/analysis/performance.md'), Page(title='advisor', source='api/bengal/analysis/performance/advisor.md'), Page(title='path_analysis', source='api/bengal/analysis/performance/path_analysis.md'), Page(title='local', source='api/bengal/content/sources/local.md'), Page(title='notion', source='api/bengal/content/sources/notion.md'), Page(title='entry', source='api/bengal/content/sources/entry.md'), Page(title='sources', source='api/bengal/content/sources.md'), Page(title='github', source='api/bengal/content/sources/github.md'), Page(title='source', source='api/bengal/content/sources/source.md'), Page(title='loaders', source='api/bengal/content/sources/loaders.md'), Page(title='rest', source='api/bengal/content/sources/rest.md'), Page(title='http_errors', source='api/bengal/content/utils/http_errors.md'), Page(title='utils', source='api/bengal/content/utils.md'), Page(title='constants', source='api/bengal/content/utils/constants.md'), Page(title='async_parallel', source='api/bengal/content/utils/async_parallel.md'), Page(title='slugify', source='api/bengal/content/utils/slugify.md'), Page(title='manager', source='api/bengal/content/sources/manager.md'), Page(title='versioning', source='api/bengal/content/versioning.md'), Page(title='resolver', source='api/bengal/content/versioning/resolver.md'), Page(title='artifacts', source='api/bengal/content/versioning/artifacts.md'), Page(title='git_adapter', source='api/bengal/content/versioning/git_adapter.md'), Page(title='section_builder', source='api/bengal/content/discovery/section_builder.md'), Page(title='version_diff', source='api/bengal/content/discovery/version_diff.md'), Page(title='page_factory', source='api/bengal/content/discovery/page_factory.md'), Page(title='discovery', source='api/bengal/content/discovery.md'), Page(title='asset_discovery', source='api/bengal/content/discovery/asset_discovery.md'), Page(title='directory_walker', source='api/bengal/content/discovery/directory_walker.md'), Page(title='content_discovery', source='api/bengal/content/discovery/content_discovery.md'), Page(title='content_parser', source='api/bengal/content/discovery/content_parser.md'), Page(title='transforms', source='api/bengal/parsing/ast/transforms.md'), Page(title='ast', source='api/bengal/parsing/ast.md'), Page(title='utils', source='api/bengal/parsing/ast/utils.md'), Page(title='backends', source='api/bengal/parsing/backends.md'), Page(title='native_html', source='api/bengal/parsing/backends/native_html.md'), Page(title='types', source='api/bengal/parsing/ast/types.md'), Page(title='pool', source='api/bengal/parsing/backends/patitas/pool.md'), Page(title='protocols', source='api/bengal/parsing/backends/patitas/protocols.md'), Page(title='config', source='api/bengal/parsing/backends/patitas/config.md'), Page(title='patitas', source='api/bengal/parsing/backends/patitas.md'), Page(title='wrapper', source='api/bengal/parsing/backends/patitas/wrapper.md'), Page(title='accumulator', source='api/bengal/parsing/backends/patitas/accumulator.md'), Page(title='request_context', source='api/bengal/parsing/backends/patitas/request_context.md'), Page(title='render_config', source='api/bengal/parsing/backends/patitas/render_config.md'), Page(title='directives', source='api/bengal/parsing/backends/patitas/directives.md'), Page(title='protocol', source='api/bengal/parsing/backends/patitas/directives/protocol.md'), Page(title='decorator', source='api/bengal/parsing/backends/patitas/directives/decorator.md'), Page(title='contracts', source='api/bengal/parsing/backends/patitas/directives/contracts.md'), Page(title='options', source='api/bengal/parsing/backends/patitas/directives/options.md'), Page(title='registry', source='api/bengal/parsing/backends/patitas/directives/registry.md'), Page(title='utils', source='api/bengal/parsing/backends/patitas/utils.md'), Page(title='pool', source='api/bengal/parsing/backends/patitas/utils/pool.md'), Page(title='contextvar', source='api/bengal/parsing/backends/patitas/utils/contextvar.md'), Page(title='blocks', source='api/bengal/parsing/backends/patitas/renderers/blocks.md'), Page(title='utils', source='api/bengal/parsing/backends/patitas/renderers/utils.md'), Page(title='renderers', source='api/bengal/parsing/backends/patitas/renderers.md'), Page(title='html', source='api/bengal/parsing/backends/patitas/renderers/html.md'), Page(title='protocols', source='api/bengal/parsing/backends/patitas/renderers/protocols.md'), Page(title='directives', source='api/bengal/parsing/backends/patitas/renderers/directives.md'), Page(title='inline', source='api/bengal/parsing/backends/patitas/renderers/inline.md'), Page(title='roles', source='api/bengal/parsing/backends/patitas/roles.md'), Page(title='protocol', source='api/bengal/parsing/backends/patitas/roles/protocol.md'), Page(title='icons', source='api/bengal/parsing/backends/patitas/roles/builtins/icons.md'), Page(title='registry', source='api/bengal/parsing/backends/patitas/roles/registry.md'), Page(title='math', source='api/bengal/parsing/backends/patitas/roles/builtins/math.md'), Page(title='builtins', source='api/bengal/parsing/backends/patitas/roles/builtins.md'), Page(title='reference', source='api/bengal/parsing/backends/patitas/roles/builtins/reference.md'), Page(title='formatting', source='api/bengal/parsing/backends/patitas/roles/builtins/formatting.md'), Page(title='data_table', source='api/bengal/parsing/backends/patitas/directives/builtins/data_table.md'), Page(title='glossary', source='api/bengal/parsing/backends/patitas/directives/builtins/glossary.md'), Page(title='versioning', source='api/bengal/parsing/backends/patitas/directives/builtins/versioning.md'), Page(title='media', source='api/bengal/parsing/backends/patitas/directives/builtins/media.md'), Page(title='marimo', source='api/bengal/parsing/backends/patitas/directives/builtins/marimo.md'), Page(title='cards', source='api/bengal/parsing/backends/patitas/directives/builtins/cards.md'), Page(title='video', source='api/bengal/parsing/backends/patitas/directives/builtins/video.md'), Page(title='cards_utils', source='api/bengal/parsing/backends/patitas/directives/builtins/cards_utils.md'), Page(title='admonition', source='api/bengal/parsing/backends/patitas/directives/builtins/admonition.md'), Page(title='button', source='api/bengal/parsing/backends/patitas/directives/builtins/button.md'), Page(title='code_tabs', source='api/bengal/parsing/backends/patitas/directives/builtins/code_tabs.md'), Page(title='tables', source='api/bengal/parsing/backends/patitas/directives/builtins/tables.md'), Page(title='container', source='api/bengal/parsing/backends/patitas/directives/builtins/container.md'), Page(title='builtins', source='api/bengal/parsing/backends/patitas/directives/builtins.md'), Page(title='checklist', source='api/bengal/parsing/backends/patitas/directives/builtins/checklist.md'), Page(title='steps', source='api/bengal/parsing/backends/patitas/directives/builtins/steps.md'), Page(title='tabs', source='api/bengal/parsing/backends/patitas/directives/builtins/tabs.md'), Page(title='misc', source='api/bengal/parsing/backends/patitas/directives/builtins/misc.md'), Page(title='inline', source='api/bengal/parsing/backends/patitas/directives/builtins/inline.md'), Page(title='embed', source='api/bengal/parsing/backends/patitas/directives/builtins/embed.md'), Page(title='include', source='api/bengal/parsing/backends/patitas/directives/builtins/include.md'), Page(title='dropdown', source='api/bengal/parsing/backends/patitas/directives/builtins/dropdown.md'), Page(title='notification', source='api/bengal/server/live_reload/notification.md'), Page(title='injection', source='api/bengal/server/live_reload/injection.md'), Page(title='script', source='api/bengal/server/live_reload/script.md'), Page(title='fragment', source='api/bengal/server/live_reload/fragment.md'), Page(title='navigation', source='api/bengal/parsing/backends/patitas/directives/builtins/navigation.md'), Page(title='live_reload', source='api/bengal/server/live_reload.md'), Page(title='sse', source='api/bengal/server/live_reload/sse.md'), Page(title='handler', source='api/bengal/server/reactive/handler.md'), Page(title='reactive', source='api/bengal/server/reactive.md'), Page(title='mixin', source='api/bengal/server/live_reload/mixin.md'), Page(title='report', source='api/bengal/health/report.md'), Page(title='scoring', source='api/bengal/health/report/scoring.md'), Page(title='formatting', source='api/bengal/health/report/formatting.md'), Page(title='models', source='api/bengal/health/report/models.md'), Page(title='health_report', source='api/bengal/health/report/health_report.md'), Page(title='serialization', source='api/bengal/health/report/serialization.md'), Page(title='ownership_policy', source='api/bengal/health/validators/ownership_policy.md'), Page(title='connectivity', source='api/bengal/health/validators/connectivity.md'), Page(title='taxonomy', source='api/bengal/health/validators/taxonomy.md'), Page(title='cross_ref', source='api/bengal/health/validators/cross_ref.md'), Page(title='cache', source='api/bengal/health/validators/cache.md'), Page(title='rendering', source='api/bengal/health/validators/rendering.md'), Page(title='anchors', source='api/bengal/health/validators/anchors.md'), Page(title='links', source='api/bengal/health/validators/links.md'), Page(title='validators', source='api/bengal/health/validators.md'), Page(title='external_refs', source='api/bengal/health/validators/external_refs.md'), Page(title='fonts', source='api/bengal/health/validators/fonts.md'), Page(title='url_collisions', source='api/bengal/health/validators/url_collisions.md'), Page(title='assets', source='api/bengal/health/validators/assets.md'), Page(title='sitemap', source='api/bengal/health/validators/sitemap.md'), Page(title='config', source='api/bengal/health/validators/config.md'), Page(title='performance', source='api/bengal/health/validators/performance.md'), Page(title='tracks', source='api/bengal/health/validators/tracks.md'), Page(title='autodoc', source='api/bengal/health/validators/autodoc.md'), Page(title='accessibility', source='api/bengal/health/validators/accessibility.md'), Page(title='templates', source='api/bengal/health/validators/templates.md'), Page(title='rss', source='api/bengal/health/validators/rss.md'), Page(title='navigation', source='api/bengal/health/validators/navigation.md'), Page(title='output', source='api/bengal/health/validators/output.md'), Page(title='link_skip_rules', source='api/bengal/health/validators/link_skip_rules.md'), Page(title='menu', source='api/bengal/health/validators/menu.md'), Page(title='asset_urls', source='api/bengal/health/validators/asset_urls.md'), Page(title='remediation', source='api/bengal/health/remediation.md'), Page(title='models', source='api/bengal/health/linkcheck/models.md'), Page(title='ignore_policy', source='api/bengal/health/linkcheck/ignore_policy.md'), Page(title='autofix', source='api/bengal/health/remediation/autofix.md'), Page(title='linkcheck', source='api/bengal/health/linkcheck.md'), Page(title='orchestrator', source='api/bengal/health/linkcheck/orchestrator.md'), Page(title='internal_checker', source='api/bengal/health/linkcheck/internal_checker.md'), Page(title='async_checker', source='api/bengal/health/linkcheck/async_checker.md'), Page(title='checkers', source='api/bengal/health/validators/directives/checkers.md'), Page(title='directives', source='api/bengal/health/validators/directives.md'), Page(title='constants', source='api/bengal/health/validators/directives/constants.md'), Page(title='utils', source='api/bengal/postprocess/utils.md'), Page(title='page_data', source='api/bengal/postprocess/utils/page_data.md'), Page(title='xml', source='api/bengal/postprocess/utils/xml.md'), Page(title='llm_generator', source='api/bengal/postprocess/output_formats/llm_generator.md'), Page(title='base', source='api/bengal/postprocess/output_formats/base.md'), Page(title='analysis', source='api/bengal/health/validators/directives/analysis.md'), Page(title='agent_manifest_generator', source='api/bengal/postprocess/output_formats/agent_manifest_generator.md'), Page(title='utils', source='api/bengal/postprocess/output_formats/utils.md'), Page(title='lunr_index_generator', source='api/bengal/postprocess/output_formats/lunr_index_generator.md'), Page(title='index_generator', source='api/bengal/postprocess/output_formats/index_generator.md'), Page(title='output_formats', source='api/bengal/postprocess/output_formats.md'), Page(title='llms_txt_generator', source='api/bengal/postprocess/output_formats/llms_txt_generator.md'), Page(title='txt_generator', source='api/bengal/postprocess/output_formats/txt_generator.md'), Page(title='changelog_generator', source='api/bengal/postprocess/output_formats/changelog_generator.md'), Page(title='index_pages', source='api/bengal/autodoc/orchestration/index_pages.md'), Page(title='json_generator', source='api/bengal/postprocess/output_formats/json_generator.md'), Page(title='orchestration', source='api/bengal/autodoc/orchestration.md'), Page(title='page_builders', source='api/bengal/autodoc/orchestration/page_builders.md'), Page(title='orchestrator', source='api/bengal/autodoc/orchestration/orchestrator.md'), Page(title='section_builders', source='api/bengal/autodoc/orchestration/section_builders.md'), Page(title='extractors', source='api/bengal/autodoc/orchestration/extractors.md'), Page(title='result', source='api/bengal/autodoc/orchestration/result.md'), Page(title='paths', source='api/bengal/autodoc/utils/paths.md'), Page(title='utils', source='api/bengal/autodoc/utils.md'), Page(title='config', source='api/bengal/autodoc/utils/config.md'), Page(title='metadata', source='api/bengal/autodoc/utils/metadata.md'), Page(title='grouping', source='api/bengal/autodoc/utils/grouping.md'), Page(title='text', source='api/bengal/autodoc/utils/text.md'), Page(title='extractors', source='api/bengal/autodoc/extractors.md'), Page(title='openapi', source='api/bengal/autodoc/extractors/openapi.md'), Page(title='cli', source='api/bengal/autodoc/extractors/cli.md'), Page(title='common', source='api/bengal/autodoc/models/common.md'), Page(title='openapi', source='api/bengal/autodoc/models/openapi.md'), Page(title='models', source='api/bengal/autodoc/models.md'), Page(title='cli', source='api/bengal/autodoc/models/cli.md'), Page(title='skip_logic', source='api/bengal/autodoc/extractors/python/skip_logic.md'), Page(title='python', source='api/bengal/autodoc/models/python.md'), Page(title='module_info', source='api/bengal/autodoc/extractors/python/module_info.md'), Page(title='python', source='api/bengal/autodoc/extractors/python.md'), Page(title='signature', source='api/bengal/autodoc/extractors/python/signature.md'), Page(title='aliases', source='api/bengal/autodoc/extractors/python/aliases.md'), Page(title='inheritance', source='api/bengal/autodoc/extractors/python/inheritance.md'), Page(title='stats', source='api/bengal/cache/utils/stats.md'), Page(title='extractor', source='api/bengal/autodoc/extractors/python/extractor.md'), Page(title='utils', source='api/bengal/cache/utils.md'), Page(title='bidirectional', source='api/bengal/cache/utils/bidirectional.md'), Page(title='thread_safety', source='api/bengal/cache/utils/thread_safety.md'), Page(title='persistence', source='api/bengal/cache/utils/persistence.md'), Page(title='validity', source='api/bengal/cache/utils/validity.md'), Page(title='rendered_output_cache', source='api/bengal/cache/build_cache/rendered_output_cache.md'), Page(title='core', source='api/bengal/cache/build_cache/core.md'), Page(title='file_tracking', source='api/bengal/cache/build_cache/file_tracking.md'), Page(title='build_cache', source='api/bengal/cache/build_cache.md'), Page(title='autodoc_content_cache', source='api/bengal/cache/build_cache/autodoc_content_cache.md'), Page(title='validation_cache', source='api/bengal/cache/build_cache/validation_cache.md'), Page(title='taxonomy_index_mixin', source='api/bengal/cache/build_cache/taxonomy_index_mixin.md'), Page(title='parsed_content_cache', source='api/bengal/cache/build_cache/parsed_content_cache.md'), Page(title='fingerprint', source='api/bengal/cache/build_cache/fingerprint.md'), Page(title='section_index', source='api/bengal/cache/indexes/section_index.md'), Page(title='autodoc_tracking', source='api/bengal/cache/build_cache/autodoc_tracking.md'), Page(title='author_index', source='api/bengal/cache/indexes/author_index.md'), Page(title='indexes', source='api/bengal/cache/indexes.md'), Page(title='series_index', source='api/bengal/cache/indexes/series_index.md'), Page(title='date_range_index', source='api/bengal/cache/indexes/date_range_index.md'), Page(title='category_index', source='api/bengal/cache/indexes/category_index.md'), Page(title='pagination', source='api/bengal/utils/pagination.md'), Page(title='paginator', source='api/bengal/utils/pagination/paginator.md'), Page(title='code', source='api/bengal/utils/primitives/code.md'), Page(title='primitives', source='api/bengal/utils/primitives.md'), Page(title='dates', source='api/bengal/utils/primitives/dates.md'), Page(title='dotdict', source='api/bengal/utils/primitives/dotdict.md'), Page(title='hashing', source='api/bengal/utils/primitives/hashing.md'), Page(title='types', source='api/bengal/utils/primitives/types.md'), Page(title='lru_cache', source='api/bengal/utils/primitives/lru_cache.md'), Page(title='text', source='api/bengal/utils/primitives/text.md'), Page(title='dx', source='api/bengal/utils/dx.md'), Page(title='sentinel', source='api/bengal/utils/primitives/sentinel.md'), Page(title='detection', source='api/bengal/utils/dx/detection.md'), Page(title='hints', source='api/bengal/utils/dx/hints.md'), Page(title='atomic_write', source='api/bengal/utils/io/atomic_write.md'), Page(title='io', source='api/bengal/utils/io.md'), Page(title='file_lock', source='api/bengal/utils/io/file_lock.md'), Page(title='json_compat', source='api/bengal/utils/io/json_compat.md'), Page(title='async_compat', source='api/bengal/utils/concurrency/async_compat.md'), Page(title='file_io', source='api/bengal/utils/io/file_io.md'), Page(title='thread_local', source='api/bengal/utils/concurrency/thread_local.md'), Page(title='context_propagation', source='api/bengal/utils/concurrency/context_propagation.md'), Page(title='concurrency', source='api/bengal/utils/concurrency.md'), Page(title='concurrent_locks', source='api/bengal/utils/concurrency/concurrent_locks.md'), Page(title='workers', source='api/bengal/utils/concurrency/workers.md'), Page(title='gil', source='api/bengal/utils/concurrency/gil.md'), Page(title='retry', source='api/bengal/utils/concurrency/retry.md'), Page(title='rich_console', source='api/bengal/utils/observability/rich_console.md'), Page(title='observability', source='api/bengal/utils/observability/observability.md'), Page(title='logger', source='api/bengal/utils/observability/logger.md'), Page(title='observability', source='api/bengal/utils/observability.md'), Page(title='performance_collector', source='api/bengal/utils/observability/performance_collector.md'), Page(title='cli_progress', source='api/bengal/utils/observability/cli_progress.md'), Page(title='performance_report', source='api/bengal/utils/observability/performance_report.md'), Page(title='progress', source='api/bengal/utils/observability/progress.md'), Page(title='profile', source='api/bengal/utils/observability/profile.md'), Page(title='normalize', source='api/bengal/utils/paths/normalize.md'), Page(title='link_resolution', source='api/bengal/utils/paths/link_resolution.md'), Page(title='url_strategy', source='api/bengal/utils/paths/url_strategy.md'), Page(title='paths', source='api/bengal/utils/paths.md'), Page(title='paths', source='api/bengal/utils/paths/paths.md'), Page(title='path_resolver', source='api/bengal/utils/paths/path_resolver.md'), Page(title='url_normalization', source='api/bengal/utils/paths/url_normalization.md'), Page(title='output_collector_diagnostics', source='api/bengal/orchestration/render/output_collector_diagnostics.md'), Page(title='sequential', source='api/bengal/orchestration/render/sequential.md'), Page(title='orchestrator', source='api/bengal/orchestration/render/orchestrator.md'), Page(title='render', source='api/bengal/orchestration/render.md'), Page(title='pipeline_runner', source='api/bengal/orchestration/render/pipeline_runner.md'), Page(title='ordering', source='api/bengal/orchestration/render/ordering.md'), Page(title='parallel', source='api/bengal/orchestration/render/parallel.md'), Page(title='block_cache', source='api/bengal/orchestration/render/block_cache.md'), Page(title='tracking', source='api/bengal/orchestration/render/tracking.md'), Page(title='errors', source='api/bengal/orchestration/utils/errors.md'), Page(title='utils', source='api/bengal/orchestration/utils.md'), Page(title='virtual_pages', source='api/bengal/orchestration/utils/virtual_pages.md'), Page(title='i18n', source='api/bengal/orchestration/utils/i18n.md'), Page(title='parallel', source='api/bengal/orchestration/utils/parallel.md'), Page(title='cache_manager', source='api/bengal/orchestration/incremental/cache_manager.md'), Page(title='effect_detector', source='api/bengal/orchestration/incremental/effect_detector.md'), Page(title='cleanup', source='api/bengal/orchestration/incremental/cleanup.md'), Page(title='incremental', source='api/bengal/orchestration/incremental.md'), Page(title='orchestrator', source='api/bengal/orchestration/incremental/orchestrator.md'), Page(title='helpers', source='api/bengal/orchestration/stats/helpers.md'), Page(title='stats', source='api/bengal/orchestration/stats.md'), Page(title='models', source='api/bengal/orchestration/stats/models.md'), Page(title='warnings', source='api/bengal/orchestration/stats/warnings.md'), Page(title='display', source='api/bengal/orchestration/stats/display.md'), Page(title='menu_context', source='api/bengal/rendering/context/menu_context.md'), Page(title='data_wrappers', source='api/bengal/rendering/context/data_wrappers.md'), Page(title='site_wrappers', source='api/bengal/rendering/context/site_wrappers.md'), Page(title='data_tracking', source='api/bengal/rendering/context/data_tracking.md'), Page(title='context', source='api/bengal/rendering/context.md'), Page(title='template_engine', source='api/bengal/rendering/template_engine.md'), Page(title='lazy', source='api/bengal/rendering/context/lazy.md'), Page(title='manifest', source='api/bengal/rendering/template_engine/manifest.md'), Page(title='environment', source='api/bengal/rendering/template_engine/environment.md'), Page(title='url_helpers', source='api/bengal/rendering/template_engine/url_helpers.md'), Page(title='menu', source='api/bengal/rendering/template_engine/menu.md'), Page(title='asset_url', source='api/bengal/rendering/template_engine/asset_url.md'), Page(title='taxonomies', source='api/bengal/rendering/template_functions/taxonomies.md'), Page(title='icons', source='api/bengal/rendering/template_functions/icons.md'), Page(title='resources', source='api/bengal/rendering/template_functions/resources.md'), Page(title='version_url', source='api/bengal/rendering/template_functions/version_url.md'), Page(title='dates', source='api/bengal/rendering/template_functions/dates.md'), Page(title='content', source='api/bengal/rendering/template_functions/content.md'), Page(title='debug', source='api/bengal/rendering/template_functions/debug.md'), Page(title='advanced_collections', source='api/bengal/rendering/template_functions/advanced_collections.md'), Page(title='tables', source='api/bengal/rendering/template_functions/tables.md'), Page(title='sharing', source='api/bengal/rendering/template_functions/sharing.md'), Page(title='openapi', source='api/bengal/rendering/template_functions/openapi.md'), Page(title='files', source='api/bengal/rendering/template_functions/files.md'), Page(title='crossref', source='api/bengal/rendering/template_functions/crossref.md'), Page(title='template_functions', source='api/bengal/rendering/template_functions.md'), Page(title='external_refs', source='api/bengal/rendering/template_functions/external_refs.md'), Page(title='urls', source='api/bengal/rendering/template_functions/urls.md'), Page(title='collections', source='api/bengal/rendering/template_functions/collections.md'), Page(title='advanced_strings', source='api/bengal/rendering/template_functions/advanced_strings.md'), Page(title='theme', source='api/bengal/rendering/template_functions/theme.md'), Page(title='images', source='api/bengal/rendering/template_functions/images.md'), Page(title='seo', source='api/bengal/rendering/template_functions/seo.md'), Page(title='strings', source='api/bengal/rendering/template_functions/strings.md'), Page(title='autodoc', source='api/bengal/rendering/template_functions/autodoc.md'), Page(title='data', source='api/bengal/rendering/template_functions/data.md'), Page(title='math_functions', source='api/bengal/rendering/template_functions/math_functions.md'), Page(title='blog', source='api/bengal/rendering/template_functions/blog.md'), Page(title='get_page', source='api/bengal/rendering/template_functions/get_page.md'), Page(title='authors', source='api/bengal/rendering/template_functions/authors.md'), Page(title='changelog', source='api/bengal/rendering/template_functions/changelog.md'), Page(title='i18n', source='api/bengal/rendering/template_functions/i18n.md'), Page(title='memo', source='api/bengal/rendering/template_functions/memo.md'), Page(title='pagination_helpers', source='api/bengal/rendering/template_functions/pagination_helpers.md'), Page(title='utils', source='api/bengal/rendering/engines/utils.md'), Page(title='errors', source='api/bengal/rendering/engines/errors.md'), Page(title='protocol', source='api/bengal/rendering/engines/protocol.md'), Page(title='engines', source='api/bengal/rendering/engines.md'), Page(title='template_safe', source='api/bengal/rendering/utils/template_safe.md'), Page(title='utils', source='api/bengal/rendering/utils.md'), Page(title='url', source='api/bengal/rendering/utils/url.md'), Page(title='safe_access', source='api/bengal/rendering/utils/safe_access.md'), Page(title='contextvar', source='api/bengal/rendering/utils/contextvar.md'), Page(title='adapters', source='api/bengal/rendering/adapters.md'), Page(title='generic', source='api/bengal/rendering/adapters/generic.md'), Page(title='kida', source='api/bengal/rendering/adapters/kida.md'), Page(title='kida', source='api/bengal/rendering/engines/kida.md'), Page(title='external_refs', source='api/bengal/rendering/external_refs.md'), Page(title='term', source='api/bengal/rendering/plugins/term.md'), Page(title='variable_substitution', source='api/bengal/rendering/plugins/variable_substitution.md'), Page(title='plugins', source='api/bengal/rendering/plugins.md'), Page(title='resolver', source='api/bengal/rendering/external_refs/resolver.md'), Page(title='cross_references', source='api/bengal/rendering/plugins/cross_references.md'), Page(title='badges', source='api/bengal/rendering/plugins/badges.md'), Page(title='inline_icon', source='api/bengal/rendering/plugins/inline_icon.md'), Page(title='toc', source='api/bengal/rendering/pipeline/toc.md'), Page(title='thread_local', source='api/bengal/rendering/pipeline/thread_local.md'), Page(title='write_behind', source='api/bengal/rendering/pipeline/write_behind.md'), Page(title='transforms', source='api/bengal/rendering/pipeline/transforms.md'), Page(title='unified_transform', source='api/bengal/rendering/pipeline/unified_transform.md'), Page(title='pipeline', source='api/bengal/rendering/pipeline.md'), Page(title='cache_checker', source='api/bengal/rendering/pipeline/cache_checker.md'), Page(title='core', source='api/bengal/rendering/pipeline/core.md'), Page(title='json_accumulator', source='api/bengal/rendering/pipeline/json_accumulator.md'), Page(title='output', source='api/bengal/rendering/pipeline/output.md'), Page(title='profiler', source='api/bengal/rendering/pipeline/profiler.md'), Page(title='cache', source='api/bengal/rendering/highlighting/cache.md'), Page(title='autodoc_renderer', source='api/bengal/rendering/pipeline/autodoc_renderer.md'), Page(title='protocol', source='api/bengal/rendering/highlighting/protocol.md'), Page(title='theme_resolver', source='api/bengal/rendering/highlighting/theme_resolver.md'), Page(title='rosettes', source='api/bengal/rendering/highlighting/rosettes.md'), Page(title='highlighting', source='api/bengal/rendering/highlighting.md'), Page(title='errors', source='api/bengal/rendering/errors.md'), Page(title='deferred', source='api/bengal/rendering/highlighting/deferred.md'), Page(title='display', source='api/bengal/rendering/errors/display.md'), Page(title='exceptions', source='api/bengal/rendering/errors/exceptions.md'), Page(title='context', source='api/bengal/rendering/errors/context.md'), Page(title='deduplication', source='api/bengal/rendering/errors/deduplication.md'), Page(title='tree', source='api/bengal/rendering/template_functions/navigation/tree.md'), Page(title='toc', source='api/bengal/rendering/template_functions/navigation/toc.md'), Page(title='models', source='api/bengal/rendering/template_functions/navigation/models.md'), Page(title='scaffold', source='api/bengal/rendering/template_functions/navigation/scaffold.md'), Page(title='helpers', source='api/bengal/rendering/template_functions/navigation/helpers.md'), Page(title='breadcrumbs', source='api/bengal/rendering/template_functions/navigation/breadcrumbs.md'), Page(title='pagination', source='api/bengal/rendering/template_functions/navigation/pagination.md'), Page(title='auto_nav', source='api/bengal/rendering/template_functions/navigation/auto_nav.md'), Page(title='navigation', source='api/bengal/rendering/template_functions/navigation.md'), Page(title='blog', source='api/bengal/scaffolds/blog.md'), Page(title='section', source='api/bengal/rendering/template_functions/navigation/section.md'), Page(title='default', source='api/bengal/scaffolds/default.md'), Page(title='template', source='api/bengal/scaffolds/blog/template.md'), Page(title='changelog', source='api/bengal/scaffolds/changelog.md'), Page(title='template', source='api/bengal/scaffolds/default/template.md'), Page(title='portfolio', source='api/bengal/scaffolds/portfolio.md'), Page(title='template', source='api/bengal/scaffolds/changelog/template.md'), Page(title='resume', source='api/bengal/scaffolds/resume.md'), Page(title='template', source='api/bengal/scaffolds/resume/template.md'), Page(title='template', source='api/bengal/scaffolds/portfolio/template.md'), Page(title='docs', source='api/bengal/scaffolds/docs.md'), Page(title='product', source='api/bengal/scaffolds/product.md'), Page(title='template', source='api/bengal/scaffolds/docs/template.md'), Page(title='landing', source='api/bengal/scaffolds/landing.md'), Page(title='template', source='api/bengal/scaffolds/product/template.md'), Page(title='template', source='api/bengal/scaffolds/landing/template.md'), Page(title='skeleton', source='api/bengal/cli/skeleton.md'), Page(title='schema', source='api/bengal/cli/skeleton/schema.md'), Page(title='hydrator', source='api/bengal/cli/skeleton/hydrator.md'), Page(title='messages', source='api/bengal/cli/dashboard/messages.md'), Page(title='base', source='api/bengal/cli/dashboard/base.md'), Page(title='dashboard', source='api/bengal/cli/dashboard.md'), Page(title='serve', source='api/bengal/cli/dashboard/serve.md'), Page(title='app', source='api/bengal/cli/dashboard/app.md'), Page(title='screens', source='api/bengal/cli/dashboard/screens.md'), Page(title='commands', source='api/bengal/cli/dashboard/commands.md'), Page(title='build', source='api/bengal/cli/dashboard/build.md'), Page(title='notifications', source='api/bengal/cli/dashboard/notifications.md'), Page(title='__main__', source='api/bengal/cli/dashboard/__main__.md'), Page(title='health', source='api/bengal/cli/dashboard/health.md'), Page(title='sources', source='api/bengal/cli/commands/sources.md'), Page(title='site', source='api/bengal/cli/commands/site.md'), Page(title='version', source='api/bengal/cli/commands/version.md'), Page(title='cache', source='api/bengal/cli/commands/cache.md'), Page(title='project', source='api/bengal/cli/commands/project.md'), Page(title='utils', source='api/bengal/cli/commands/utils.md'), Page(title='debug', source='api/bengal/cli/commands/debug.md'), Page(title='commands', source='api/bengal/cli/commands.md'), Page(title='fix', source='api/bengal/cli/commands/fix.md'), Page(title='explain', source='api/bengal/cli/commands/explain.md'), Page(title='validate', source='api/bengal/cli/commands/validate.md'), Page(title='assets', source='api/bengal/cli/commands/assets.md'), Page(title='collections', source='api/bengal/cli/commands/collections.md'), Page(title='engine', source='api/bengal/cli/commands/engine.md'), Page(title='serve', source='api/bengal/cli/commands/serve.md'), Page(title='init', source='api/bengal/cli/commands/init.md'), Page(title='provenance', source='api/bengal/cli/commands/provenance.md'), Page(title='codemod', source='api/bengal/cli/commands/codemod.md'), Page(title='config', source='api/bengal/cli/commands/config.md'), Page(title='skeleton', source='api/bengal/cli/commands/skeleton.md'), Page(title='build', source='api/bengal/cli/commands/build.md'), Page(title='perf', source='api/bengal/cli/commands/perf.md'), Page(title='theme', source='api/bengal/cli/commands/theme.md'), Page(title='shortcodes', source='api/bengal/cli/commands/shortcodes.md'), Page(title='i18n', source='api/bengal/cli/commands/i18n.md'), Page(title='clean', source='api/bengal/cli/commands/clean.md'), Page(title='health', source='api/bengal/cli/commands/health.md'), Page(title='errors', source='api/bengal/cli/utils/errors.md'), Page(title='traceback', source='api/bengal/cli/utils/traceback.md'), Page(title='paths', source='api/bengal/cli/utils/paths.md'), Page(title='utils', source='api/bengal/cli/utils.md'), Page(title='site', source='api/bengal/cli/utils/site.md'), Page(title='logging', source='api/bengal/cli/utils/logging.md'), Page(title='validation', source='api/bengal/cli/utils/validation.md'), Page(title='output', source='api/bengal/cli/utils/output.md'), Page(title='config_validation', source='api/bengal/cli/helpers/config_validation.md'), Page(title='cli_app_loader', source='api/bengal/cli/helpers/cli_app_loader.md'), Page(title='error_handling', source='api/bengal/cli/helpers/error_handling.md'), Page(title='helpers', source='api/bengal/cli/helpers.md'), Page(title='menu_config', source='api/bengal/cli/helpers/menu_config.md'), Page(title='progress', source='api/bengal/cli/helpers/progress.md'), Page(title='metadata', source='api/bengal/cli/helpers/metadata.md'), Page(title='suggest', source='api/bengal/cli/commands/graph/suggest.md'), Page(title='pagerank', source='api/bengal/cli/commands/graph/pagerank.md'), Page(title='report', source='api/bengal/cli/commands/graph/report.md'), Page(title='bridges', source='api/bengal/cli/commands/graph/bridges.md'), Page(title='__main__', source='api/bengal/cli/commands/graph/__main__.md'), Page(title='communities', source='api/bengal/cli/commands/graph/communities.md'), Page(title='orphans', source='api/bengal/cli/commands/graph/orphans.md'), Page(title='installers', source='api/bengal/cli/commands/upgrade/installers.md'), Page(title='command', source='api/bengal/cli/commands/upgrade/command.md'), Page(title='upgrade', source='api/bengal/cli/commands/upgrade.md'), Page(title='check', source='api/bengal/cli/commands/upgrade/check.md'), Page(title='new', source='api/bengal/cli/commands/new.md'), Page(title='site', source='api/bengal/cli/commands/new/site.md'), Page(title='presets', source='api/bengal/cli/commands/new/presets.md'), Page(title='scaffolds', source='api/bengal/cli/commands/new/scaffolds.md'), Page(title='config', source='api/bengal/cli/commands/new/config.md'), Page(title='wizard', source='api/bengal/cli/commands/new/wizard.md'), Page(title='asset_explorer', source='api/bengal/cli/dashboard/widgets/asset_explorer.md'), Page(title='request_log', source='api/bengal/cli/dashboard/widgets/request_log.md'), Page(title='phase_progress', source='api/bengal/cli/dashboard/widgets/phase_progress.md'), Page(title='content_browser', source='api/bengal/cli/dashboard/widgets/content_browser.md'), Page(title='phase_plan', source='api/bengal/cli/dashboard/widgets/phase_plan.md'), Page(title='widgets', source='api/bengal/cli/dashboard/widgets.md'), Page(title='quick_action', source='api/bengal/cli/dashboard/widgets/quick_action.md'), Page(title='taxonomy_explorer', source='api/bengal/cli/dashboard/widgets/taxonomy_explorer.md'), Page(title='file_watcher_log', source='api/bengal/cli/dashboard/widgets/file_watcher_log.md'), Page(title='flash', source='api/bengal/cli/dashboard/widgets/flash.md'), Page(title='throbber', source='api/bengal/cli/dashboard/widgets/throbber.md'), Page(title='css_manifest', source='api/bengal/themes/default/css_manifest.md'), Page(title='css', source='api/bengal/assets/css.md'), Page(title='analyze', source='cli/analyze.md'), Page(title='assets', source='cli/assets.md'), Page(title='build', source='cli/assets/build.md'), Page(title='status', source='cli/assets/status.md'), Page(title='build', source='cli/build.md'), Page(title='clean', source='cli/clean.md'), Page(title='cache', source='cli/cache.md'), Page(title='hash', source='cli/cache/hash.md'), Page(title='inputs', source='cli/cache/inputs.md'), Page(title='validate', source='cli/validate.md'), Page(title='collections', source='cli/collections.md'), Page(title='init', source='cli/collections/init.md'), Page(title='list', source='cli/collections/list.md'), Page(title='validate', source='cli/collections/validate.md'), Page(title='config', source='cli/config.md'), Page(title='diff', source='cli/config/diff.md'), Page(title='doctor', source='cli/config/doctor.md'), Page(title='init', source='cli/config/init.md'), Page(title='show', source='cli/config/show.md'), Page(title='debug', source='cli/debug.md'), Page(title='config-inspect', source='cli/debug/config-inspect.md'), Page(title='delta', source='cli/debug/delta.md'), Page(title='deps', source='cli/debug/deps.md'), Page(title='incremental', source='cli/debug/incremental.md'), Page(title='migrate', source='cli/debug/migrate.md'), Page(title='sandbox', source='cli/debug/sandbox.md'), Page(title='serve', source='cli/serve.md'), Page(title='engine', source='cli/engine.md'), Page(title='info', source='cli/engine/info.md'), Page(title='list', source='cli/engine/list.md'), Page(title='explain', source='cli/explain.md'), Page(title='fix', source='cli/fix.md'), Page(title='graph', source='cli/graph.md'), Page(title='analyze', source='cli/graph/analyze.md'), Page(title='bridges', source='cli/graph/bridges.md'), Page(title='communities', source='cli/graph/communities.md'), Page(title='orphans', source='cli/graph/orphans.md'), Page(title='pagerank', source='cli/graph/pagerank.md'), Page(title='report', source='cli/graph/report.md'), Page(title='suggest', source='cli/graph/suggest.md'), Page(title='health', source='cli/health.md'), Page(title='linkcheck', source='cli/health/linkcheck.md'), Page(title='i18n', source='cli/i18n.md'), Page(title='compile', source='cli/i18n/compile.md'), Page(title='extract', source='cli/i18n/extract.md'), Page(title='status', source='cli/i18n/status.md'), Page(title='new', source='cli/new.md'), Page(title='layout', source='cli/new/layout.md'), Page(title='page', source='cli/new/page.md'), Page(title='partial', source='cli/new/partial.md'), Page(title='site', source='cli/new/site.md'), Page(title='theme', source='cli/new/theme.md'), Page(title='project', source='cli/project.md'), Page(title='config', source='cli/project/config.md'), Page(title='info', source='cli/project/info.md'), Page(title='init', source='cli/project/init.md'), Page(title='profile', source='cli/project/profile.md'), Page(title='skeleton', source='cli/project/skeleton.md'), Page(title='apply', source='cli/project/skeleton/apply.md'), Page(title='validate', source='cli/project/validate.md'), Page(title='provenance', source='cli/provenance.md'), Page(title='affected', source='cli/provenance/affected.md'), Page(title='build', source='cli/provenance/build.md'), Page(title='clear', source='cli/provenance/clear.md'), Page(title='lineage', source='cli/provenance/lineage.md'), Page(title='stats', source='cli/provenance/stats.md'), Page(title='shortcodes', source='cli/shortcodes.md'), Page(title='list', source='cli/shortcodes/list.md'), Page(title='site', source='cli/site.md'), Page(title='build', source='cli/site/build.md'), Page(title='clean', source='cli/site/clean.md'), Page(title='serve', source='cli/site/serve.md'), Page(title='sources', source='cli/sources.md'), Page(title='clear', source='cli/sources/clear.md'), Page(title='fetch', source='cli/sources/fetch.md'), Page(title='list', source='cli/sources/list.md'), Page(title='status', source='cli/sources/status.md'), Page(title='theme', source='cli/theme.md'), Page(title='debug', source='cli/theme/debug.md'), Page(title='discover', source='cli/theme/discover.md'), Page(title='info', source='cli/theme/info.md'), Page(title='install', source='cli/theme/install.md'), Page(title='list', source='cli/theme/list.md'), Page(title='new', source='cli/theme/new.md'), Page(title='swizzle', source='cli/theme/swizzle.md'), Page(title='swizzle-list', source='cli/theme/swizzle-list.md'), Page(title='swizzle-update', source='cli/theme/swizzle-update.md'), Page(title='upgrade', source='cli/upgrade.md'), Page(title='utils', source='cli/utils.md'), Page(title='assets', source='cli/utils/assets.md'), Page(title='build', source='cli/utils/assets/build.md'), Page(title='status', source='cli/utils/assets/status.md'), Page(title='codemod', source='cli/utils/codemod.md'), Page(title='urls', source='cli/utils/codemod/urls.md'), Page(title='graph', source='cli/utils/graph.md'), Page(title='analyze', source='cli/utils/graph/analyze.md'), Page(title='bridges', source='cli/utils/graph/bridges.md'), Page(title='communities', source='cli/utils/graph/communities.md'), Page(title='orphans', source='cli/utils/graph/orphans.md'), Page(title='pagerank', source='cli/utils/graph/pagerank.md'), Page(title='report', source='cli/utils/graph/report.md'), Page(title='suggest', source='cli/utils/graph/suggest.md'), Page(title='perf', source='cli/utils/perf.md'), Page(title='theme', source='cli/utils/theme.md'), Page(title='debug', source='cli/utils/theme/debug.md'), Page(title='discover', source='cli/utils/theme/discover.md'), Page(title='info', source='cli/utils/theme/info.md'), Page(title='install', source='cli/utils/theme/install.md'), Page(title='list', source='cli/utils/theme/list.md'), Page(title='new', source='cli/utils/theme/new.md'), Page(title='swizzle', source='cli/utils/theme/swizzle.md'), Page(title='swizzle-list', source='cli/utils/theme/swizzle-list.md'), Page(title='swizzle-update', source='cli/utils/theme/swizzle-update.md'), Page(title='version', source='cli/version.md'), Page(title='create', source='cli/version/create.md'), Page(title='diff', source='cli/version/diff.md'), Page(title='info', source='cli/version/info.md'), Page(title='list', source='cli/version/list.md'), Page(title='BaseResource', source='api/bengal-demo-commerce/schemas/BaseResource.md'), Page(title='UserBase', source='api/bengal-demo-commerce/schemas/UserBase.md'), Page(title='User', source='api/bengal-demo-commerce/schemas/User.md'), Page(title='UserCreate', source='api/bengal-demo-commerce/schemas/UserCreate.md'), Page(title='UserUpdate', source='api/bengal-demo-commerce/schemas/UserUpdate.md'), Page(title='Address', source='api/bengal-demo-commerce/schemas/Address.md'), Page(title='SessionCreate', source='api/bengal-demo-commerce/schemas/SessionCreate.md'), Page(title='SessionToken', source='api/bengal-demo-commerce/schemas/SessionToken.md'), Page(title='OrderStatus', source='api/bengal-demo-commerce/schemas/OrderStatus.md'), Page(title='Money', source='api/bengal-demo-commerce/schemas/Money.md'), Page(title='OrderLineItem', source='api/bengal-demo-commerce/schemas/OrderLineItem.md'), Page(title='Order', source='api/bengal-demo-commerce/schemas/Order.md'), Page(title='OrderCreate', source='api/bengal-demo-commerce/schemas/OrderCreate.md'), Page(title='OrderUpdate', source='api/bengal-demo-commerce/schemas/OrderUpdate.md'), Page(title='PaginatedUserList', source='api/bengal-demo-commerce/schemas/PaginatedUserList.md'), Page(title='PaginatedOrderList', source='api/bengal-demo-commerce/schemas/PaginatedOrderList.md'), Page(title='PaymentMethodCard', source='api/bengal-demo-commerce/schemas/PaymentMethodCard.md'), Page(title='PaymentMethodBank', source='api/bengal-demo-commerce/schemas/PaymentMethodBank.md'), Page(title='PaymentRequest', source='api/bengal-demo-commerce/schemas/PaymentRequest.md'), Page(title='Payment', source='api/bengal-demo-commerce/schemas/Payment.md'), Page(title='PaymentFailure', source='api/bengal-demo-commerce/schemas/PaymentFailure.md'), Page(title='InventoryItem', source='api/bengal-demo-commerce/schemas/InventoryItem.md'), Page(title='ErrorResponse', source='api/bengal-demo-commerce/schemas/ErrorResponse.md'), Page(title='Bengal API Reference', source='__virtual__/api/bengal/section-index.md'), Page(title='Graph', source='__virtual__/api/bengal/cli/commands/graph/section-index.md'), Page(title='Default', source='__virtual__/api/bengal/themes/default/section-index.md'), Page(title='Bengal CLI Reference', source='__virtual__/cli/section-index.md'), Page(title='REST API Reference', source='__virtual__/api/bengal-demo-commerce/section-index.md'), Page(title='Schemas', source='__virtual__/api/bengal-demo-commerce/schemas/section-index.md'), Page(title='Users', source='__virtual__/api/bengal-demo-commerce/tags/users/section-index.md'), Page(title='Orders', source='__virtual__/api/bengal-demo-commerce/tags/orders/section-index.md'), Page(title='Payments', source='__virtual__/api/bengal-demo-commerce/tags/payments/section-index.md'), Page(title='Inventory', source='__virtual__/api/bengal-demo-commerce/tags/inventory/section-index.md'), Page(title='Api Documentation', source='__virtual__/api/section-index.md'), Page(title='All Tags', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/index.md'), Page(title='Posts tagged 'steps'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/steps/page_1/index.md'), Page(title='Posts tagged 'jekyll'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/jekyll/page_1/index.md'), Page(title='Posts tagged 'cli'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/cli/page_1/index.md'), Page(title='Posts tagged 'design-principles'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/design-principles/page_1/index.md'), Page(title='Posts tagged 'taxonomies'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/taxonomies/page_1/index.md'), Page(title='Posts tagged 'alpha'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/alpha/page_1/index.md'), Page(title='Posts tagged 'examples'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/examples/page_1/index.md'), Page(title='Posts tagged 'integration-tests'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/integration-tests/page_1/index.md'), Page(title='Posts tagged 'interfaces'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/interfaces/page_1/index.md'), Page(title='Posts tagged 'docusaurus'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/docusaurus/page_1/index.md'), Page(title='Posts tagged 'skeleton'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/skeleton/page_1/index.md'), Page(title='Posts tagged 'video'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/video/page_1/index.md'), Page(title='Posts tagged 'installation'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/installation/page_1/index.md'), Page(title='Posts tagged 'views'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/views/page_1/index.md'), Page(title='Posts tagged 'connectivity'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/connectivity/page_1/index.md'), Page(title='Posts tagged 'responsive'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/responsive/page_1/index.md'), Page(title='Posts tagged 'sources'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/sources/page_1/index.md'), Page(title='Posts tagged 'support'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/support/page_1/index.md'), Page(title='Posts tagged 'ci-cd'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/ci-cd/page_1/index.md'), Page(title='Posts tagged 'compression'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/compression/page_1/index.md'), Page(title='Posts tagged 'cookbook'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/cookbook/page_1/index.md'), Page(title='Posts tagged 'cookbook'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/cookbook/page_2/index.md'), Page(title='Posts tagged 'vimeo'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/vimeo/page_1/index.md'), Page(title='Posts tagged 'writing'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/writing/page_1/index.md'), Page(title='Posts tagged 'literalinclude'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/literalinclude/page_1/index.md'), Page(title='Posts tagged 'development'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/development/page_1/index.md'), Page(title='Posts tagged 'page'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/page/page_1/index.md'), Page(title='Posts tagged 'terminal'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/terminal/page_1/index.md'), Page(title='Posts tagged 'release'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/release/page_1/index.md'), Page(title='Posts tagged 'release'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/release/page_2/index.md'), Page(title='Posts tagged 'youtube'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/youtube/page_1/index.md'), Page(title='Posts tagged 'health-checks'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/health-checks/page_1/index.md'), Page(title='Posts tagged 'debug'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/debug/page_1/index.md'), Page(title='Posts tagged 'intermediate'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/intermediate/page_1/index.md'), Page(title='Posts tagged 'api'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/api/page_1/index.md'), Page(title='Posts tagged 'mintlify'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/mintlify/page_1/index.md'), Page(title='Posts tagged 'build-pipeline'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/build-pipeline/page_1/index.md'), Page(title='Posts tagged 'compression.zstd (Python 3.14+ stdlib)'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/compression.zstd-(python-3.14+-stdlib)/page_1/index.md'), Page(title='Posts tagged 'linking'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/linking/page_1/index.md'), Page(title='Posts tagged 'variables'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/variables/page_1/index.md'), Page(title='Posts tagged 'functions'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/functions/page_1/index.md'), Page(title='Posts tagged 'hugo'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/hugo/page_1/index.md'), Page(title='Posts tagged 'python'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/python/page_1/index.md'), Page(title='Posts tagged 'images'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/images/page_1/index.md'), Page(title='Posts tagged 'excerpt'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/excerpt/page_1/index.md'), Page(title='Posts tagged 'validators'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/validators/page_1/index.md'), Page(title='Posts tagged 'file-organization'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/file-organization/page_1/index.md'), Page(title='Posts tagged 'sharing'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/sharing/page_1/index.md'), Page(title='Posts tagged 'sort'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/sort/page_1/index.md'), Page(title='Posts tagged 'plugins'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/plugins/page_1/index.md'), Page(title='Posts tagged 'community-detection'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/community-detection/page_1/index.md'), Page(title='Posts tagged 'math'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/math/page_1/index.md'), Page(title='Posts tagged 'analysis'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/analysis/page_1/index.md'), Page(title='Posts tagged 'search'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/search/page_1/index.md'), Page(title='Posts tagged 'phases'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/phases/page_1/index.md'), Page(title='Posts tagged 'computed-properties'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/computed-properties/page_1/index.md'), Page(title='Posts tagged 'parsing'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/parsing/page_1/index.md'), Page(title='Posts tagged 'production'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/production/page_1/index.md'), Page(title='Posts tagged 'patterns'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/patterns/page_1/index.md'), Page(title='Posts tagged 'freshness'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/freshness/page_1/index.md'), Page(title='Posts tagged 'ecosystem'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/ecosystem/page_1/index.md'), Page(title='Posts tagged 'fonts'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/fonts/page_1/index.md'), Page(title='Posts tagged 'build'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/build/page_1/index.md'), Page(title='Posts tagged 'orchestration'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/orchestration/page_1/index.md'), Page(title='Posts tagged 'tooling'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/tooling/page_1/index.md'), Page(title='Posts tagged 'optimization'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/optimization/page_1/index.md'), Page(title='Posts tagged 'troubleshooting'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/troubleshooting/page_1/index.md'), Page(title='Posts tagged 'extension-points'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/extension-points/page_1/index.md'), Page(title='Posts tagged 'help'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/help/page_1/index.md'), Page(title='Posts tagged 'constraints'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/constraints/page_1/index.md'), Page(title='Posts tagged 'test-strategy'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/test-strategy/page_1/index.md'), Page(title='Posts tagged 'byline'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/byline/page_1/index.md'), Page(title='Posts tagged 'github-pages'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/github-pages/page_1/index.md'), Page(title='Posts tagged 'asset'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/asset/page_1/index.md'), Page(title='Posts tagged 'profiles'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/profiles/page_1/index.md'), Page(title='Posts tagged 'intersphinx'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/intersphinx/page_1/index.md'), Page(title='Posts tagged 'helpers'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/helpers/page_1/index.md'), Page(title='Posts tagged 'scaffolding'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/scaffolding/page_1/index.md'), Page(title='Posts tagged 'schemas'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/schemas/page_1/index.md'), Page(title='Posts tagged 'extensibility'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/extensibility/page_1/index.md'), Page(title='Posts tagged 'soundcloud'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/soundcloud/page_1/index.md'), Page(title='Posts tagged 'text'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/text/page_1/index.md'), Page(title='Posts tagged 'data'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/data/page_1/index.md'), Page(title='Posts tagged 'filters'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/filters/page_1/index.md'), Page(title='Posts tagged 'filters'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/filters/page_2/index.md'), Page(title='Posts tagged 'file-io'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/file-io/page_1/index.md'), Page(title='Posts tagged 'config'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/config/page_1/index.md'), Page(title='Posts tagged 'philosophy'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/philosophy/page_1/index.md'), Page(title='Posts tagged 'api-docs'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/api-docs/page_1/index.md'), Page(title='Posts tagged 'multilingual'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/multilingual/page_1/index.md'), Page(title='Posts tagged 'incremental-builds'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/incremental-builds/page_1/index.md'), Page(title='Posts tagged 'tiktok'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/tiktok/page_1/index.md'), Page(title='Posts tagged 'themes'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/themes/page_1/index.md'), Page(title='Posts tagged 'design'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/design/page_1/index.md'), Page(title='Posts tagged 'errors'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/errors/page_1/index.md'), Page(title='Posts tagged 'interactive'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/interactive/page_1/index.md'), Page(title='Posts tagged 'hotfix'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/hotfix/page_1/index.md'), Page(title='Posts tagged 'protocols'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/protocols/page_1/index.md'), Page(title='Posts tagged 'statistics'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/statistics/page_1/index.md'), Page(title='Posts tagged 'glossary'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/glossary/page_1/index.md'), Page(title='Posts tagged 'toc'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/toc/page_1/index.md'), Page(title='Posts tagged 'admonitions'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/admonitions/page_1/index.md'), Page(title='Posts tagged 'tags'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/tags/page_1/index.md'), Page(title='Posts tagged 'content-types'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/content-types/page_1/index.md'), Page(title='Posts tagged 'extending'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/extending/page_1/index.md'), Page(title='Posts tagged 'group_by'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/group_by/page_1/index.md'), Page(title='Posts tagged 'migration'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/migration/page_1/index.md'), Page(title='Posts tagged 'data-table'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/data-table/page_1/index.md'), Page(title='Posts tagged 'sdk'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/sdk/page_1/index.md'), Page(title='Posts tagged 'architecture'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/architecture/page_1/index.md'), Page(title='Posts tagged 'file-watching'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/file-watching/page_1/index.md'), Page(title='Posts tagged 'properties'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/properties/page_1/index.md'), Page(title='Posts tagged 'collections'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/collections/page_1/index.md'), Page(title='Posts tagged 'incremental'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/incremental/page_1/index.md'), Page(title='Posts tagged 'site'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/site/page_1/index.md'), Page(title='Posts tagged 'dates'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/dates/page_1/index.md'), Page(title='Posts tagged 'components'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/components/page_1/index.md'), Page(title='Posts tagged 'shortcodes'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/shortcodes/page_1/index.md'), Page(title='Posts tagged 'code-generation'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/code-generation/page_1/index.md'), Page(title='Posts tagged 'utilities'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/utilities/page_1/index.md'), Page(title='Posts tagged 'utils'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/utils/page_1/index.md'), Page(title='Posts tagged 'rss'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/rss/page_1/index.md'), Page(title='Posts tagged 'rosettes'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/rosettes/page_1/index.md'), Page(title='Posts tagged 'notebook'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/notebook/page_1/index.md'), Page(title='Posts tagged 'taxonomy'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/taxonomy/page_1/index.md'), Page(title='Posts tagged 'react'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/react/page_1/index.md'), Page(title='Posts tagged 'validation'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/validation/page_1/index.md'), Page(title='Posts tagged 'compatibility'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/compatibility/page_1/index.md'), Page(title='Posts tagged 'remote'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/remote/page_1/index.md'), Page(title='Posts tagged 'postprocess'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/postprocess/page_1/index.md'), Page(title='Posts tagged 'graph-analysis'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/graph-analysis/page_1/index.md'), Page(title='Posts tagged 'notion'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/notion/page_1/index.md'), Page(title='Posts tagged 'highlighting'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/highlighting/page_1/index.md'), Page(title='Posts tagged 'diagnostics'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/diagnostics/page_1/index.md'), Page(title='Posts tagged 'how-to'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/how-to/page_1/index.md'), Page(title='Posts tagged 'getting-started'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/getting-started/page_1/index.md'), Page(title='Posts tagged 'data-models'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/data-models/page_1/index.md'), Page(title='Posts tagged 'theme'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/theme/page_1/index.md'), Page(title='Posts tagged 'theming'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/theming/page_1/index.md'), Page(title='Posts tagged 'server'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/server/page_1/index.md'), Page(title='Posts tagged 'best-practices'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/best-practices/page_1/index.md'), Page(title='Posts tagged 'link-suggestions'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/link-suggestions/page_1/index.md'), Page(title='Posts tagged 'dev-server'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/dev-server/page_1/index.md'), Page(title='Posts tagged 'commands'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/commands/page_1/index.md'), Page(title='Posts tagged 'posts'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/posts/page_1/index.md'), Page(title='Posts tagged 'author'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/author/page_1/index.md'), Page(title='Posts tagged 'series'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/series/page_1/index.md'), Page(title='Posts tagged 'assets'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/assets/page_1/index.md'), Page(title='Posts tagged 'automation'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/automation/page_1/index.md'), Page(title='Posts tagged 'live-reload'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/live-reload/page_1/index.md'), Page(title='Posts tagged 'setup'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/setup/page_1/index.md'), Page(title='Posts tagged 'cms'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/cms/page_1/index.md'), Page(title='Posts tagged 'pipeline'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/pipeline/page_1/index.md'), Page(title='Posts tagged 'featured'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/featured/page_1/index.md'), Page(title='Posts tagged 'bug fixes'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/bug-fixes/page_1/index.md'), Page(title='Posts tagged 'github'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/github/page_1/index.md'), Page(title='Posts tagged 'advanced'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/advanced/page_1/index.md'), Page(title='Posts tagged 'prek'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/prek/page_1/index.md'), Page(title='Posts tagged 'faq'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/faq/page_1/index.md'), Page(title='Posts tagged 'jinja'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/jinja/page_1/index.md'), Page(title='Posts tagged 'latex'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/latex/page_1/index.md'), Page(title='Posts tagged 'auto-fix'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/auto-fix/page_1/index.md'), Page(title='Posts tagged 'command-line'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/command-line/page_1/index.md'), Page(title='Posts tagged 'pagerank'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/pagerank/page_1/index.md'), Page(title='Posts tagged 'google-fonts'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/google-fonts/page_1/index.md'), Page(title='Posts tagged 'dependency-tracking'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/dependency-tracking/page_1/index.md'), Page(title='Posts tagged 'code-tabs'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/code-tabs/page_1/index.md'), Page(title='Posts tagged 'dx'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/dx/page_1/index.md'), Page(title='Posts tagged 'sphinx'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/sphinx/page_1/index.md'), Page(title='Posts tagged 'thread-safety'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/thread-safety/page_1/index.md'), Page(title='Posts tagged 'unit-tests'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/unit-tests/page_1/index.md'), Page(title='Posts tagged 'data-flow'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/data-flow/page_1/index.md'), Page(title='Posts tagged 'social'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/social/page_1/index.md'), Page(title='Posts tagged 'yaml'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/yaml/page_1/index.md'), Page(title='Posts tagged 'build-outputs'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/build-outputs/page_1/index.md'), Page(title='Posts tagged 'privacy'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/privacy/page_1/index.md'), Page(title='Posts tagged 'where'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/where/page_1/index.md'), Page(title='Posts tagged 'sitemap'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/sitemap/page_1/index.md'), Page(title='Posts tagged 'configuration'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/configuration/page_1/index.md'), Page(title='Posts tagged 'documentation'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/documentation/page_1/index.md'), Page(title='Posts tagged 'tabs'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/tabs/page_1/index.md'), Page(title='Posts tagged 'deployment'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/deployment/page_1/index.md'), Page(title='Posts tagged 'translation'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/translation/page_1/index.md'), Page(title='Posts tagged 'mkdocs'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/mkdocs/page_1/index.md'), Page(title='Posts tagged 'kida'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/kida/page_1/index.md'), Page(title='Posts tagged 'kida'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/kida/page_2/index.md'), Page(title='Posts tagged 'include'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/include/page_1/index.md'), Page(title='Posts tagged 'archive'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/archive/page_1/index.md'), Page(title='Posts tagged 'overview'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/overview/page_1/index.md'), Page(title='Posts tagged 'large-sites'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/large-sites/page_1/index.md'), Page(title='Posts tagged 'quickstart'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/quickstart/page_1/index.md'), Page(title='Posts tagged 'section'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/section/page_1/index.md'), Page(title='Posts tagged 'contracts'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/contracts/page_1/index.md'), Page(title='Posts tagged 'rst'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/rst/page_1/index.md'), Page(title='Posts tagged 'fixes'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/fixes/page_1/index.md'), Page(title='Posts tagged 'pounce'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/pounce/page_1/index.md'), Page(title='Posts tagged 'hardening'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/hardening/page_1/index.md'), Page(title='Posts tagged 'fern'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/fern/page_1/index.md'), Page(title='Posts tagged 'process-flow'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/process-flow/page_1/index.md'), Page(title='Posts tagged 'onboarding'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/onboarding/page_1/index.md'), Page(title='Posts tagged 'content signals'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/content-signals/page_1/index.md'), Page(title='Posts tagged 'markdown'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/markdown/page_1/index.md'), Page(title='Posts tagged 'internationalization'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/internationalization/page_1/index.md'), Page(title='Posts tagged 'releases'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/releases/page_1/index.md'), Page(title='Posts tagged 'systems'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/systems/page_1/index.md'), Page(title='Posts tagged 'meta'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/meta/page_1/index.md'), Page(title='Posts tagged 'localization'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/localization/page_1/index.md'), Page(title='Posts tagged 'features'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/features/page_1/index.md'), Page(title='Posts tagged 'hooks'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/hooks/page_1/index.md'), Page(title='Posts tagged 'content-discovery'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/content-discovery/page_1/index.md'), Page(title='Posts tagged 'processing'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/processing/page_1/index.md'), Page(title='Posts tagged 'svg'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/svg/page_1/index.md'), Page(title='Posts tagged 'comments'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/comments/page_1/index.md'), Page(title='Posts tagged 'docs'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/docs/page_1/index.md'), Page(title='Posts tagged 'quick-reference'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/quick-reference/page_1/index.md'), Page(title='Posts tagged 'templates'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/templates/page_1/index.md'), Page(title='Posts tagged 'templates'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/templates/page_2/index.md'), Page(title='Posts tagged 'graph'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/graph/page_1/index.md'), Page(title='Posts tagged 'formatting'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/formatting/page_1/index.md'), Page(title='Posts tagged 'paths'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/paths/page_1/index.md'), Page(title='Posts tagged 'build-checks'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/build-checks/page_1/index.md'), Page(title='Posts tagged 'file-scanning'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/file-scanning/page_1/index.md'), Page(title='Posts tagged 'reference'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/reference/page_1/index.md'), Page(title='Posts tagged 'reference'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/reference/page_2/index.md'), Page(title='Posts tagged 'reference'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/reference/page_3/index.md'), Page(title='Posts tagged 'reference'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/reference/page_4/index.md'), Page(title='Posts tagged 'menu'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/menu/page_1/index.md'), Page(title='Posts tagged 'coverage'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/coverage/page_1/index.md'), Page(title='Posts tagged 'link-validation'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/link-validation/page_1/index.md'), Page(title='Posts tagged 'snippets'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/snippets/page_1/index.md'), Page(title='Posts tagged 'self-hosting'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/self-hosting/page_1/index.md'), Page(title='Posts tagged 'mdx'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/mdx/page_1/index.md'), Page(title='Posts tagged 'beginner'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/beginner/page_1/index.md'), Page(title='Posts tagged 'button'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/button/page_1/index.md'), Page(title='Posts tagged 'css'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/css/page_1/index.md'), Page(title='Posts tagged 'external'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/external/page_1/index.md'), Page(title='Posts tagged 'material'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/material/page_1/index.md'), Page(title='Posts tagged 'html'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/html/page_1/index.md'), Page(title='Posts tagged 'content-layer'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/content-layer/page_1/index.md'), Page(title='Posts tagged 'patitas'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/patitas/page_1/index.md'), Page(title='Posts tagged 'explanation'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/explanation/page_1/index.md'), Page(title='Posts tagged 'filtering'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/filtering/page_1/index.md'), Page(title='Posts tagged 'versioning'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/versioning/page_1/index.md'), Page(title='Posts tagged 'changelog'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/changelog/page_1/index.md'), Page(title='Posts tagged 'changelog'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/changelog/page_2/index.md'), Page(title='Posts tagged 'content-reuse'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/content-reuse/page_1/index.md'), Page(title='Posts tagged 'hosting'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/hosting/page_1/index.md'), Page(title='Posts tagged 'embed'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/embed/page_1/index.md'), Page(title='Posts tagged 'terminology'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/terminology/page_1/index.md'), Page(title='Posts tagged 'pages'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/pages/page_1/index.md'), Page(title='Posts tagged 'workflow'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/workflow/page_1/index.md'), Page(title='Posts tagged 'discovery'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/discovery/page_1/index.md'), Page(title='Posts tagged 'subsystems'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/subsystems/page_1/index.md'), Page(title='Posts tagged 'reuse'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/reuse/page_1/index.md'), Page(title='Posts tagged 'icons'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/icons/page_1/index.md'), Page(title='Posts tagged 'authors'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/authors/page_1/index.md'), Page(title='Posts tagged 'metadata'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/metadata/page_1/index.md'), Page(title='Posts tagged 'ast'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/ast/page_1/index.md'), Page(title='Posts tagged 'directives'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/directives/page_1/index.md'), Page(title='Posts tagged 'reading-time'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/reading-time/page_1/index.md'), Page(title='Posts tagged 'css-generation'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/css-generation/page_1/index.md'), Page(title='Posts tagged 'external refs'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/external-refs/page_1/index.md'), Page(title='Posts tagged 'audio'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/audio/page_1/index.md'), Page(title='Posts tagged 'contributing'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/contributing/page_1/index.md'), Page(title='Posts tagged 'figure'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/figure/page_1/index.md'), Page(title='Posts tagged 'layout'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/layout/page_1/index.md'), Page(title='Posts tagged 'about'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/about/page_1/index.md'), Page(title='Posts tagged 'autodoc'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/autodoc/page_1/index.md'), Page(title='Posts tagged 'spotify'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/spotify/page_1/index.md'), Page(title='Posts tagged 'tutorial'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/tutorial/page_1/index.md'), Page(title='Posts tagged 'tutorial'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/tutorial/page_2/index.md'), Page(title='Posts tagged 'modernization'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/modernization/page_1/index.md'), Page(title='Posts tagged 'click'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/click/page_1/index.md'), Page(title='Posts tagged 'streaming'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/streaming/page_1/index.md'), Page(title='Posts tagged 'output'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/output/page_1/index.md'), Page(title='Posts tagged 'strategies'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/strategies/page_1/index.md'), Page(title='Posts tagged 'pagination'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/pagination/page_1/index.md'), Page(title='Posts tagged 'health'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/health/page_1/index.md'), Page(title='Posts tagged 'security'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/security/page_1/index.md'), Page(title='Posts tagged 'free-threading'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/free-threading/page_1/index.md'), Page(title='Posts tagged 'navigation'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/navigation/page_1/index.md'), Page(title='Posts tagged 'cache'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/cache/page_1/index.md'), Page(title='Posts tagged 'limitations'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/limitations/page_1/index.md'), Page(title='Posts tagged 'customization'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/customization/page_1/index.md'), Page(title='Posts tagged 'cards'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/cards/page_1/index.md'), Page(title='Posts tagged 'strings'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/strings/page_1/index.md'), Page(title='Posts tagged 'query-indexes'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/query-indexes/page_1/index.md'), Page(title='Posts tagged 'i18n'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/i18n/page_1/index.md'), Page(title='Posts tagged 'performance'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/performance/page_1/index.md'), Page(title='Posts tagged 'performance'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/performance/page_2/index.md'), Page(title='Posts tagged 'seo'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/seo/page_1/index.md'), Page(title='Posts tagged 'version history'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/version-history/page_1/index.md'), Page(title='Posts tagged 'openapi'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/openapi/page_1/index.md'), Page(title='Posts tagged 'cross-references'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/cross-references/page_1/index.md'), Page(title='Posts tagged 'frontmatter'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/frontmatter/page_1/index.md'), Page(title='Posts tagged 'badge'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/badge/page_1/index.md'), Page(title='Posts tagged 'object-model'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/object-model/page_1/index.md'), Page(title='Posts tagged 'callouts'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/callouts/page_1/index.md'), Page(title='Posts tagged 'media'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/media/page_1/index.md'), Page(title='Posts tagged 'myst'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/myst/page_1/index.md'), Page(title='Posts tagged 'content-api'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/content-api/page_1/index.md'), Page(title='Posts tagged 'type-safety'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/type-safety/page_1/index.md'), Page(title='Posts tagged 'cheatsheet'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/cheatsheet/page_1/index.md'), Page(title='Posts tagged 'capabilities'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/capabilities/page_1/index.md'), Page(title='Posts tagged 'github-actions'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/github-actions/page_1/index.md'), Page(title='Posts tagged 'syntax'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/syntax/page_1/index.md'), Page(title='Posts tagged 'testing'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/testing/page_1/index.md'), Page(title='Posts tagged 'core'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/core/page_1/index.md'), Page(title='Posts tagged 'blog'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/blog/page_1/index.md'), Page(title='Posts tagged 'remote-content'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/remote-content/page_1/index.md'), Page(title='Posts tagged 'rendering'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/rendering/page_1/index.md'), Page(title='Posts tagged 'directory-structure'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/directory-structure/page_1/index.md'), Page(title='Posts tagged 'content'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/content/page_1/index.md'), Page(title='Posts tagged 'sections'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/sections/page_1/index.md'), Page(title='Posts tagged 'asset-discovery'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/asset-discovery/page_1/index.md'), Page(title='Posts tagged 'quality'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/quality/page_1/index.md'), Page(title='Posts tagged 'lint'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/lint/page_1/index.md'), Page(title='Posts tagged 'social cards'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/social-cards/page_1/index.md'), Page(title='Posts tagged 'benchmarks'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/benchmarks/page_1/index.md'), Page(title='Posts tagged 'caching'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/caching/page_1/index.md'), Page(title='Posts tagged 'icon'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/icon/page_1/index.md'), Page(title='Posts tagged 'menus'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/menus/page_1/index.md'), Page(title='Posts tagged 'interface'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/interface/page_1/index.md'), Page(title='Posts tagged 'extension'', source='/home/runner/work/bengal/bengal/site/.bengal/generated/tags/extension/page_1/index.md')] |
All pages |
{{ .Site.Menus }} |
`` | Menu data |
Variable Substitution in Content
Bengal supports variable substitution in markdown content:
---
title: Release Notes
version: "2.5.0"
release_date: "2025-01-15"
---
# {{ page.title }}
**Version {{ page.metadata.version }}** released on {{ page.metadata.release_date }}.
Current site: {{ site.config.title }}
Tip
Hugo only supports variables in templates. Bengal supports them in content files too.
Configuration Mapping
Basic Site Config
baseURL = "https://example.com"
title = "My Site"
languageCode = "en-us"
theme = "docsy"
[params]
description = "My awesome site"
github_repo = "https://github.com/user/repo"
[site]
baseurl = "https://example.com"
title = "My Site"
language = "en"
theme = "bengal"
[site.params]
description = "My awesome site"
github_repo = "https://github.com/user/repo"
Menu Configuration
[[menu.main]]
name = "Docs"
url = "/docs/"
weight = 10
[[menu.main]]
name = "Blog"
url = "/blog/"
weight = 20
[[site.menu.main]]
name = "Docs"
url = "/docs/"
weight = 10
[[site.menu.main]]
name = "Blog"
url = "/blog/"
weight = 20
Directory Structure Comparison
| Hugo | Bengal | Notes |
|---|---|---|
content/ |
content/ |
✅ Same |
static/ |
assets/ |
Different name |
layouts/ |
templates/ |
Template location |
themes/ |
themes/ |
✅ Same |
data/ |
data/ |
✅ Same |
config.toml |
bengal.toml |
Different name |
archetypes/ |
Not used | Use templates |
resources/ |
Auto-managed | No equivalent |
Additional Features
:::{cards}
:columns: 3
:::{card} Feature 1
:icon: rocket
:link: /docs/feature1/
Quick description
:::{/card}
:::{card} Feature 2
:icon: package
:link: /docs/feature2/
Another feature
:::{/card}
:::{/cards}
:::{steps}
:::{step} Install
```bash
pip install bengal
```
:::{/step}
:::{step} Create Site
```bash
bengal new site mysite
```
:::{/step}
:::{step} Start Server
```bash
bengal serve
```
:::{/step}
:::{/steps}
:::{data-table}
:source: data/products.yaml
:columns: name, price, stock
:sortable: true
:filterable: true
:::
<!-- Define in data/glossary.yaml -->
<!-- Use in any page: -->
:::{glossary}
:tags: api, authentication
:::
<!-- Auto-generate cards from section children -->
:::{child-cards}
:columns: 2
:::
<!-- Show sibling pages in the current section -->
:::{siblings}
:::
<!-- Prev/Next navigation links -->
:::{prev-next}
:::
<!-- Breadcrumb navigation -->
:::{breadcrumbs}
:::
<!-- Related pages by tag -->
:::{related}
:tags: api, authentication
:::
Differences and Limitations
| Hugo Feature | Bengal Equivalent | Notes |
|---|---|---|
| Custom shortcodes | Directives | Built-in directives cover most cases |
| Go templates | Kida templates | Similar concepts, different syntax |
| Hugo Modules | Local themes | Copy theme files or use Git submodules |
.GetPagefunction |
Template functions | Different API, similar functionality |
| Image processing | fill, fit, resize |
Similar API:image.fill("800x600 webp q80") |
| Multilingual i18n | langfrontmatter |
Simpler approach, less feature-rich |
Template Syntax Differences
| Hugo (Go) | Bengal (Kida) |
|---|---|
{{ if .Params.x }} |
{% if page.metadata.x %} |
{{ range .Pages }} |
{% for page in pages %} |
{{ .Title \| upper }} |
{{ page.title \| upper }} |
{{ with .Params.x }} |
{% if page.metadata.x %} |
{{ partial "name" . }} |
{% include "partials/name.html" %} |
Template Functions vs Filters
Bengal distinguishes between functions (called directly) and filters (used with|). Hugo mixes both concepts.
Hugo's Approach:
Hugo uses both functions and methods:
{{ len .Pages }} {# Function #}
{{ .Pages.GetMatch "*.md" }} {# Method #}
{{ .Title | upper }} {# Filter #}
Bengal's Approach:
Bengal separates them clearly:
Filters (transform values):
{{ page.title | upper }}
{{ site.pages |> where('draft', false) }}
Functions (standalone operations):
{{ get_page('path') }}
{{ get_data('file.json') }}
Migration Pattern:
| Hugo | Bengal | Type |
|---|---|---|
{{ len .Pages }} |
{{ site.pages \| length }} |
Filter |
{{ .GetPage "path" }} |
{{ get_page('path') }} |
Function |
{{ .Title \| upper }} |
{{ page.title \| upper }} |
Filter |
{{ index .Site.Data "authors" }} |
{{ get_data('data/authors.json') }} |
Function |
Rule of thumb:
- Hugo functions that transform values → Bengal filters
- Hugo functions that retrieve/lookup → Bengal functions
See Functions vs Filters for complete explanation.
Migration Steps
- 1
Copy Content
# Copy your Hugo content cp -r /path/to/hugo/content/* content/ # Content structure is compatible - 2
Convert Frontmatter
Change
categories(plural) tocategory(singular):# Hugo categories: [tutorial, python] # Bengal category: tutorial tags: [python] # Use tags for multiple categories - 3
Convert Shortcodes
Find all shortcode usages:
grep -r "{{<" content/Replace with directives:
Hugo Shortcode Bengal Directive {{</* notice note */>}}...{{</* /notice */>}}:::{note}...:::{{</* highlight python */>}}...{{</* /highlight */>}}```python...```{{</* tabs */>}}...{{</* /tabs */>}}:::{tab-set}...:::{/tab-set}{{</* figure src="..." */>}}:::{figure} path:alt: text - 4
Update Config
Rename and update the config file:
mv config.toml bengal.tomlUpdate the format using the Configuration Mapping section above.
- 5
Test
bengal build bengal health linkcheck bengal serve
Migration Checklist
Before You Start
- Install Bengal:
pip install bengal - Backup your Hugo site
- Create new Bengal site:
bengal new site mysite
Content Migration
- Copy
content/directory - Convert shortcodes to directives
- Update
categories→categoryin frontmatter - Check variable syntax in templates
Assets Migration
- Copy
static/toassets/ - Update asset paths in content if needed
Config Migration
- Convert
config.tomltobengal.toml - Update menu configuration
- Set theme and other options
Verify
- Build:
bengal build - Check:
bengal health linkcheck - Preview:
bengal serve
Quick Reference Card
| Task | Hugo | Bengal |
|---|---|---|
| New site | hugo new site |
bengal new site |
| Build | hugo |
bengal build |
| Serve | hugo server |
bengal serve |
| New content | hugo new docs/page.md |
Create file directly |
| Check links | External tool | bengal health linkcheck |
| Note callout | {{ * notice note */> }} |
:::{note} |
| Warning | {{ * notice warning */> }} |
:::{warning} |
| Tabs | {{ * tabs */> }} |
:::{tab-set} |
| Code | {{ * highlight */> }} |
```lang |
Common Questions
Can I use Go templates?
No. Bengal uses Kida templates. Template logic transfers, but syntax differs. See the Template Variable Mapping section for conversions.
What about Hugo modules?
Bengal doesn't have a module system. For shared content, use:::{include}directives or symlinks. For shared themes, copy them into your project or use Git submodules.
Can I keep my custom shortcodes?
Convert them to Bengal directives or Kida functions ({% def %}). Common shortcodes (tabs, notices, figures) have built-in directive equivalents. See Shortcode → Directive Translation for mappings.
What about Hugo's image processing?
Bengal includes image processing with similar capabilities to Hugo:
{# Resize and crop to exact dimensions #}
{% let processed = image.fill("800x600 webp q80") %}
<img src="{{ processed.rel_permalink }}" width="{{ processed.width }}">
{# Fit within dimensions (preserve aspect ratio) #}
{% let thumb = image.fit("400x400") %}
{# Generate responsive srcset #}
<img srcset="{{ 'hero.jpg' | image_srcset([400, 800, 1200]) }}"
sizes="(max-width: 640px) 400px, 800px">
Supported operations: fill, fit, resize, format conversion (WebP, AVIF), quality control, and anchor points for cropping. See Image Processing for details.
Related Migration Guides
- From Jekyll - Similar shortcode-to-directive conversion patterns
- From Docusaurus - MDX component migration
- Migration Overview - Common migration patterns across all platforms
Next Steps
- Directives Reference - Complete directive reference
- Configuration Reference - Full config options
- Cheatsheet - Quick syntax reference
- Theme Variables - Customize themes
From Sphinx/RST
Onboarding guide for Sphinx and reStructuredText users migrating to Bengal
Bengal for Sphinx/RST Users
You're 80% there. Bengal uses MyST-compatible syntax that mirrors what you already know.
Quick Wins (5 Minutes)
Your Directives Work (Almost)
The only syntax change:.. name:: becomes :::{name}.
Directive Syntax
Bengal uses colon-based syntax only (:::{name}). Backtick syntax (````{name}`) renders as code blocks, not directives. This avoids conflicts when showing directive examples in documentation.
| Sphinx/RST | Bengal | Works? |
|---|---|---|
.. note:: |
:::{note} |
✅ |
.. warning:: |
:::{warning} |
✅ |
.. tip:: |
:::{tip} |
✅ |
.. danger:: |
:::{danger} |
✅ |
.. literalinclude:: |
:::{literalinclude} |
✅ |
.. include:: |
:::{include} |
✅ |
Side-by-Side Example
.. note:: Important
This is a note with **bold** text.
.. code-block:: python
:linenos:
:emphasize-lines: 2
def hello():
print("Hello, World!")
:::{note} Important
This is a note with **bold** text.
:::
```python
def hello():
print("Hello, World!")
```
Complete Feature Mapping
Admonitions
| Sphinx | Bengal | Notes |
|---|---|---|
.. note:: |
:::{note} |
Identical semantics |
.. warning:: |
:::{warning} |
Identical semantics |
.. tip:: |
:::{tip} |
Identical semantics |
.. danger:: |
:::{danger} |
Identical semantics |
.. seealso:: |
:::{seealso} |
Supported |
.. versionadded:: |
:::{since} |
Semantic versioning directive |
.. deprecated:: |
:::{deprecated} |
Semantic deprecation notice |
.. versionchanged:: |
:::{changed} |
Version change notice |
.. admonition:: Custom |
:::{note} Custom Title |
Title in directive |
Code Blocks
| Sphinx | Bengal | Notes |
|---|---|---|
.. code-block:: python |
```python |
Standard fenced |
:linenos: |
Not built-in | CSS-based line numbers |
:emphasize-lines: |
Not built-in | Use comments to highlight |
.. highlight:: python |
Not needed | Each block specifies language |
File Inclusion
| Sphinx | Bengal | Notes |
|---|---|---|
.. literalinclude:: file.py |
:::{literalinclude} file.py |
✅ Same |
:lines: 1-10 |
:lines: 1-10 |
✅ Same option |
:language: python |
:language: python |
✅ Same option |
.. include:: file.md |
:::{include} file.md |
✅ Same |
Example: Literalinclude Usage
:::{literalinclude} ../examples/hello.py
:language: python
:lines: 5-15
:caption: Hello World Example
:::
Cross-References
Bengal uses[[label]]syntax for intelligent cross-references that automatically resolve page titles and paths.
| Sphinx | Bengal | Notes |
|---|---|---|
:ref:\label`` |
[[path]] or [[path\|Custom Text]] |
Auto-resolves page title |
:doc:\path`` |
[[path]]or standard markdown links |
Standard markdown also works |
:term:\glossary`` |
:::{glossary}directive |
Data-driven |
.. _label: |
{#label}in heading |
MyST anchor syntax |
Example: Cross-Reference Examples
<!-- Basic cross-reference (uses page title automatically) -->
[[docs/getting-started]]
<!-- Cross-reference with custom text -->
[[docs/getting-started|Get Started Guide]]
<!-- Link to heading anchor -->
[[#installation]]
[[docs/getting-started#installation]]
<!-- Link by custom ID (if page has id: in frontmatter) -->
[[id:install-guide]]
<!-- Standard markdown links also work -->
[Configuration Guide](../reference/configuration.md)
[Config Options](../reference/configuration.md#options)
Cross-Reference Benefits
[[path]]syntax automatically:
- Resolves to the correct page URL
- Uses the page's title as link text (unless you specify custom text)
- Handles path normalization automatically
- Provides O(1) lookup performance
Table of Contents
| Sphinx | Bengal | Notes |
|---|---|---|
.. toctree:: |
Auto-generated fromweight |
File-system based |
:maxdepth: 2 |
Sidebar depth in theme config | Theme setting |
:caption: Guide |
Section titles in_index.md |
Content structure |
:hidden: |
hidden: truefrontmatter |
Per-page |
Bengal auto-generates navigation from your directory structure. Useweightfrontmatter to control order:
---
title: Installation
weight: 10 # Lower = appears first
---
Configuration
Sphinx (conf.py) |
Bengal (bengal.toml) |
|---|---|
project = 'My Docs' |
[site]title = "My Docs" |
extensions = [...] |
Built-in (no extensions needed) |
html_theme = 'sphinx_rtd_theme' |
[site]theme = "bengal" |
html_static_path = ['_static'] |
assets/directory |
templates_path = ['_templates'] |
themes/[name]/templates/ |
Example: Minimal bengal.toml
[site]
title = "My Documentation"
baseurl = "https://docs.example.com"
language = "en"
theme = "bengal"
Directory Structure
| Sphinx | Bengal | Notes |
|---|---|---|
source/ |
content/ |
Content root |
_static/ |
assets/ |
Static files |
_templates/ |
themes/[name]/templates/ |
Template overrides |
conf.py |
bengal.toml |
Configuration |
index.rst |
_index.md |
Section index |
Makefile |
bengal build |
Build command |
What Bengal Adds (Sphinx Doesn't Have)
:::{cards}
:columns: 3
:::{card} Quick Start
:icon: rocket
:link: quickstart
Get started in 5 minutes
:::{/card}
:::{card} API Reference
:icon: book
:link: api/
Complete API docs
:::{/card}
:::{/cards}
:::{tab-set}
:::{tab} pip
```bash
pip install mypackage
```
:::{/tab}
:::{tab} conda
```bash
conda install mypackage
```
:::{/tab}
:::{/tab-set}
:::{steps}
:::{step} Install Dependencies
```bash
pip install bengal
```
:::{/step}
:::{step} Create Site
```bash
bengal new site mysite
```
:::{/step}
:::{/steps}
:::{dropdown} Click to expand
:icon: info
Hidden content here. Supports **full markdown**.
:::
Bengal supports{{ variable }}substitution directly in markdown content:
---
title: My Page
version: "2.0"
---
# Welcome to version {{ page.metadata.version }}
The current page is: {{ page.title }}
Site name: {{ site.config.title }}
Variables available in content:
page.title,page.href,page.date- Page propertiespage.metadata.xxx- Custom frontmatter fieldssite.config.xxx- Site configuration values
bengal serve
# Live preview at http://localhost:5173
# Auto-reloads on file changes
What's Different (Honest Gaps)
| Sphinx Feature | Bengal Status | Workaround |
|---|---|---|
autodoc(Python introspection) |
Built-in | Configure inbengal.toml |
intersphinx(cross-project refs) |
Not built-in | Use explicit URLs |
| Custom builders (PDF, ePub) | HTML only | External tools |
| Domain-specific roles | Not built-in | Use directives |
| Numbered figures | Manual numbering | CSS counters |
| Math/LaTeX | Built-in support | Enablecontent.mathin theme features; Math and LaTeX |
autodoc Alternative
Bengal has a built-in autodoc system that generates API documentation from Python source. Configure it in eitherbengal.toml or config/_default/autodoc.yaml:
[autodoc.python]
enabled = true
source_dirs = ["src/"]
output_prefix = "api" # Pages appear under /api/
autodoc:
python:
enabled: true
source_dirs: ["src/"]
output_prefix: "api" # Pages appear under /api/
This generates virtual pages during the build process, unlike Sphinx's runtime introspection. Runbengal buildto generate API documentation from your Python source.
Migration Checklist
Before You Start
- Install Bengal:
pip install bengal - Create new site:
bengal new site mysite - Copy content files (
.rst→.md)
Content Migration
- Convert
.. directive::to:::{directive}(colon syntax only) - Convert
:ref:links to[[path]]cross-references or markdown links - Update code blocks to fenced syntax (````python`)
- Add
weightfrontmatter for ordering
Configuration Migration
- Create
bengal.tomlfromconf.pysettings - Move
_static/toassets/ - Move
_templates/to theme templates
Verify
- Build:
bengal build - Check links:
bengal health linkcheck - Preview:
bengal serve
Quick Reference Card
| Task | Sphinx | Bengal |
|---|---|---|
| Create note | .. note:: |
:::{note} |
| Create warning | .. warning:: |
:::{warning} |
| Include file | .. include:: |
:::{include} |
| Include code | .. literalinclude:: |
:::{literalinclude} |
| Cross-reference | :ref:\label`` |
[[label]] |
| Link to doc | :doc:\path`` |
Standard markdown links |
| Build | make html |
bengal build |
| Serve | sphinx-autobuild |
bengal serve |
| Check | sphinx-build -W |
bengal health linkcheck |
Common Questions
Can I still use RST files?
Not directly. Bengal uses MyST Markdown, which has similar directive syntax to RST. You'll need to convert.rst files to .md, but the concepts transfer directly—.. note:: becomes :::{note}, etc.
What about my Sphinx extensions?
Bengal has built-in directives that cover most common extension functionality (tabs, cards, admonitions, literalinclude). For specialized extensions, check if there's a built-in directive equivalent or use custom templates.
Can I use intersphinx for cross-project references?
Not built-in. Use explicit URLs for cross-project links. If you're documenting multiple projects, consider a monorepo structure with all docs in one Bengal site.
What about autodoc for Python API docs?
Bengal has built-in autodoc! Configure it inconfig/_default/autodoc.yamlto generate API documentation from your Python source. It works differently from Sphinx (build-time vs runtime), but achieves similar results.
Next Steps
- Writer Quickstart - Full markdown reference
- Directives Reference - All available directives
- Configuration Reference - Full config options
- Cheatsheet - Quick syntax reference
From Docusaurus/MDX
Onboarding guide for Docusaurus and MDX users migrating to Bengal
Bengal for Docusaurus/MDX Users
Great news: You get the same rich components without React, JSX, or npm. Bengal's directives provide similar functionality in pure Markdown.
Quick Wins (5 Minutes)
Admonition Syntax Is Almost Identical
| Docusaurus | Bengal | Status |
|---|---|---|
:::note |
:::{note} |
✅ Just add{} |
:::tip |
:::{tip} |
✅ Just add{} |
:::warning |
:::{warning} |
✅ Just add{} |
:::danger |
:::{danger} |
✅ Just add{} |
:::info |
:::{info} |
✅ Just add{} |
Side-by-Side
:::note
This is a note
:::
:::tip Pro Tip
This is a tip with a title
:::
:::{note}
This is a note
:::
:::{tip} Pro Tip
This is a tip with a title
:::
The only difference::::note → :::{note}(add curly braces).
Component → Directive Translation
Tabs
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
<Tabs>
<TabItem value="js" label="JavaScript">
```javascript
console.log("Hello");
```
</TabItem>
<TabItem value="py" label="Python">
```python
print("Hello")
```
</TabItem>
</Tabs>
:::{tab-set}
:::{tab} JavaScript
```javascript
console.log("Hello");
```
:::{/tab}
:::{tab} Python
```python
print("Hello")
```
:::{/tab}
:::{/tab-set}
Tip
No imports, no JSX, no React. Just markdown.
Code Blocks
import CodeBlock from '@theme/CodeBlock';
<CodeBlock language="python" title="hello.py" showLineNumbers>
def hello():
print("Hello!")
</CodeBlock>
```python title="hello.py"
def hello():
print("Hello!")
```
Cards / Feature Grid
import {Card, CardGrid} from '@site/src/components/Card';
<CardGrid>
<Card title="Quick Start" href="/docs/quickstart">
Get started in 5 minutes
</Card>
<Card title="API Reference" href="/docs/api">
Complete API documentation
</Card>
</CardGrid>
:::{cards}
:columns: 2
:::{card} Quick Start
:link: /docs/quickstart/
Get started in 5 minutes
:::{/card}
:::{card} API Reference
:link: /docs/api/
Complete API documentation
:::{/card}
:::{/cards}
Collapsible Sections
<details>
<summary>Click to expand</summary>
Hidden content here with **markdown** support.
</details>
:::{dropdown} Click to expand
:icon: info
Hidden content here with **markdown** support.
:::
Live Code Editor
```jsx live
function Hello() {
return <div>Hello World!</div>;
}
`
<!-- Option 1: Use embed directives (recommended) -->
:::{codesandbox} sandbox-id
:title: Interactive Example
:::
<!-- Option 2: Link to external playground -->
[Try it on CodeSandbox](https://codesandbox.io/s/example)
<!-- Option 3: Static code example -->
```jsx
function Hello() {
return <div>Hello World!</div>;
}
```
Note
Bengal focuses on documentation, not interactive playgrounds. For live code, use built-in embed directives:
:::{codesandbox} sandbox-id
:title: My CodeSandbox Example
:::
:::{stackblitz} project-id
:title: StackBlitz Demo
:::
:::{codepen} user/pen-id
:title: CodePen Example
:::
What You Don't Need Anymore
| Docusaurus Requires | Bengal |
|---|---|
npm install |
pip install bengal or uv pip install bengal |
node_modules/(500MB+) |
~5MB Python package |
| React/JSX knowledge | Just Markdown |
| Component imports | Built-in directives |
package.json |
bengal.toml |
| Build step (Webpack) | Simple file processing |
| Hydration debugging | Static HTML |
npm start(port 3000) |
bengal serve(port 5173) |
Configuration Comparison
Basic Config
module.exports = {
title: 'My Site',
tagline: 'Documentation made easy',
url: 'https://example.com',
baseUrl: '/',
presets: [
[
'@docusaurus/preset-classic',
{
docs: {
sidebarPath: require.resolve('./sidebars.js'),
},
theme: {
customCss: require.resolve('./src/css/custom.css'),
},
},
],
],
};
[site]
title = "My Site"
description = "Documentation made easy"
baseurl = "https://example.com"
theme = "bengal"
Sidebar Configuration
module.exports = {
docs: [
'intro',
{
type: 'category',
label: 'Getting Started',
items: ['quickstart', 'installation'],
},
{
type: 'category',
label: 'Guides',
items: ['guide1', 'guide2'],
},
],
};
<!-- Bengal auto-generates sidebar from directory structure -->
<!-- Control ordering with weight frontmatter: -->
<!-- content/docs/getting-started/_index.md -->
---
title: Getting Started
weight: 10
---
<!-- content/docs/getting-started/quickstart.md -->
---
title: Quickstart
weight: 10
---
<!-- content/docs/getting-started/installation.md -->
---
title: Installation
weight: 20
---
Tip
Nosidebars.js needed! Bengal automatically generates navigation from your directory structure. Use weight frontmatter to control the order—lower numbers appear first. Pages without weightare sorted alphabetically.
Feature Comparison
What Bengal Has (No React Required)
| Feature | Docusaurus | Bengal |
|---|---|---|
| Admonitions | :::note |
:::{note}✅ |
| Tabs | <Tabs>component |
:::{tab-set}✅ |
| Code blocks | Built-in | Built-in ✅ |
| Cards | Custom component | :::{cards}✅ |
| Dropdowns | <details> |
:::{dropdown}✅ |
| Steps | Custom component | :::{steps}✅ |
| Badges | Custom component | :::{badge}✅ |
| Buttons | Custom component | :::{button}✅ |
| Include files | MDX import | :::{include}✅ |
| Code inclusion | MDX import | :::{literalinclude}✅ |
| TOC | Built-in | Built-in ✅ |
| Search | Algolia | Built-in index |
| Breadcrumbs | Theme | :::{breadcrumbs}✅ |
| Prev/Next | Built-in | :::{prev-next}✅ |
What's Different (Trade-offs)
| Feature | Docusaurus | Bengal | Trade-off |
|---|---|---|---|
| Live code | Built-in | External links | Simpler, no hydration |
| Versioning | Plugin | Manual | Copy tov1/, v2/folders |
| i18n | Plugin | langfrontmatter |
Simpler, less automated |
| Algolia | Integrated | External | Bring your own search |
| Custom components | React/JSX | Templates | Less flexible, more standard |
| Plugins | npm ecosystem | Built-in directives | Fewer options, zero config |
MDX-Specific Migration
Imports Don't Work (You Don't Need Them)
// ❌ MDX - Won't work in Bengal
import MyComponent from '@site/src/components/MyComponent';
<MyComponent prop="value" />
<!-- ✅ Bengal - Use built-in directives instead -->
:::{card} Title
:link: /path/
Content here
:::
Export/Props Don't Work (Use Frontmatter)
// ❌ MDX - Won't work
export const data = { version: '2.0' };
Current version: {data.version}
<!-- ✅ Bengal - Use frontmatter -->
---
title: My Page
version: "2.0"
---
Current version: {{ page.metadata.version }}
JSX in Markdown → Use Directives or HTML
// ❌ MDX - Won't work
<div className="custom-box">
<h3>Custom Content</h3>
<p>With JSX styling</p>
</div>
<!-- ✅ Bengal - Use directive or HTML -->
:::{card} Custom Content
:class: custom-box
With directive styling
:::
<!-- Or plain HTML (still works) -->
<div class="custom-box">
<h3>Custom Content</h3>
<p>With HTML styling</p>
</div>
Directory Structure Comparison
| Docusaurus | Bengal | Notes |
|---|---|---|
docs/ |
content/docs/ |
Content location |
blog/ |
content/blog/ |
Blog posts |
src/pages/ |
content/ |
Static pages |
src/components/ |
Not needed | Use directives |
src/css/ |
themes/[name]/static/css/ |
Custom CSS |
static/ |
assets/ |
Static files |
docusaurus.config.js |
bengal.toml |
Configuration |
sidebars.js |
Auto-generated | Useweight |
package.json |
pyproject.toml(optional) |
Dependencies |
What Bengal Adds
---
title: API Reference
api_version: "3.0"
base_url: "https://api.example.com"
---
# {{ page.title }}
Current API version: **{{ page.metadata.api_version }}**
Base URL: `{{ page.metadata.base_url }}`
Docusaurus requires React state or MDX exports for this.
# data/glossary.yaml
terms:
- term: API
definition: Application Programming Interface
tags: [api, core]
- term: Endpoint
definition: A specific URL path that accepts requests
tags: [api, http]
<!-- In any page -->
:::{glossary}
:tags: api
:::
<!-- Auto-generate cards from child pages -->
:::{child-cards}
:columns: 3
:::
<!-- Show sibling pages in section -->
:::{siblings}
:::
<!-- Prev/Next navigation links -->
:::{prev-next}
:::
<!-- Breadcrumb navigation -->
:::{breadcrumbs}
:::
<!-- Related pages by tag -->
:::{related}
:tags: api, authentication
:::
:::{data-table}
:source: data/endpoints.yaml
:columns: method, path, description
:sortable: true
:filterable: true
:::
Migration Checklist
Before You Start
- Install Bengal:
pip install bengal - Create new site:
bengal new site mysite - Keep Docusaurus running for reference
Content Migration
- Copy
docs/tocontent/docs/ - Copy
blog/tocontent/blog/ - Convert
:::noteto:::{note}(add braces) - Remove MDX imports (use built-in directives)
- Convert React components to directives
Configuration
- Create
bengal.tomlfromdocusaurus.config.js - Remove
sidebars.js(useweightfrontmatter) - Move
static/toassets/
Cleanup
- Remove
node_modules/ - Remove
package.json - Remove
src/directory
Verify
- Build:
bengal build - Check:
bengal health linkcheck - Preview:
bengal serve
Quick Reference Card
| Task | Docusaurus | Bengal |
|---|---|---|
| Install | npm install |
pip install bengal |
| New site | npx create-docusaurus |
bengal new site |
| Build | npm run build |
bengal build |
| Serve | npm start |
bengal serve |
| Note | :::note |
:::{note} |
| Tabs | <Tabs>+ import |
:::{tab-set} |
| Cards | Custom component | :::{cards} |
| Dropdown | <details> |
:::{dropdown} |
| Include | MDX import | :::{include} |
Common Questions
Can I use React components?
No. Bengal outputs static HTML. For interactivity:
- Use vanilla JavaScript
- Embed external widgets (CodeSandbox, etc.)
- Link to interactive demos
What about live code playgrounds?
Use Bengal's built-in embed directives:
:::{codesandbox} example-id
:title: Interactive Example
:::
:::{stackblitz} example-id
:title: StackBlitz Demo
:::
Or link directly:
[Try it on CodeSandbox](https://codesandbox.io/s/example)
[Open in StackBlitz](https://stackblitz.com/edit/example)
Can I keep my custom CSS?
Yes! Put it inthemes/[name]/static/css/custom.cssand include in your template.
What about search?
Bengal generates a search index. For Algolia-level search, integrate externally or use the built-in index with JavaScript.
Related Migration Guides
If you're migrating from multiple platforms or need additional context:
- From Mintlify - Similar MDX component migration patterns
- From Fern - API documentation migration (if using OpenAPI)
- Migration Overview - Common migration patterns across all platforms
Next Steps
- Directives Reference - All available directives
- Writer Quickstart - Full markdown guide
- Configuration Reference - Config options
- Cheatsheet - Quick syntax reference
Content Organization
Pages, sections, and bundles explained
How Content is Organized
Your folder structure becomes your site structure. No configuration required.
The Three Content Types
A single.mdfile → a single HTML page.
content/
└── about.md → /about/
Use for: standalone pages like About, Contact, Privacy Policy.
A folder with_index.md→ a list page with children.
content/
└── blog/
├── _index.md → /blog/ (list page)
├── post-1.md → /blog/post-1/
└── post-2.md → /blog/post-2/
Use for: blog posts, documentation chapters, any collection.
A folder withindex.md→ a page with co-located assets.
content/
└── gallery/
├── index.md → /gallery/
├── photo-1.jpg (co-located asset)
└── photo-2.jpg (co-located asset)
Use for: pages with images, data files, or other assets that belong together.
Quick Reference
| Pattern | File | Creates | Assets |
|---|---|---|---|
| Page | name.md |
Single page | Usestatic/ |
| Section | name/_index.md |
List + children | Usestatic/ |
| Bundle | name/index.md |
Single page | Co-located |
Tip
Key difference:_index.md creates a section (with children). index.mdcreates a bundle (with assets). The underscore matters!
Advanced: Nesting and Cascades
Sections can nest to any depth:
docs/
├── _index.md
├── getting-started/
│ ├── _index.md
│ └── installation.md
└── advanced/
├── _index.md
└── plugins.md
Configuration cascades from parent to children:
---
title: Docs
cascade:
type: doc
toc: true
---
All pages under docs/ inherit type: doc and toc: trueunless they override it.
Seealso
- Component Model — Understanding type, variant, and props
- Frontmatter Reference — All frontmatter fields
- Menu Configuration — Navigation menus
Frontmatter Reference
Complete reference for all frontmatter fields
Frontmatter Reference
Complete reference for all frontmatter fields available in Bengal pages.
Required Fields
| Field | Type | Description |
|---|---|---|
title |
string | Page title, used in navigation and<title>tag |
Common Fields
| Field | Type | Default | Description |
|---|---|---|---|
description |
string | — | Page description for SEO and previews |
date |
datetime | file mtime | Publication date |
draft |
boolean | false |
Iftrue, page is excluded from production builds |
weight |
integer | — | Sort order (lower = first). Pages without weight sort last. |
slug |
string | filename | URL slug override |
url |
string | — | Complete URL path override |
aliases |
list | [] |
Additional URLs that redirect to this page |
lang |
string | site default | Language code for i18n (e.g.,en, fr) |
Taxonomy Fields
| Field | Type | Description |
|---|---|---|
tags |
list | Tags for categorization (generates tag pages) |
category |
string | Single category for grouping (generates category pages) |
keywords |
list | SEO keywords (metadata only, no pages generated) |
author |
string/object | Page author (see Author Patterns below) |
Note
Onlytags and category generate taxonomy pages by default. Use author(singular) for author attribution.
Author Patterns
Bengal supports multiple author patterns for flexibility:
Simple string (reference to data registry):
author: lbliii
Nested object (inline):
author:
name: Lawrence Lane
github: lbliii
bio: Technical writer and developer
Multiple authors (list of strings or objects):
authors:
- lbliii
- name: Jane Smith
github: janesmith
Flat author fields (legacy pattern):
author: Lawrence Lane
author_avatar: /images/lawrence.jpg
author_title: Senior Developer
author_bio: Technical writer and developer
author_links:
- text: GitHub
url: https://github.com/lbliii
Author Data Registry
Define authors once indata/authors.yamland reference by key:
# data/authors.yaml
lbliii:
name: Lawrence Lane
github: lbliii
bio: Technical writer and developer
avatar: /images/lawrence.jpg
Then reference in frontmatter:
author: lbliii
Access in templates:
{% let author_info = site.data.authors[page.metadata.author] %}
{{ author_info.name }} — {{ author_info.bio }}
Component Model Fields
Bengal uses a Component Model where every page has three aspects: identity (type), appearance (variant), and data (props).
| Field | Type | Default | Description |
|---|---|---|---|
type |
string | — | Content type for sorting and template selection (e.g.,doc, blog, page). Inherits from section cascade if not set. |
variant |
string | — | Visual presentation variant (e.g.,editorial, magazine, wide, overview) |
layout |
string | — | Legacy field, normalized tovariant. Use variantinstead. |
template |
string | — | Explicit template path override (e.g.,blog/single.html) |
nav_title |
string | title |
Short title for navigation menus and sidebar |
SEO Fields
| Field | Type | Description |
|---|---|---|
canonical |
string | Canonical URL for duplicate content |
noindex |
boolean | Iftrue, adds noindexmeta tag |
og_image |
string | Open Graph image path |
og_type |
string | Open Graph type (article, website, etc.) |
Navigation Fields
| Field | Type | Description |
|---|---|---|
menu |
object | Menu placement configuration |
nav_title |
string | Short title for navigation (falls back totitle) |
parent |
string | Parent page for breadcrumbs |
Advanced Fields
| Field | Type | Description |
|---|---|---|
cascade |
object | Values to cascade to child pages |
outputs |
list | Output formats (html, rss, json) |
resources |
list | Page bundle resource metadata |
Custom Fields (Props)
Any fields not part of Bengal's standard frontmatter are automatically available as custom props. Add them at the top level of your frontmatter.
Standard fields (extracted to PageCore):
title,description,date,draft,weight,slug,url,aliases,langtags,categories,keywords,authors,categorytype,variant,layout,templatecanonical,noindex,og_image,og_typemenu,nav_title,parentcascade,outputs,resources,toc
Custom fields (Component Model props):
- Any field not listed above goes into
page.props - Access in templates via
page.params(includes all frontmatter) orpage.props(custom fields only)
Example
---
title: My Page
description: Page description
weight: 10
type: doc
icon: code
card_color: blue
custom_setting: value
---
Access custom fields in templates:
{# page.params includes all frontmatter (standard + custom) #}
{{ page.params.icon }}
{{ page.params.get('card_color', 'default') }}
{# page.props contains only custom fields #}
{{ page.props.icon }}
Note: The props: key is only used in skeleton manifests (bengal project skeleton apply). For regular markdown files, use flat frontmatter (all fields at top level).
Example
---
title: Getting Started with Bengal
description: Learn how to install and configure Bengal for your first site
date: 2025-01-15
draft: false
weight: 10
tags: [tutorial, beginner]
categories: [Getting Started]
authors: [jane-doe]
type: tutorial
variant: wide
cascade:
type: doc
difficulty: beginner
time_estimate: 15 minutes
---
In this example:
- Standard fields (
title,date,weight, etc.) are extracted to PageCore difficultyandtime_estimateare custom props accessible viapage.paramscascadepropagatestype: docto all child pages
Cascade Configuration
Thecascadefield applies values to all descendant pages:
---
title: Documentation
cascade:
type: doc
variant: docs
draft: false
---
All pages under this section inherit these values unless they override them. Page-level values always take precedence over cascaded values.
Configuration
Configuring Bengal with bengal.toml
Configuration
Control Bengal's behavior throughbengal.tomland environment-specific settings.
Configuration Methods
Bengal loads configuration from either theconfig/ directory (preferred) OR bengal.toml (legacy/simple). If config/ exists, bengal.tomlis ignored.
Overrides apply in order: Base Config → Environment Overrides → CLI Flags.
Quick Start
# bengal.toml
[site]
title = "My Site"
baseurl = "https://example.com"
language = "en"
[build]
output_dir = "public"
[theme]
name = "default"
Configuration Patterns
Best for small sites:
# bengal.toml - everything in one place
[site]
title = "My Blog"
[build]
output_dir = "public"
[theme]
name = "default"
Best for larger sites:
config/
├── _default/
│ ├── site.yaml
│ ├── build.yaml
│ └── theme.yaml
└── environments/
├── production.yaml
└── staging.yaml
Environment Overrides
Run with different settings per environment:
bengal build --environment production
# config/environments/production.yaml
site:
baseurl: "https://example.com"
build:
minify_html: true
strict_mode: true
assets:
fingerprint: true
Tip
Best practice: Keep development settings inbengal.toml, add production overrides in config/environments/production.yaml.
Build Options Reference
Key[build]configuration options:
| Option | Type | Default | Description |
|---|---|---|---|
output_dir |
string | "public" |
Directory for generated files |
minify_html |
bool | true |
Minify HTML output |
validate_templates |
bool | false |
Proactive template syntax validation |
validate_build |
bool | true |
Post-build validation checks |
validate_links |
bool | true |
Check for broken internal links |
strict_mode |
bool | false |
Fail build on any error or warning |
fast_mode |
bool | false |
Enable maximum performance optimizations |
Note
Incremental builds are automatic. First build is full (creates cache), subsequent builds only rebuild changed content. Use--no-incrementalCLI flag for debugging or CI clean builds.
Asset Options
Configure asset processing in the[assets]section:
| Option | Type | Default | Description |
|---|---|---|---|
minify |
bool | true |
Minify CSS/JS assets |
optimize |
bool | true |
Optimize images |
fingerprint |
bool | true |
Add content hash to asset URLs |
[assets]
minify = true
optimize = true
fingerprint = true
Template Validation
Enablevalidate_templatesto catch template syntax errors early during builds:
[build]
validate_templates = true
When enabled, Bengal validates all templates (HTML/XML) in your template directories before rendering. This provides early feedback on syntax errors, even for templates that might not be used by every page.
Enable template validation during development for immediate feedback:
[build]
validate_templates = true
Combine with strict mode in CI pipelines to fail builds on template errors:
[build]
validate_templates = true
strict_mode = true
When to enable:
- During active theme development
- In CI/CD pipelines
- When debugging template issues
What it catches:
- Template syntax errors (unclosed tags, invalid filters) in Kida and Jinja2
- Unknown filter names
- Template assertion errors
Note
Template validation adds a small overhead to build time. For large sites, consider enabling it only in development and CI environments.
Multi-Variant Builds
Build different site variants (OSS vs Enterprise, brand1 vs brand2) from one content tree. Setparams.edition per environment and add editionto page frontmatter to filter content.
Seealso
Multi-Variant Builds — Full guide for OSS/Enterprise and brand variants