Skip to main content

Sphinx/Jupyter Book directives and assets for Munchboka and VGS books

Project description

munchboka-edutools

Reusable Sphinx / Jupyter Book directives and assets for Norwegian educational content.

NEW: Includes muncho - a command-line tool for building beautiful, print-ready books with enhanced typography, layout, and automatic LaTeX math rendering for PDFs. See CLI_README.md for details.

Key Features

Auto-configured Sphinx extensions for Jupyter Book
📚 Custom educational directives (quiz, dialogue, plots, animations, etc.)
🖨️ Print-optimized PDF builds with proper typography
🧮 Automatic PDF math rendering - LaTeX expressions work seamlessly in PDFs
🎨 Multiple build profiles (print, web, custom)
🎬 Animated plots - Create animations with transparent backgrounds (WebP/GIF)
📄 Print-friendly CSS - Browser "Print to PDF" creates clean problem sheets with answer keys

Install

pip install munchboka-edutools

Optional (nicer progress bars during slow builds, e.g. interactive-graph frame generation):

pip install munchboka-edutools[progress]

Usage

As Sphinx Extensions (Jupyter Book _config.yml)

sphinx:
  extra_extensions:
    - munchboka_edutools

All packaged directives are auto-registered. Static assets (including print-friendly CSS and JS) are placed under _static/munchboka/ during the build.

Print-Friendly PDFs

Simply press Ctrl+P (or Cmd+P) in your browser when viewing any page to create a clean PDF with:

  • All tabs flattened with part labels (a, b, c, etc.)
  • Answers and solutions hidden from main content
  • Automatic answer key page at the end
  • CAS popup buttons hidden
  • Better page breaks

See docs/print_pdf.md for details.

As Build Tool

Build books with enhanced formatting:

# Print-optimized build (includes automatic PDF math rendering)
muncho build matematikk_1t --profile print

# Web-optimized build
muncho build matematikk_r1 --profile web

# See all options
muncho --help

PDF Math Rendering: When building PDFs, muncho automatically configures sphinx.ext.imgmath to render LaTeX math expressions as high-quality SVG images. No changes to your source files needed!

See CLI_README.md for full CLI documentation and QUICKSTART.md for a quick start guide.

Development

Clone and install dev extras:

pip install -e .[dev]

Local demo book

Build the embedded demo book:

jupyter-book build book/

Adding a new directive

  1. Create src/munchboka_edutools/directives/my_directive.py exposing setup(app).
  2. The package auto-loads modules under munchboka_edutools.directives.
  3. Add an example page in book/examples/.

Testing

Run tests:

pytest -q

Quick Links

Releasing

Tag a version (v0.1.0) and the GitHub Action will build and publish.

License

MIT

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

munchboka_edutools-0.4.3.tar.gz (39.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

munchboka_edutools-0.4.3-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file munchboka_edutools-0.4.3.tar.gz.

File metadata

  • Download URL: munchboka_edutools-0.4.3.tar.gz
  • Upload date:
  • Size: 39.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for munchboka_edutools-0.4.3.tar.gz
Algorithm Hash digest
SHA256 901620d8a3ea4d41f713ad8500fed512709f8d6173ad7baa7fd2f1c7fbac4dcd
MD5 257c3a2b3f1f6708cba6eb990d8607b0
BLAKE2b-256 850e81d5a938cb1ccacdc76210690fff599bf52042f63ab03b75d1aa86ed0372

See more details on using hashes here.

File details

Details for the file munchboka_edutools-0.4.3-py3-none-any.whl.

File metadata

File hashes

Hashes for munchboka_edutools-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 426fed3ac8c7d1d99af1f3fd721802b0e44168eda1d5fae2bac432f24ec1bed4
MD5 b29d3b25561db068a31dc49de2d4fd05
BLAKE2b-256 eaf0b95c3f8cbab24e4c1d04326dec8e3a8f7257d1b18a85c480e9bb55a00e5e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page