-
Notifications
You must be signed in to change notification settings - Fork 458
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
ENH: User and developer guide as RestructuredText **WIP** #686
Conversation
|
||
Try the `Welcome Tutorial <https://www.slicer.org/wiki/Documentation/4.6/Training#Slicer_Welcome_Tutorial>`_ and the `Data Loading and 3D Visualization Tutorial <https://www.slicer.org/wiki/Documentation/4.6/Training#Slicer4_Data_Loading_and_3D_Visualization>`_ to learn the basics of using 3D Slicer. | ||
|
||
* To learn about using Slicer for 3D Printing, visit this tutorial. |
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.
Links will be needed here, otherwise the reader won't know what's "this". The links are there on the corresponding wiki page
https://www.slicer.org/wiki/New_users#Tutorials
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.
Did you use a converter? If so, maybe it would be worth looking into why it stripped out the links
This is great! Looking forward to have most documentation here! |
I agree with the second bullet in the notes that those pages should remain on the wiki |
Definitely a step in the right direction! One general issue I have with readthedocs is that the process of contributing a change (or even feedback) to the documentation is quite laborious for non-developers. Did you consider gitbook? How do you envision the process of extension documentation? Will the user guide just have a pointer to the external documentation resource for the extension? |
We discussed this on the last developer hangout. There was a concern that
markdown was not expressive enough and comes in many 'flavors'.
Also it seems that rst is not really standard and is tied to the python
implementation, but the toolchain is more powerful and customized for
documentation.
…On Tue, Mar 21, 2017 at 12:41 PM, Andrey Fedorov ***@***.***> wrote:
Definitely a step in the right direction!
One general issue I have with readthedocs is that the process of
contributing a change (or even feedback) to the documentation is quite
laborious for non-developers.
Did you consider gitbook <https://www.gitbook.com>?
How do you envision the process of extension documentation? Will the user
guide just have a pointer to the external documentation resource for the
extension?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<Slicer/Slicer#686 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAHsfTpKZTSfCe1oF8KeBxrTR-iQuZx-ks5rn_3XgaJpZM4Mj-W3>
.
|
I've spent several days porting existing Slicer documentation pages to both gitbooks and Sphinx/readthedocs to have an idea about their capabilities and limitations. They are both limited compared to mediawiki in term of formatting but storing documentation along with source code and ability to create offline documentation make gitbooks/readthedocs more versatile and sustainable. I like collaboration features of gitbooks (ability to comment, etc) and availability of markdown editor, but they are not very simple and clear. For example, if doc authors don't have commit rights to the repository then they still have to learn how to create pull requests, etc. Readthedocs can be configured to show edit links on all pages, which makes it very easy to make changes, preview the results, fork the repository, and create a pull request - overall not significantly more complex than gitbooks. There are two big advantages of Sphinx/readthedocs:
So, overall gitbooks have some slight advantages, overall for me sphinx/readthedocs is the clear winner. |
I manually added this page. Since some of the link will be internal reference ... I suggest to stabilize the overall organization first.
@lassoan Thanks for the detailed report. Do you have a link pointing to your sphinx experiment ?
Here is a comparison of both gitbook and readthedocs contribution process: https://www.slicer.org/wiki/Documentation/Labs/DocumentationImprovments#Proposing_changes Note that, in both case, the user would have to create a GitHub account.
Readthedocs doe not include a comment section Regarding gitbook, I just realized you could comment on block of text in gitbook. It wasn't easy to discover ... While we have the possibility to comment on mediawiki (using the Talk) page, this is not something we have been using.
Based on feedback of @lassoan , use of markdown is limiting.
We could provide a cookiecutter template and let extension maintainer document their project will complete autonomy, we could for example include a docs folder in the extension templates.
Indeed, I am thinking about a simple list of extensions alphabetically listed. I will include a mockup. |
Do we really need all features? I think ReST is attractive for a programmer mindset, but relatively user-unfriendly (both the styling itself, and the workflow). If we want users to contribute to documentation, it's better not to optimize for programmer convenience. ReST has too many foot-guns in my experience: particular about easy-to-miss details, doesn't degrade gracefully, even creating links is annoying. |
Unfortunately, users don't make any significant contribution to documentation. The wiki made it very simple, still it did not happen. Have a look at https://www.slicer.org/w/index.php?title=Special:RecentChanges&days=300&from=&limit=2500 @ihnorton What is your suggestion as an alternative to ReST? Markdown? |
Additionally, without a way to review changes proposed on the wiki we have been very conservative to activate the wiki account creation. There is current a significant queue of account being "on hold". |
Yes. I've used both fairy extensively, and prefer Markdown. Point taken about user contributions, but on the other hand there is a fair amount of documentation-adjacent content (e.g. powerpoint tutorials) created by non-programmers -- partly created that way because the Wiki wasn't actually all that accessible (how many steps are required to upload an image; Wiki server was painfully slow and not upgraded for years; parallel documentation versions were confusing, etc.). Either one will be an improvement, of course (and Jc's rendered version looks great!), but $.02 if the decision is still pending. |
Nothing is written in stone yet. Worth nothing that github markdown has been formalized https://githubengineering.com/a-formal-spec-for-github-markdown/
We need to explore this a little bit more. I currently added link to external images. As we need contributor (non developer) to potentially be able include or update images ... more experiments are required.
Independently of markdown, RST, .... I would like us to converge to a nice organization of the different sections ...
@ihnorton Do you have example of developer and user documentation written in markdown ? I suggest we compile a list of application, SDK, libraries documentation to inspire from. For example: While I am not a fan (yet), we could also get the best of both world:
slicer.readthedocs.io would then have pointer to one of the other ... |
http://flight-manual.atom.io/ (graphical, user-oriented; built with nanoc)
👎 whatever is done, please don't mix. |
After reading more I have to say I'm feeling like Markdown is preferable.
There are more language choices and good implementations (C, JS) while rst
seems to be only python.
…On Tue, Mar 21, 2017 at 4:45 PM, Isaiah ***@***.***> wrote:
example of developer and user documentation written in markdown
http://flight-manual.atom.io/ (graphical, user-oriented; built with nanoc)
https://juliaplots.github.io (user-ish but has code; built by MkDocs)
http://docs.julialang.org/en/stable/ (dev-oriented; built by custom
processor)
While I am not a fan (yet), we could also get the best of both world: [...]
👎 whatever is done, please don't mix.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<Slicer/Slicer#686 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAHsfX9PON_C_6H1KxUFT3NkE4OodBiuks5roDbngaJpZM4Mj-W3>
.
|
I am not at all saying that gitbook is perfect, but you have to admit that it provides way more user friendly editor compared to alternatives, and they have more streamlined mechanism for the user to suggest edits or provide feedback without the need to do actual edits, so the contribution threshold is lower. I get the point of Andras about lack of outside contributions, but it is impossible to parse out what combination of factors caused this - confusing organization of documentation, users not reading documentation, non-friendly sign-up mechanism, geeky formatting of the wiki, or lack of interest in contributing. |
Markdown has so many variants because the basic feature set is so limited that everybody tries to find a way out somehow. So, Markdown as such is not really an option, but we have to actually choose a specific Markdown flavor and toolchain. @ihnorton Which flavor, preprocessor/generator, and hosting platform do you think would be suitable for both Slicer user and developer documentation? |
FYI gitbook has a simplified contribution workflow that is supposed to bypass the PR process (I have not tested this) https://help.gitbook.com/books/what-are-change-requests.html. Currently this feature is available only to the collaborators on the book, but they plan to roll it out to be accessible for the "readers" who are not part of the organization. |
While github supports both ReST and Markdown, Discourse only supports Markdown. It would be important not to force community members to learn multiple markups. |
7935478
to
8e5f563
Compare
That said, with the embedded editor provided in these platforms (github, discourse, ...) ... I do not think it is an issue and user can easily discover and re-discover how to write comments. I did few more experiments and it is quite easy to:
That said,
And finally here some more experiments do do:
Updates on gitbooks:
|
|
From http://ericholscher.com/blog/2016/mar/15/dont-use-markdown-for-technical-docs/
|
also note that we can get "open source" plan for the Slicer organization that can bump the number of collaborators up to 10 at least (I did not try to ask for an unlimited plan) - I already did this for the QIICR organization: https://www.gitbook.com/pricing. But as you pointed out, the standard PR request approach directly via github is unlimited, and also if they stick to their promise to roll out change requests to the contributors outside the team, this will not be an issue at all. |
Very nice. Here is a draft of email asking them if they could grant us unlimited access for the Slicer community:
Let me know what you think.
That is neat. That said, it is mentioned that All collaborators with edit access can create a change request from the GitBook Editor. |
I think the argument about one syntax being harder than another is not entirely valid, because everybody copy-pastes sections like tables, links, etc. Honestly, who knows how to add a file likk in MediaWiki, even years after using it? I don't :) I copy-paste. So I think we shouldn't decide based on this. Also we should consider how versatile the created document is. As far as I know (not from personal experience), RST can do more things in terms of tables, image captions, formatting, etc. If it's not important, and we shoot for the simplest style, then it doesn't matter, but in some cases formatting within tables are really helpful. 10 contributors is still basically nothing if we want to allow outsiders to edit, then we need more, unless we can create an "anonymus slicer doc editor" git account (maybe not). That said, change requests should not be a big barrier, especially if someone has done at least one already (some people are afraid of new processes). |
@jcfr the draft looks great! If you don't hear for some time after you send it, we should ping them on slack. My request was pending for a very long time, because they have a small team relative to the user base.
Yes, right, this is the currently available feature. I was referred to their plan to (eventually) make the process of contribution similarly simple for non-collaborators. |
Do we have a table that would summarize features/advantages/issues between ReadTheDocs and GitBook? I have not hear any other viable options, so perhaps putting together that table (using the powerful MediaWiki formatting syntax! ;-D ) is a good next step. |
@lassoan I like gitbooks and MkDocs. Other request would be for user manual to be in a separate repo
|
I completely agree. It is not my intent to stall this either, I just wanted to make sure that all involved in the decision making process are aware of the options and potential issues. But I also think that preparing a table with the summary of the pros and cons, and presenting that as the background work for the wider community as the motivation for the final decision is good and consistent with the decision making policy we discussed in January. Personally, if I had to choose between keeping the current wiki documentation and switching to RST/ReadTheDocs, I would definitely choose the latter. |
…icer into rst-user-and-dev-guide
edee06f
to
535f95d
Compare
Git-lfs is not ready for prime time yet. So, we should probably just add all documentation files as regular files to the repository. |
Update getting_started.rst
Update getting_started.rst
I'm getting 404s for all of the images linked from the Getting Started Guide at https://slicer.readthedocs.io/en/latest/user_guide/getting_started.html Additionally on that page, the list under 'Tutorials' looks like it should have links, but doesn't:
|
Thanks for pointing this out 🙏 We will fix this shortly. |
DOC: Update Segment Editor documentation due to renamed masking options
ENH: Add documentation for Segment Statistics
Closing. Changes integrated into Slicer/Slicer#4771 |
This is a first draft of the user and developer documentation rendered on http://slicer.readthedocs.io
Documentations is organized in two directories
Docs/user_guide
Docs/developer_guide
For now, readthedocs will automatically regenerate the documentation each time the branch Slicer/Slicer@rst-user-and-dev-guide is updated.
Configuration files is Docs/conf.py.
After running:
on either Windows or Unix, it can locally be generated running:
Notes
Consider both installing the requirement and running
make html
from a virtual environment.I think sections like News, Image Gallery, Tutorials, Slicer Community, Labs, Developer Hangout, FAQs should probably remain on the wiki.