This page explains how to add your own notebooks and configure project metadata in JupyterBook v2 (MyST).
Configuring Your Book with myst.yml¶
In JupyterBook v2, all configuration lives in myst.yml at the repository root.
Open myst.yml and set:
project:
title: My Book Title
description: A short description of your book
authors:
- name: Your Name
github: https://github.com/your-username/your-repoUpdating the Table of Contents¶
The project.toc section in myst.yml controls navigation.
Add pages without the file extension:
project:
toc:
- file: intro
- title: Getting Started
children:
- file: notebooks/adding_contents
- title: Features
children:
- file: notebooks/features
- file: notebooks/section_markdown_pageProject Structure (JupyterBook v2)¶
myst.yml ← All config + TOC
intro.md ← Landing page
requirements.txt ← Python dependencies
images/ ← Static assets (root level)
banner_image.png
notebooks/ ← Content pages
adding_contents.ipynb
features.ipynb
section_markdown_page.md
extensions/ ← Helper scripts (optional)
.github/workflows/ ← GitHub Actions CI/CDImportant: The
images/folder lives at the project root (same level asmyst.yml). Paths insite.options.logo,project.banner, etc. are relative tomyst.yml.
Add Notebooks and Content¶
Add new
.ipynbor.mdfiles to thenotebooks/folder.Use clear, descriptive filenames such as
chapter_name.ipynb.Register each new file in the
project.tocsection ofmyst.yml.Keep each notebook focused on a single topic.
Local Preview¶
pip install -r requirements.txt
jupyter book start # live-reload dev server → http://localhost:3000jupyter book build # static HTML → _build/html/index.html