sphinx-lesson: structured lessons with Sphinx ============================================= .. seealso:: See a real demo lesson at https://coderefinery.github.io/github-without-command-line/. sphinx-lesson is a set of Sphinx extensions and themes for creating interactive, hands-on lessons. It was originally made to replace the CodeRefinery jekyll themes, but is designed to be used by others. As the name says, it is based on the `Sphinx documentation generator `__. It is also inspired by and based on `jupyter-book `__, but both is jupyter-book and isn't. It *is* because jupyter-book is based on Sphinx and modular, we reuse all of those same Sphinx extensions which jupyter-book has made. It *isn't* jupyter-book because we configure Sphinx directly, instead of wrapping it through jupyter-book configuration and building. Thus, we get full control and high compatibility. Features: * Separate content and presentation: easy to adjust theme or control the parts independently. * Based on jupyter-book, cross-compatible. * Built with Sphinx, providing a structured, controlled output. * Distributed as Python pip packages * Markdown and ReStructured equally supported (yes, including all directives), though ReStructured Text is still a bit nicer * Jupyter notebooks as an input format. Can execute code (in jupyter and other formats, too) * Transparent transformation of jekyll-style markdown styles into CommonMark with directives * Also renders with sphinx-book-theme (theme of jupyterbook) (`preview `__) This is in an alpha state: we use it for lessons, but there is still refinement work to go. .. prereq:: * If you know Sphinx, it helps some. If not, it's easy to copy * Markdown or ReStructured text * Hosting is usually by github-pages .. toctree:: :maxdepth: 1 :caption: Getting started getting-started installation contributing-to-a-lesson building changelog .. toctree:: :maxdepth: 1 :caption: Basic syntax md-and-rst toctree directives figures .. toctree:: :maxdepth: 1 :caption: Examples sample-episode-rst .. toctree:: :maxdepth: 1 :caption: Advanced features intersphinx md-transforms jupyter executing-code substitutions-replacements gh-action presentation-mode indexing exercise-list convert-old-lessons .. toctree:: :maxdepth: 1 :caption: Extras cheatsheet * :ref:`genindex` * :ref:`search`