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.
Interactive 3D math graphs
backend: threejs is the default for interactive-plot3d, giving live
rotation, zoom, and sliders with local renderer assets and a static print
fallback. The legacy frames backend is still available via an explicit
backend: frames. See the
Three.js guide for examples and migration limits.
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
- Create
src/munchboka_edutools/directives/my_directive.pyexposingsetup(app). - The package auto-loads modules under
munchboka_edutools.directives. - Add an example page in
book/examples/.
Testing
Run tests:
pytest -q
Quick Links
- Animation Quickstart - Create animated plots
- CLI Documentation - Build tool guide
- Quick Start - Get started quickly
- Print PDF Guide - Browser printing features
- Examples - See all directive examples
Releasing
Tag a version (v0.1.0) and the GitHub Action will build and publish.
License
MIT
Release files for munchboka-edutools 0.8.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| munchboka_edutools-0.8.3.tar.gz | 43.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| munchboka_edutools-0.8.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 45.8 MB
Release files / munchboka_edutools-0.8.3.tar.gz
| Download URL | munchboka_edutools-0.8.3.tar.gz |
|---|---|
| Size | 43.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aac93c7d805dafe7698b06438aa491ce3d0417e91a4c960ecdb02ae818516d7d
|
|
BLAKE2b-256 checksum How to use checksums |
34b0ec0661c51aa631e9e0e79c91d507776a608092c87baaa9795c8bfe283925
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / munchboka_edutools-0.8.3-py3-none-any.whl
| Download URL | munchboka_edutools-0.8.3-py3-none-any.whl |
|---|---|
| Size | 2.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aa204ac4e44404078bb20dcbfdf2134f82f4077e71f6d2dc8e8cfaf14af8d621
|
|
BLAKE2b-256 checksum How to use checksums |
d228731af438f46ad3f71f72974500208c6bd83b86348fcc6d0b947fffe5dd5f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|