Skip to content

Feature Request: Generate Docs from Class docstrings and generate HTML file #22

@MechaCritter

Description

@MechaCritter

Is your feature request related to a problem? Please describe.
Currently, I document the usage of each of the modules manually under docs/, which is annoying because if the API or behavior changes, I would have to update both the module itself and the documentation. Hence, I am planning to convert the docstrings of the classes FisherVectorEncoder, Pipeline, VLADEncoder to documentation directly and host it on a website, so whenever I make changes, they are reflected immediately.

The created documentation should include a class's docstring as well as the docstring of all its public methods.

Describe the solution you'd like
For this, I would like to use the combination of MkDocs + mkdocstrings to convert the docstrings of the mentioned classes to Markdown format, and then host on a website. So following steps can be followed:

  1. Write a Python script that uses MkDocs + mkdocstrings under the hood and read the files where the classes live, after which a Website pops up with the documentation for each class, pulled directly from their docstrings.
  2. Automate this in the CI pipeline. I found this command: mkdocs gh-deploy that automatically generates a website hosted on GitHub. Please put the .yml file under .github/workflows. If you have never worked with GitHub workflows before, this might be a good chance to look into it.

Describe alternatives you've considered

If you have any additional idea that might work better, feel free to share. I just asked Claude today, and it recommended me to use MkDocs + mkdocstrings, but there might be other better options. I also considered Sphinx, but I'm not sure how a Sphinx build would work on GitHub CI, since Sphinx needs a LaTex compiler to run.

Additional context
Add any other context or screenshots about the feature request here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Priority 2contributor neededNeeds a contributor to take over the issue/featuredocumentationImprovements or additions to documentation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions