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.
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.adaptersentry-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:
hugo.toml/config.tomlas plain text to extractbaseURL,contentDir, anddefaultContentLanguage(Pillar 2: no subprocesses)BaseAdapterprotocol (~5 methods, seesrc/zenzic/core/adapters/_base.py)slug,url,draft)pyproject.toml: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.