-
Notifications
You must be signed in to change notification settings - Fork 530
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
DOC: Documentation overhaul #3124
Conversation
Building on top of nipy#3119 and nipy#3129, this PR makes a deep revision of the documentation: * Added a new ``build_docs`` job to CircleCI to test how it renders. * Minimized external machinery (under ``/tools/``) when building the documentation: 1. Some minimal modifications to sphinx extensions (apidoc, napoleon) allow the generation of special documentation for nipype interfaces, as it used to be before this PR 2. A new sphinx extension (``nipype.sphinxext.apidoc``) takes care of parsing and rendering inputs and outputs. They now look like the parameters/arguments of functions when formatted with numpydoc. * Revised the description of many interfaces and the documentation of the main class and the input/output specs. * Revised the structure of the navbar, separating out User-Guide/Examples, Interfaces-Index, and Devs' documentation. * Minimized the number of WARNINGS at documentation build to 5 (4 of them coming out from the auto-generated SEM tools).
f94d59b
to
cb1e376
Compare
Codecov Report
@@ Coverage Diff @@
## master #3124 +/- ##
==========================================
- Coverage 65.01% 63.95% -1.06%
==========================================
Files 295 297 +2
Lines 39290 39408 +118
Branches 5178 5210 +32
==========================================
- Hits 25543 25202 -341
- Misses 12692 13162 +470
+ Partials 1055 1044 -11
Continue to review full report at Codecov.
|
bbc200b
to
d8699f7
Compare
d8699f7
to
98ae446
Compare
One of the most salient improvements is that now, one can access an overview of all the interfaces within a package (regardless of which module contains it) - e.g. AFNI The interfaces index has also been substantially improved, adding descriptions for all tools wrapped. |
@oesteban - overall this looks great (and feel free to merge). a few thoughts on structure and refactor (all these could be done in subsequent PRs):
|
and there was this failure: https://readthedocs.org/projects/nipype/builds/ |
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 looks very good. Thanks! I've made some comments, but it will take me a while to get through 119 changed files. If it makes sense to merge and fix issues later as they're found, that's fine with me, as it's overall a huge improvement.
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.
Another batch of comments.
Can you give me admin perms in readthedocs? We just need to update the pointer to dependencies.
Sorry, I think I don't understand what you mean here.
I guess that's just a matter of the theme. If we want to keep current, then it will be a bit more involved.
I started setting up the comment for each tool as short description for each module, but finally gave up for time concerns. I agree this would be great to automate, and setting is as the docstring of each package's
I think I added a sphinx's
Sure, that I think is beyond the scope of this PR, but I could include it - if you want.
Thanks! I apologize for this huge PR, but after some consideration, I thought it was better this way -- Having merged this with a quick look around here and there, and then accepting more nitty-gritty changes addressing those problems we left open. I'll get your suggestions merged ASAP, and then we can build from there. I believe the biggest plus of this PR is actually outside nipype proper - other tools that define interfaces (e.g., niworkflows) will have it really easy to generate proper docs. Thank you both for all the feedback! |
Co-Authored-By: Chris Markiewicz <[email protected]>
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 the feedback!
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.
Okay, got through all of them.
Co-Authored-By: Chris Markiewicz <[email protected]>
Co-Authored-By: Chris Markiewicz <[email protected]>
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.
Co-Authored-By: Chris Markiewicz <[email protected]>
In particular, after allowing printing the inheritance of interfaces, links for ZZZCommandBase interfaces were broken, as originally filtered out and not built. Now they are being built and we are back to 5 warnings.
4d740aa
to
356422b
Compare
d6cc6de
to
482d815
Compare
Okay, I've made sure that 1) this builds in readthedocs; 2) latex build also works; 3) tests are passing. I believe I have either addressed or opened new issues pointed out during code review and I have addressed some of the codacy problems. |
Building on top of #3119 and #3120, this PR makes a deep revision of the
documentation:
Added a new
build_docs
job to CircleCI to test how it renders.Minimized external machinery (under
/tools/
) when building thedocumentation:
napoleon) allow the generation of special documentation
for nipype interfaces, as it used to be before this PR
nipype.sphinxext.apidoc
) takescare of parsing and rendering inputs and outputs. They now
look like the parameters/arguments of functions when formatted
with numpydoc.
Revised the description of many interfaces and the documentation of
the main class and the input/output specs.
Revised the structure of the navbar, separating out
User-Guide/Examples, Interfaces-Index, and Devs' documentation.
Minimized the number of WARNINGS at documentation build to 5 (4 of
them coming out from the auto-generated SEM tools).