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

Documentation page: mkdocs & GitHub pages #449

Open
wants to merge 19 commits into
base: main
Choose a base branch
from

Conversation

mknorps
Copy link
Collaborator

@mknorps mknorps commented Sep 3, 2024

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:

poetry install --with docs

Then build and serve locally:

mkdocs build
mkdocs serve

@mknorps mknorps self-assigned this Sep 3, 2024
@mknorps mknorps added this to the FawltyDeps 1.0 milestone Sep 3, 2024
@mknorps mknorps force-pushed the mknorps/documentation-init branch 7 times, most recently from 82f046d to 4932a58 Compare December 27, 2024 12:54
Add mkdocs as a documentation framework for FawltyDeps. Update dependencies with a new `docs` dependencies group. Add material-mkdocs.
@mknorps mknorps force-pushed the mknorps/documentation-init branch 2 times, most recently from 6c410db to ce7a0ab Compare December 30, 2024 14:32
@mknorps mknorps force-pushed the mknorps/documentation-init branch 2 times, most recently from b7f16d5 to dfb1799 Compare December 30, 2024 15:00
Create content for the documentation page
@mknorps mknorps force-pushed the mknorps/documentation-init branch 4 times, most recently from 5870a05 to d218819 Compare December 31, 2024 14:43
Content of README should be shorter. Information suplocated in `docs` is removed.
@mknorps mknorps force-pushed the mknorps/documentation-init branch from d218819 to a7e8e0e Compare December 31, 2024 14:47
@mknorps mknorps marked this pull request as ready for review December 31, 2024 14:48
@mknorps mknorps requested a review from jherland December 31, 2024 14:48
@mknorps mknorps changed the title WIP: MkDocs documentation page MkDocs documentation page Dec 31, 2024
@mknorps mknorps linked an issue Dec 31, 2024 that may be closed by this pull request
@mknorps mknorps changed the title MkDocs documentation page Documentation page: mkdocs & GitHub pages Dec 31, 2024
Add a github action to build and deploy documentation to the GriHub pages.
@mknorps mknorps force-pushed the mknorps/documentation-init branch from a7e8e0e to a23d59c Compare December 31, 2024 14:58
Copy link
Member

@jherland jherland left a 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! ❤️

Comment on lines 11 to +12
- 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.
Copy link
Member

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! 😅).

Copy link
Member

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.

Copy link
Collaborator Author

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.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ship it 😄

mknorps and others added 4 commits February 3, 2025 18:23
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]>
@mknorps mknorps force-pushed the mknorps/documentation-init branch from 953ca04 to ecacda5 Compare February 21, 2025 15:32
@jherland jherland self-requested a review February 21, 2025 19:14
Copy link
Member

@jherland jherland left a 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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create a documentation page according to diataxis principle
2 participants