Sphinx-Lectern

sphinx-lectern is a Sphinx extension we made to build our curriculum.

The simple idea behind sphinx-lectern — start with one document ➡️ instantly generate lecture handouts, slide decks, tests, demo code, or anything else we’ve yet to come up with 🌈!

This page is under construction

Pardon our dust!

Getting Started

Install

You can install sphinx-lectern directly from its GitHub repository (we haven’t published this in PyPI yet but… someday…).

$ pip install git+ssh://git@github.com/hackbrightacademy/sphinx-lectern.git#egg=sphinx-lectern

Then, add "sphinxlectern" to extensions in conf.py:

conf.py
extensions = [
   # ...
   "sphinxlectern"
]

Slides

Things You Can Do

Multiple Choice Questions

True or false: Hackbright is a coding bootcamp

.. mcq:: True or false: Hackbright is a coding bootcamp
  :answer: B

  A. True

     :feedback: We do teach coding but we're not just a coding bootcamp

  B. False

     :feedback: Hackbright is a software engineering bootcamp!

You can put a question in the knowledge-check admonition:

The differences between natural and formal languages include:

.. knowledge-check::

  .. mcq:: The differences between natural and formal languages include:
    :answer: B

    A. Natural languages can be parsed while formal languages cannot

       :feedback: Actually both languages can be parsed (determining the structure of the sentence),
                  but formal languages can be parsed more easily in software.

    B. Ambiguity, redundancy, and literalness

       :feedback: All of these can be present in natural languages, but cannot exist in formal languages

    C. There are no differences between natural and formal languages

       :feedback: There are several differences between the two but they are also similar

    D. Tokens, structure, syntax, and semantics

       :feedback: These are the similarities between the two