Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ENH]: Docs solution #181

Closed
Isengo1989 opened this issue Oct 24, 2024 · 5 comments
Closed

[ENH]: Docs solution #181

Isengo1989 opened this issue Oct 24, 2024 · 5 comments
Labels
enhancement New feature or request

Comments

@Isengo1989
Copy link

Link to discussion and related issues

https://github.com/Akkudoktor-EOS/EOS/commit/59dcf8c45930470313173e4133cbc168352a6ed6#diff-f064ccb7314efec60cde4c767245788835c1ed8ab43e883d263614e503faa9c3R2

Proposed implementation

Regarding the commit mentioned above. Is there a reason that rst was choosen over md files?

MD files are more common and can be easily hosted via Github Pages, fully integrated and free. Since the project is still fresh, I would recommend that as the docs integration. I can assist here, since it is my bread and butter.
@Isengo1989 Isengo1989 added the enhancement New feature or request label Oct 24, 2024
@b0661
Copy link
Collaborator

b0661 commented Oct 24, 2024

Sphinx and RST is much more powerfull (e.g. automatic API documentation generation) than pure MD. Documentation can be easily exported to Read The Docs for free.

MD files are more common

Like always, depends where you are looking to. Emhass - a comparable project -- uses Sphinx. Some of the open source projects I worked with are using Sphinx and RST.

Anyway I enabled MD in Sphinx. Feel free to write documentation in MD.

To have a look onto what you've done just - from #160 - use:

make read-docs

@Isengo1989
Copy link
Author

Sphinx and RST is much more powerfull (e.g. automatic API documentation generation) than pure MD. Documentation can be easily exported to Read The Docs for free.

MD files are more common

Like always, depends where you are looking to. Emhass - a comparable project -- uses Sphinx. Some of the open source projects I worked with are using Sphinx and RST.

Anyway I enabled MD in Sphinx. Feel free to write documentation in MD.

To have a look onto what you've done just - from #160 - use:

make read-docs

I am mainly asking since the project has not been published yet, it sounds like complexity to me ("and will hopefully someday land on"). The question is also if the project needs the powerfulness since Swagger OA schema was already discussed.

Happy to check another way of documenting in github, just making sure it is not overkill / has it's project related benefits / start a discussion.

@Lasall
Copy link
Collaborator

Lasall commented Oct 24, 2024

I'm also a fan of md/asciidoc documentation because of its builtin integration into Github. The server API generation of Sphynx is not that great (problem with referenced types) and with swagger.io and external url support we don´t have to create anything separately (see here). For the developer documentation (Python implementation) Spynx documentation probably works well.

There are some GitHub workflows that support publishing Sphynx to Github Pages and also to ReadTheDocs which we probably should set up at some point (whichever is easier because we don´t really need to worry about versioning of the developer information).

