A self-hosted, in-browser-compute version of the Elemental Microscopy article template.
This is a fork of msa-em/em-template with the Curvenote / Binder dependency replaced by:
- JupyterLite running in the reader's browser (Pyodide kernel)
- GitHub Pages for static hosting
- GitHub Actions for build + deploy
No external compute service is required to view, build, or interact with the article.
- Author workflow: write MyST markdown + Jupyter notebooks
- Article layout: MyST
book-theme, same typography, same figure widgets - Content: image / movie / 3D / FFT interactives
- No Curvenote, no Binder server, no
CURVENOTE_TOKEN - Interactive cells run via Thebe → JupyterLite (in-browser Pyodide)
- Movie data is pre-decoded from
.mp4to.npzin CI (Pyodide doesn't shippyav) - Deploys to
https://msa-em.github.io/em-template-lite/
conda env create -f environment.yml
conda activate em-template-lite
# preview the article (no kernel needed for static content)
myst startTo work on interactive cells, run a local Jupyter server in parallel:
jupyter lab --IdentityProvider.token=devtoken --ServerApp.allow_origin='http://localhost:3000' --port=8888…and uncomment the jupyter.server block in myst.yml.
Pushing to main triggers .github/workflows/deploy.yml, which:
- Pre-decodes mp4 → npz so notebooks can run in Pyodide
- Builds JupyterLite (
jupyter lite build) - Builds the MyST static site (
myst build --html) - Combines them and publishes to GitHub Pages