From 061f4248c2d8cd38cf372df50f1fd64b3c5eb7d8 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Wed, 20 May 2026 11:06:33 -0400 Subject: [PATCH 1/3] ci: switch from jupyter-book to mystmd Replace the Python-based jupyter-book CLI wrapper with the Node.js mystmd CLI directly. The myst.yml config is already MyST-native, so this just changes the build tooling to use npx instead of uvx. - CONTRIBUTING.md: use npx mystmd build --html, remove uv prerequisite - cd.yml: replace setup-uv with setup-node, use npx mystmd@latest - myst.yml: update toc regeneration comment Assisted-by: OpenCode:glm-5 --- .github/CONTRIBUTING.md | 9 ++++----- .github/workflows/cd.yml | 10 ++++++---- myst.yml | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 85ea9f9..14da52a 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,19 +1,18 @@ # Contributing to SIMPLE-Py -Contributions are welcome! This project is a workshop book built with Jupyter Book and accompanied by Marp slides. +Contributions are welcome! This project is a workshop book built with [MyST](https://mystmd.org/) and accompanied by Marp slides. ## Setup ### Prerequisites -- [uv](https://docs.astral.sh/uv/) (for building the book) -- [Node.js](https://nodejs.org/) (for building the slides) +- [Node.js](https://nodejs.org/) (for building the book and slides) - [prek](https://github.com/j178/prek) (for linting) ## Building the book ```bash -uvx jupyter-book build --html +npx mystmd build --html ``` The output is placed in `_build/html/`. @@ -36,5 +35,5 @@ prek -a ## Making changes -- **Book content**: Edit the Markdown files in `content/`. The table of contents is defined in `myst.yml`. +- **Book content**: Edit the Markdown files in `content/`. The table of contents is defined in `myst.yml`. Run `npx mystmd init --write-toc` to regenerate it. - **Slides**: Edit the Markdown files in `slides/`. Slides use [Marp](https://marp.app/) format with `marp: true` frontmatter. diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 1fbbfea..1483dc3 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -21,16 +21,18 @@ jobs: steps: - uses: actions/checkout@v6 - - uses: astral-sh/setup-uv@v8.1.0 + - uses: actions/setup-node@v4 + with: + node-version: 22 - name: Build the book - run: uvx jupyter-book build --html + run: npx mystmd@latest build --html env: BASE_URL: /SIMPLE-Py - uses: actions/upload-artifact@v7 with: - name: jupyterbook + name: book path: _build/html/* build-slides: @@ -59,7 +61,7 @@ jobs: - uses: actions/download-artifact@v8 with: - name: jupyterbook + name: book path: public - uses: actions/download-artifact@v8 diff --git a/myst.yml b/myst.yml index b2b48c9..d9a42d3 100644 --- a/myst.yml +++ b/myst.yml @@ -6,7 +6,7 @@ project: keywords: [Python, compiled, packaging, C++, Rust, publishing] authors: [Henry Schreiner] github: https://github.com/scikit-build/SIMPLE-Py - # To autogenerate a Table of Contents, run "jupyter book init --write-toc" + # To autogenerate a Table of Contents, run "npx mystmd init --write-toc" toc: # Auto-generated by `myst init --write-toc` - file: README.md From 9053a4e24824aacc9e1c5e69ea6c42f818d1b4e3 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Wed, 20 May 2026 11:09:32 -0400 Subject: [PATCH 2/3] Apply suggestion from @henryiii --- .github/workflows/cd.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 1483dc3..f6aadc1 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -21,10 +21,6 @@ jobs: steps: - uses: actions/checkout@v6 - - uses: actions/setup-node@v4 - with: - node-version: 22 - - name: Build the book run: npx mystmd@latest build --html env: From 17e49e8cbd936c26840f5d645fe53001238cc34e Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Wed, 20 May 2026 11:13:04 -0400 Subject: [PATCH 3/3] Apply suggestion from @henryiii --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 14da52a..de5c127 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -35,5 +35,5 @@ prek -a ## Making changes -- **Book content**: Edit the Markdown files in `content/`. The table of contents is defined in `myst.yml`. Run `npx mystmd init --write-toc` to regenerate it. +- **Book content**: Edit the Markdown files in `content/`. The table of contents is defined in `myst.yml`. - **Slides**: Edit the Markdown files in `slides/`. Slides use [Marp](https://marp.app/) format with `marp: true` frontmatter.