b0661 added a commit to b0661/EOS that referenced this issue Oct 25, 2024
Switch to Markdown for the documentation files to improve the user and developer experience (see issue Akkudoktor-EOS#181).

Keep files with special directives for automatic API documentation in RST format. The
directives expect RST.

Also add dummy handling for openai/ swagger server documentation. The openai interface definition is
for now taken from the fastapi PR as EOS will switch to fastAPI.

Signed-off-by: Bobby Noelte <[email protected]>
@b0661
Copy link
Collaborator

b0661 commented Oct 25, 2024

I just updated #160 and moved most of the docs to Markdown format. You may have a look.

@Isengo1989
Copy link
Author

Looking good

image

NormannK added a commit that referenced this issue Nov 10, 2024
* Add package API documentation generation

Add generation of the API documentation for akkudoktoreos
and akkudoktoreosserver packages.

The API documentation is generated by the Sphinx autosummary extension.

Signed-off-by: Bobby Noelte <[email protected]>

* Enable Google style source commenting and documentation generation.

Enable automatic documentation generation from Google style docstrings in the source.

Signed-off-by: Bobby Noelte <[email protected]>

* Check Google style source commenting.

Check Google style commenting by the appropriate ruff rules.

Commenting is _NOT_ enforced. Missing docstrings are ignored.

Minor commenting quirks of the code base are adapted.

Signed-off-by: Bobby Noelte <[email protected]>

* Improve Markdown handling and switch to Markdown documentation.

Switch to Markdown for the documentation files to improve the user and developer experience (see issue #181).

Keep files with special directives for automatic API documentation in RST format. The
directives expect RST.

Also add dummy handling for openai/ swagger server documentation. The openai interface definition is
for now taken from the fastapi PR as EOS will switch to fastAPI.

Signed-off-by: Bobby Noelte <[email protected]>

---------

Signed-off-by: Bobby Noelte <[email protected]>
Co-authored-by: Normann <[email protected]>
drbacke pushed a commit that referenced this issue Jan 1, 2025
* Add package API documentation generation

Add generation of the API documentation for akkudoktoreos
and akkudoktoreosserver packages.

The API documentation is generated by the Sphinx autosummary extension.

Signed-off-by: Bobby Noelte <[email protected]>

* Enable Google style source commenting and documentation generation.

Enable automatic documentation generation from Google style docstrings in the source.

Signed-off-by: Bobby Noelte <[email protected]>

* Check Google style source commenting.

Check Google style commenting by the appropriate ruff rules.

Commenting is _NOT_ enforced. Missing docstrings are ignored.

Minor commenting quirks of the code base are adapted.

Signed-off-by: Bobby Noelte <[email protected]>

* Improve Markdown handling and switch to Markdown documentation.

Switch to Markdown for the documentation files to improve the user and developer experience (see issue #181).

Keep files with special directives for automatic API documentation in RST format. The
directives expect RST.

Also add dummy handling for openai/ swagger server documentation. The openai interface definition is
for now taken from the fastapi PR as EOS will switch to fastAPI.

Signed-off-by: Bobby Noelte <[email protected]>

---------

Signed-off-by: Bobby Noelte <[email protected]>
Co-authored-by: Normann <[email protected]>
Lasall pushed a commit that referenced this issue Jan 1, 2025
* Add package API documentation generation

Add generation of the API documentation for akkudoktoreos
and akkudoktoreosserver packages.

The API documentation is generated by the Sphinx autosummary extension.

Signed-off-by: Bobby Noelte <[email protected]>

* Enable Google style source commenting and documentation generation.

Enable automatic documentation generation from Google style docstrings in the source.

Signed-off-by: Bobby Noelte <[email protected]>

* Check Google style source commenting.

Check Google style commenting by the appropriate ruff rules.

Commenting is _NOT_ enforced. Missing docstrings are ignored.

Minor commenting quirks of the code base are adapted.

Signed-off-by: Bobby Noelte <[email protected]>

* Improve Markdown handling and switch to Markdown documentation.

Switch to Markdown for the documentation files to improve the user and developer experience (see issue #181).

Keep files with special directives for automatic API documentation in RST format. The
directives expect RST.

Also add dummy handling for openai/ swagger server documentation. The openai interface definition is
for now taken from the fastapi PR as EOS will switch to fastAPI.

Signed-off-by: Bobby Noelte <[email protected]>

---------

Signed-off-by: Bobby Noelte <[email protected]>
Co-authored-by: Normann <[email protected]>
Lasall pushed a commit that referenced this issue Jan 1, 2025
* Add package API documentation generation

Add generation of the API documentation for akkudoktoreos
and akkudoktoreosserver packages.

The API documentation is generated by the Sphinx autosummary extension.

Signed-off-by: Bobby Noelte <[email protected]>

* Enable Google style source commenting and documentation generation.

Enable automatic documentation generation from Google style docstrings in the source.

Signed-off-by: Bobby Noelte <[email protected]>

* Check Google style source commenting.

Check Google style commenting by the appropriate ruff rules.

Commenting is _NOT_ enforced. Missing docstrings are ignored.

Minor commenting quirks of the code base are adapted.

Signed-off-by: Bobby Noelte <[email protected]>

* Improve Markdown handling and switch to Markdown documentation.

Switch to Markdown for the documentation files to improve the user and developer experience (see issue #181).

Keep files with special directives for automatic API documentation in RST format. The
directives expect RST.

Also add dummy handling for openai/ swagger server documentation. The openai interface definition is
for now taken from the fastapi PR as EOS will switch to fastAPI.

Signed-off-by: Bobby Noelte <[email protected]>

---------

Signed-off-by: Bobby Noelte <[email protected]>
Co-authored-by: Normann <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants