Skip to content

New Sphinx tutorial for beginners #9165

@astrojuanlu

Description

@astrojuanlu

tl;dr: We are proposing a new Sphinx tutorial for beginners (no rush! we know that you're busy with the upcoming release) and would like to know people's thoughts.

Hello Sphinx developers! As part of the Chan Zuckerberg Initiative grant that Read the Docs received last year, one of the key tasks we are focusing on is doing "advocacy work around documentation in the scientific community", which is one of my duties as Developer Advocate.

In particular, after talking to lots of users from a variety of backgrounds, we identified a gap in the Sphinx documentation: although it is super detailed and works great as reference material, many people seemed to agree that it would be useful to have a good beginners tutorial. As a result, we have been iterating for a few days and we would like to propose adding a new beginners tutorial to Sphinx.

We commit to writing it incrementally (instead of sending one huge pull request after 6 months), maintaining it, and keeping it up to date, while using this opportunity to contribute other documentation fixes and new features along the way, if needed. We would like this tutorial to be The Best™ resource to direct people willing to learn how to author their technical documentation with Sphinx.

Here you can find the rendered version of the contents we are proposing https://docs--8106.org.readthedocs.build/en/8106/development/design/new-sphinx-guides.html#sphinx-tutorial (and here is the originating pull request in case you want to add comments there directly - the fact that it's on the RTD repository was only a way so we could easily iterate over it "internally"). Summarized, these would be:

  1. The Sphinx way
  2. About this tutorial
  3. Getting started
  4. First steps to document our project using Sphinx
  5. Customizing Sphinx configuration
  6. Writing narrative documentation with Sphinx
  7. Describing code in Sphinx
  8. Autogenerating documentation from code in Sphinx
  9. Deploying a Sphinx project online
  10. Appendix: Using Jupyter notebooks inside Sphinx
  11. Appendix: Understanding the docutils document tree
  12. Appendix: Where to go from here

In particular, we'd like to:

  • Be as pedagogical as possible, to best serve beginners.
  • Conceive a linear "learning path" that people can follow so they can learn the fundamentals step by step.
  • Write the tutorial with a generic technical user in mind, while including some appendixes that can be useful for scientists (like integrating math formulas and Jupyter notebooks).
  • Use Markdown all throughout the tutorial, thanks to MyST-Parser.

Pinging @ericholscher from RTD, @choldgraf and @chrisjsewell from MyST, @melissawm who is doing a fantastic job with the NumPy tutorials, @pradyunsg who has been working on Sphinx a lot recently, @laisbsc and @emilopez who gave me initial feedback about some of these ideas, and @lornajane who also expressed interest about this in the Write the Docs Slack workspace.

What are your thoughts @tk0miya @shimizukawa?

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions