Skip to content

Community: Sphinx adapter (third-party plugin) #51

@PythonWoods-Dev

Description

@PythonWoods-Dev

Summary

Create a third-party adapter package (zenzic-sphinx) that teaches Zenzic to understand Sphinx 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. Sphinx 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 conf.py as plain text to extract master_doc, language, extensions, and source suffix (Pillar 2: never import conf or exec() it)
  • Implement the BaseAdapter protocol (~5 methods)
  • Handle Sphinx toctree structure for reachability classification
  • Support .rst and .md source files
  • Register via entry-point in its own pyproject.toml:
[project.entry-points."zenzic.adapters"]
sphinx = "zenzic_sphinx:SphinxAdapter"

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