Skip to content

Community: Hugo adapter (third-party plugin) #50

@PythonWoods-Dev

Description

@PythonWoods-Dev

Summary

Create a third-party adapter package (zenzic-hugo) that teaches Zenzic to understand Hugo documentation projects.

Important: This is an external plugin, not a core change

Zenzic's architecture supports third-party adapters via the zenzic.adapters entry-point group. Hugo support should be shipped as a separate Python package, not added to the core repository. See Writing an Adapter for the full guide.

Scope

The adapter package should:

  • Parse hugo.toml / config.toml as plain text to extract baseURL, contentDir, and defaultContentLanguage (Pillar 2: no subprocesses)
  • Implement the BaseAdapter protocol (~5 methods, see src/zenzic/core/adapters/_base.py)
  • Handle Hugo front matter (slug, url, draft)
  • Register via entry-point in its own pyproject.toml:
[project.entry-points."zenzic.adapters"]
hugo = "zenzic_hugo:HugoAdapter"

Reference

Why external?

The core ships 4 adapters that the team dogfoods directly (MkDocs, Docusaurus, Zensical, Vanilla). Community-driven adapters live as independent packages — no Zenzic release required to add engine support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions