-
Notifications
You must be signed in to change notification settings - Fork 20
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
Set up Read The Docs (RTD) Scaffolding and Sketch Docs Website #202
base: master
Are you sure you want to change the base?
Conversation
A few questions I have at this point:
|
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.
The initially structure looks really great. I understand most of the pieces but not necessarily how every single file fits together.
What should we do about the existing doc/ folder
I believe we can convert all the markdown files there into something that would be part of the SPRAS docs. Would that involve converting to rst?
@@ -24,3 +24,14 @@ repos: | |||
rev: 'v0.0.269' | |||
hooks: | |||
- id: ruff | |||
# Hook to enforce a consistent markdown linewrap policy |
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 actually dislike line wrapped markdown. The preference comes from our Manubot project for writing collaborative manuscripts with markdown, where we recommend one sentence per line. I would be okay enforcing that with a hook.
[Read The Docs](https://docs.readthedocs.com/platform/stable/), or RTD, is the | ||
documentation hosting platform the SPRAS team has chosen to use for hosting its | ||
official documentation. As a platform, it automatically builds and versions docs | ||
based on the contents of the `docs/` file in this repository by periodically |
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.
based on the contents of the `docs/` file in this repository by periodically | |
based on the contents of the `docs/` directory in this repository by periodically |
While Read the Docs is the platform that builds and hosts documentation, it is | ||
distinct from the actual tool/package responsible for generating the HTML | ||
content. That tool is [`sphinx`](https://www.sphinx-doc.org/en/master/), a | ||
popular python python package that tries to make documentation easy to write, |
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.
popular python python package that tries to make documentation easy to write, | |
popular python package that tries to make documentation easy to write, |
in general, this website) walks you through the basics of using sphinx to | ||
create documentation. In particular, it helps you figure out how to achieve | ||
the information layouts you may be after, such as certain content appearing in | ||
a ToC. |
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.
a ToC. | |
a table of contents. |
these warnings, so if you see any, try to understand what they mean and how you | ||
can fix them. | ||
|
||
Once you have a successful build, the [\_build](_build) directory will contain |
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.
Is this going to be committed? The text below suggests no, should should we remove the link? We already ignore it.
|
||
We welcome contributions to SPRAS! If you would like to contribute, please follow the guidelines below. | ||
|
||
Adding New PRMs |
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'd like to avoid the PRM algorithm in the docs. We could call these "Algorithms" generically if space is limited or "Network Algorithims" if we have a little more space.
@annaritz what do you think?
SPRAS Python Modules | ||
==================== | ||
|
||
.. automodule:: spras |
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.
We'll have to add these for each new module manually?
All Pairs | ||
========= | ||
|
||
Here's a description of the PRM. |
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.
Can we link this to the auto-generated API documentation for the module?
@@ -0,0 +1,44 @@ | |||
Pathway Reconstruction Methods |
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.
This is another area where we'll need to update the contribution guide if the list of algorithms needs to be extended manually.
@@ -24,6 +24,6 @@ dependencies: | |||
- mock=4.0 | |||
- recommonmark=0.7 | |||
- sphinx=6.0 | |||
- sphinx-rtd-theme=3.0.1 | |||
- pip: | |||
- graphspace_python==1.3.1 |
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 believe the sphinx dependencies came from graphspace. That is currently a required packaged for one of our pathway output file formats, so all of its dependencies may also be required.
This sets up some of the basics the SPRAS team has discussed w.r.t. building an official documentation website. I tried to focus on organization/scaffolding for the docs, and not so much the content (which I'm less qualified to write).
I also spent some time putting together some meta docs to explain to others how to write/build/visualize any documentation changes they may choose to make. My hope is that I can help the group with formatting, structure, and hosting, and others can work on the biology
While the changes in this PR function to generate documentation, this doesn't yet address the actual hosting of any documentation, which is outside the scope of what I can accomplish in a PR because it requires RTD account creation and the generation of github secrets.
Here's a screenshot of the landing page these changes currently produce:
![Screenshot 2025-01-30 at 11 52 49](https://private-user-images.githubusercontent.com/75916364/408236660-3f1cfe34-9f29-463a-9a04-4a73bc83556f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1MDA4NzQsIm5iZiI6MTczOTUwMDU3NCwicGF0aCI6Ii83NTkxNjM2NC80MDgyMzY2NjAtM2YxY2ZlMzQtOWYyOS00NjNhLTlhMDQtNGE3M2JjODM1NTZmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE0VDAyMzYxNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc1MzAyNTc3ZmExODIwYjE0NjkzZjBkM2UxOGRiMGEwOTY3ZmRhYzk3MTI1MmJhOWRhY2ZmNDU5NjViZjU3YWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.zpV0MD4rvSykL9LX8bhfB8SvYNJj5jj4673um5UZMvY)