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

Migrate from sphinx to mkdocs-material #1856

Open
ssbarnea opened this issue Apr 28, 2023 · 8 comments
Open

Migrate from sphinx to mkdocs-material #1856

ssbarnea opened this issue Apr 28, 2023 · 8 comments
Labels
awaiting response Awaiting response from a contributor docs Documentation related maintenance Related to maintenance processes needs discussion Need some more discussion needs more info Need more info to clarify issue

Comments

@ssbarnea
Copy link
Member

ssbarnea commented Apr 28, 2023

As more and more projects are switching from old sphinx to mkdocs, usually using the most popular theme, mkdocs-material we should do the same. Random example of project using it https://ansible-lint.readthedocs.io/

RTD has support for mkdocs so there are no implications from this point of view, as they will be able to build it the same way.

This switch will make the documentation browsing more accessible to users.

@ssbarnea ssbarnea added the bug Something is not working label Apr 28, 2023
@webknjaz
Copy link
Member

webknjaz commented Apr 28, 2023

I'd argue that accessibility of the docs has no direct relation to the backend framework in use. Hence this is a bit manipulative.

Would you be able to provide a feature comparison with a clear explanation of the implications of each?

@webknjaz webknjaz added needs more info Need more info to clarify issue docs Documentation related maintenance Related to maintenance processes needs discussion Need some more discussion awaiting response Awaiting response from a contributor and removed bug Something is not working labels May 7, 2023
@WhyNotHugo
Copy link
Member

I'd like to hear of any advantages of mkdocs-material vs sphinx (I don't consider "it's trendy right now" to be a technical advantage).

Sphinx is pretty much the de-facto standard in Python world, and can also properly document classes (including type hints and docstrings in methods, etc). Can mkdocs do this too? Do you have an example Python project that does this?

@shayanhoshyari
Copy link

shayanhoshyari commented Jun 9, 2023

Sounds completely a stylistic decision. Both backends are valid and widely used, and switching from one to other "just because" is a waste of time.

sphinx can also use .md files (thanks to msyt-partser), and can have various ways of navigation depending on the theme (e.g. furo is one of the popular ones).

@astrojuanlu
Copy link
Contributor

@chrysle
Copy link
Contributor

chrysle commented Sep 21, 2023

One limitation of MkDocs from my understanding is also that it can only produce HTML output, while Sphinx has a great many builders.
Besides, I find the configuration options not really that differentiating.

Sphinx is pretty much the de-facto standard in Python world, and can also properly document classes (including type hints and docstrings in methods, etc).

By the way, a docstring-based API spec wouldn't be such a bad idea for the project.

@astrojuanlu
Copy link
Contributor

Sphinx is pretty much the de-facto standard in Python world, and can also properly document classes (including type hints and docstrings in methods, etc). Can mkdocs do this too? Do you have an example Python project that does this?

This is becoming the standard, it even supports producing Sphinx inventories https://github.com/mkdocstrings/mkdocstrings/

@jezdez
Copy link
Member

jezdez commented Sep 21, 2023

I would suggest staying close to what pip is doing.

@webknjaz
Copy link
Member

I think that objectively, there's more people familiar with Sphinx, than other frameworks.
We already do what pip does (except for the changelog thing).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting response Awaiting response from a contributor docs Documentation related maintenance Related to maintenance processes needs discussion Need some more discussion needs more info Need more info to clarify issue
Projects
None yet
Development

No branches or pull requests

7 participants