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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions