Skip to content

bengal 0.2.4

Choose a tag to compare

@lbliii lbliii released this 02 Mar 23:08
· 618 commits to main since this release
096def5

Bengal 0.2.4

Key additions: MkDocs-compatible versioning (versions.json, root redirect), KaTeX math rendering, Patitas consolidation for frontmatter and notebooks, and improved live reload in the dev server.

Highlights

Versioning for MkDocs Migration

Versioned documentation sites now emit a versions.json file compatible with MkDocs/Mike tooling, and support root redirects for docs-only deployments:

  • versions.json: Lists versions with title, aliases, and URL prefixes (config: versioning.emit_versions_json, default true)
  • Root redirect: Configurable redirect from site root to the default version (versioning.default_redirect, versioning.default_redirect_target)
  • Docs: Versioning guide updated with format details and MkDocs migration comparison

Math and LaTeX Rendering

Add math support via the content.math theme feature:

  • Opt-in: Enable in theme.features to load KaTeX CSS/JS
  • Elements: Renders .math (inline) and .math-block (display) elements
  • Docs: New Math and LaTeX authoring guide; theme reference updated

Patitas Consolidation

Frontmatter and notebook parsing now use Patitas exclusively:

  • Frontmatter: Replaces python-frontmatter; requires patitas>=0.3.3
  • Notebooks: Replaces embedded nbformat; .ipynb files parsed via patitas.parse_notebook()
  • Result: Fewer dependencies, unified content pipeline

Dev Server and Live Reload

  • Live reload: Replaced thread bridge with pure async SSE for more reliable hot reload
  • DOM fragments: Instant partial updates when editing content (no full page refresh)
  • Serve-first: Now requires build cache; clearer behavior when starting with empty output

Blog Theme

  • Series navigation: New series-nav component for the default blog theme
  • Layout: blog-after-content moved inside blog-post-layout for cleaner structure

Other Changes

  • Rendering: Improved error display when template engine raises errors
  • Build: Parallel provenance filter for faster builds on large sites
  • Build: Skip provenance verification on cold builds (no cached output)
  • Shortcodes: Ref/RelRef, HasShortcode, nesting, strict mode, and CLI support
  • Health: Refactored link validator with configurable resolution and skip rules

Breaking Changes

None. Fully backward-compatible release.

Upgrading

uv pip install --upgrade bengal
# or
pip install --upgrade bengal
# or use the self-update command
bengal upgrade