Skip to content

Commit d83cbe2

Browse files
committed
build: add myst.yml at repo root
- myst.yml: new; project.id, inline toc for content/ tree, excludes submodules - fixed project.id UUID, exclude submodule dirs (external-content/, themes/) - .gitignore: add _build/ the MyST output directory - ADR 0001: Accepted
1 parent cb4bb6b commit d83cbe2

3 files changed

Lines changed: 49 additions & 15 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
*~
33
resources/
44
public/
5+
_build/
56
.DS_Store

docs/decisions/0001-myst-migration/0001-migrate-to-mystmd.md

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# ADR 0001 — Migrate build system from Hugo to MyST-MD
22

33
Date: 2026-05-11
4-
Status: Proposed — **open question for maintainers (see below)**
4+
Accepted: 2026-05-18
5+
Status: Accepted
56
Branch: lb/myst-migration
67
Issue: scientific-python/scientific-python.org#846
78

@@ -16,7 +17,7 @@ Three realistic MyST toolchain options exist. They are not equivalent:
1617
underlying engine and is available as both a Node package (npm) and a Python
1718
package (pip/conda) that bundles Node internally.
1819

19-
## Decision (proposed)
20+
## Decision
2021

2122
Replace Hugo with **`mystmd` Python package** (`pip install mystmd`,
2223
`myst build --html`) as the build tool.
@@ -50,19 +51,6 @@ RTD, or GitHub Actions (Node is bundled inside the package). The `myst.yml`
5051
config is identical to the Node CLI — switching delivery method later is a
5152
one-line change.
5253

53-
## Open question for maintainers
54-
55-
> **Which MyST toolchain should `learn.scientific-python.org` adopt?**
56-
>
57-
> A. `mystmd` Python package — proposed above (`pip install mystmd`)
58-
> B. `jupyter-book 2.x` — if the team prefers a unified JB-based approach
59-
> C. `mystmd` Node CLI — if the team prefers the native Node runtime
60-
>
61-
> This is the foundational decision for the migration. All downstream ADRs
62-
> (0002–0007) assume option A. If maintainers choose B, the `myst.yml` /
63-
> `_toc.yml` structure and config format change significantly. Option C
64-
> requires Node.js toolchain setup in `netlify.toml` and CI.
65-
6654
## Installation
6755

6856
For Netlify builds and RTD: `pip install mystmd` (no Node configuration needed

myst.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
version: 1
2+
3+
project:
4+
id: 97f4bf9c-5845-4aac-aa8d-1051725d9067 # fixed UUID; MyST regenerates on each build without this, breaking caching
5+
title: Learn Scientific Python
6+
exclude:
7+
- external-content/**
8+
- themes/**
9+
toc:
10+
- file: content/_index.md
11+
- file: content/about/_index.md
12+
children:
13+
- file: content/about/governance.md
14+
- file: content/contributors/_index.md
15+
children:
16+
- file: content/contributors/getting-started.md
17+
- file: content/contributors/choosing-a-project.md
18+
- file: content/contributors/why-contribute.md
19+
- file: content/contributors/ways-to-contribute.md
20+
- file: content/contributors/first-contribution.md
21+
- title: Setup
22+
children:
23+
- file: content/contributors/setup/install.md
24+
- file: content/contributors/setup/ecosystem.md
25+
- file: content/contributors/setup/next-steps.md
26+
- file: content/community/_index.md
27+
children:
28+
- file: content/community/role.md
29+
- file: content/community/onboarding.md
30+
- file: content/community/skills.md
31+
- file: content/community/project-management.md
32+
- file: content/community/community-meetings.md
33+
- file: content/community/community-outreach.md
34+
- file: content/documentation/_index.md
35+
children:
36+
- file: content/documentation/accessible-documentation.md
37+
- file: content/maintainers/_index.md
38+
children:
39+
- file: content/maintainers/interacting-with-new-contributors.md
40+
- file: content/maintainers/managing-conflict.md
41+
- file: content/maintainers/meeting_types.md
42+
- file: content/roadmap.md
43+
44+
site:
45+
title: Learn Scientific Python

0 commit comments

Comments
 (0)