-
Notifications
You must be signed in to change notification settings - Fork 17
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
Documentation page: mkdocs & GitHub pages #449
base: main
Are you sure you want to change the base?
Conversation
82f046d
to
4932a58
Compare
Add mkdocs as a documentation framework for FawltyDeps. Update dependencies with a new `docs` dependencies group. Add material-mkdocs.
6c410db
to
ce7a0ab
Compare
b7f16d5
to
dfb1799
Compare
Create content for the documentation page
5870a05
to
d218819
Compare
Content of README should be shorter. Information suplocated in `docs` is removed.
d218819
to
a7e8e0e
Compare
Add a github action to build and deploy documentation to the GriHub pages.
…itHub rather than internally to the code.
a7e8e0e
to
a23d59c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Big review, lots of comments, but don't be discouraged! I love the look of the docs website, and I'm happy to help in any way I can to get this merged! ❤️
- Support all current Python versions: that means all Python versions that have | ||
a stable release, and are not yet End Of Life. Currently this is: v3.7 - v3.11. | ||
a stable release, and are not yet End Of Life. Currently this is: v3.8 - v3.13. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for updating this part. I think it should be updated to reflect that v3.8 is actually EOL, but we still intend to support it for now:
- Support all current Python versions: that means [all Python versions that have
a stable release, and are not yet End Of Life](https://devguide.python.org/versions/).
- We also try to support older (EOL-ed) Python versions, when doing so is not too expensive.
- Currently we support running on Python v3.8 - v3.13.
- Since we no longer rely on running inside the same Python environment as the project being
analyzed, it is possible for us to support analyzing projects running on even older Python versions.
More generally, this file is starting to show its age (e.g. the sentence about Windows below), and would benefit from another pass to make it more up-to-date (not in this PR! 😅).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After some more thinking, and our discussion on Slack I'm ready to change my mind on this: We only aim to support running current versions of Python, and improving support for older projects should be done via solutions outlined in #460.
Suggest:
- Support all current Python versions: that means [all Python versions that have
a stable release, and are not yet End Of Life](https://devguide.python.org/versions/).
Or feel free to leave the patch as is and resolve this thread.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about this as a compromise:
- Support all current Python versions: that means [all Python versions that have
a stable release, and are not yet End Of Life](https://devguide.python.org/versions/).
- Currently we support running on Python v3.8 - v3.13.
- Since we no longer rely on running inside the same Python environment as the project being
analyzed, it is possible for us to support analyzing projects running on even older Python versions.
Without the promise of supporting the older versions, but gives hope that the user can check the code written in the older Python version anyway.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ship it 😄
Rewrite front page of the documentation as per @jherland's suggestion Co-authored-by: Johan Herland <[email protected]>
Co-authored-by: Johan Herland <[email protected]>
…eference to usage and configuration
Provide more detail explaining why/when to use each of these command-line options. Co-authored-by: Johan Herland <[email protected]>
Co-authored-by: Johan Herland <[email protected]>
Co-authored-by: Johan Herland <[email protected]>
Poetry v2 drops support for Python v3.8 which we are still using.
953ca04
to
ecacda5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I took another look now, and except for two open questions (#449 (comment) and #449 (comment)) I think this is ready to get merged. 🎉
I also notice that the preview of the documentation page on https://tweag.github.io/FawltyDeps/ does not appear to be updated with the latest changes (for one, the menu structure on the left-hand side does not reflect the nav
structure in mkdocs.yml
).
In this PR, a documentation page using mkdocs and deployed on GitHub pages is added.
Documentation content
Documentation page is based on the content available in the current README.md file. The content is split and grouped according to diataxis principles to provide explanations, usage guide and FAQs for FawltyDeps.
To build documentation, mkdocs with mkdocs-material are used due to simplicity and wide support.
Deployment
Documentation page is deployed on GitHub pages (see Settings -> Pages) and is using the content of gh-pages branch.
Content of gh-pages is automatically created with GitHub Action, following the documentation of mkdocs-material.
Local tests
First, install docs dependencies:
Then build and serve locally: