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.1
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.1.tar.gz | 43.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| munchboka_edutools-0.8.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 45.8 MB
Release files / munchboka_edutools-0.8.1.tar.gz
| Download URL | munchboka_edutools-0.8.1.tar.gz |
|---|---|
| Size | 43.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
580ab83b08314311527e4b725d8c21298dd98da1b87dc6a4ed6c0733ac0c5e67
|
|
BLAKE2b-256 checksum How to use checksums |
38d9242cc36fa31121868617fd34bd159e7fadb3889544ae1e232fbd20514ba3
|
| 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.1-py3-none-any.whl
| Download URL | munchboka_edutools-0.8.1-py3-none-any.whl |
|---|---|
| Size | 2.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6a2ababe55d4ee568d4fb87a4d071c5fabd234fd97349bdc3f5051336011a08a
|
|
BLAKE2b-256 checksum How to use checksums |
08114b9fe22d03ee6d748fd7374573bcf7f6831f55198c6d87b6d5d839ce4f6b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|