Skip to content

Commit eae4236

Browse files
authored
Merge pull request #332 from jnywong/jb2-launch-post
Jupyter Book 2 alpha launch cross-post
2 parents d8d5915 + af9aa95 commit eae4236

File tree

2 files changed

+102
-0
lines changed

2 files changed

+102
-0
lines changed
9.73 KB
Loading
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
---
2+
title: Announcing the Jupyter Book 2 alpha
3+
date: "2024-11-18"
4+
banner:
5+
image: "featured.png"
6+
authors: ["Jenny Wong"]
7+
tags: [open-source]
8+
categories: []
9+
featured: false
10+
draft: false
11+
---
12+
13+
*Cross-posted from the [Jupyter Book blog](blog.jupyterbook.org/). Note that some MyST functionality is not supported on the 2i2c website – please see the original post for previews.*
14+
15+
![Jupyter Book 2 logo](featured.png)
16+
17+
Over the last ten months, the Jupyter Book team have been hard at work; Jupyter Book has [become a Jupyter subproject](https://github.com/jupyter/governance/pull/229), and the team[^jb-eb] announced a [plan to release Jupyter Book 2][plan]. This post announces the **alpha release of Jupyter Book 2.0**, which has been re-written from the ground up to use the new MyST-MD engine.
18+
19+
Over the next few months, we will work in preparation for the full release of Jupyter Book 2. Stay tuned for more! The initial documentation for the alpha release can be found at:
20+
21+
<https://next.jupyterbook.org/>
22+
23+
## Install the Jupyter Book 2 Alpha
24+
25+
The Jupyter Book 2 alpha is available from PyPI.org. You can install it with `pip`, using
26+
27+
```shell
28+
pip install -U jupyter-book==2.0.0a0
29+
```
30+
31+
If you use `pipx`, it's recommened to run Jupyter Book 2 using
32+
33+
```shell
34+
pipx run jupyter-book==2.0.0a0
35+
```
36+
37+
Jupyter Book 2 needs Node.js installed on your computer. If this is not the case, running `jupyter book` will prompt you to install it using the `nodeenv` package that ships with Jupyter Book 2:
38+
39+
```
40+
❗ Node.js (node) is required to run Jupyter Book, but could not be found`.
41+
❔ Install Node.js in '...'? (y/N):
42+
```
43+
44+
Press `y` and `Enter` to proceed.
45+
46+
{{% callout note %}}
47+
The Jupyter Book 2 project is a complete re-write of Jupyter Book. We expect there to be bugs and breakages! Please use our support channels to keep us up to date with your findings!
48+
49+
- [Discord](https://discord.mystmd.org/)
50+
- [GitHub Issues](https://github.com/jupyter-book/jupyter-book/issues/new?template=prerelease.yml)
51+
{{% /callout %}}
52+
53+
## New Features in `2.0 alpha`
54+
55+
### Rich Hover Previews
56+
57+
Try hovering over [this tooltip about tooltips!](https://en.wikipedia.org/wiki/Tooltip). The new MyST book and article themes provide useful hover previews for links to other MyST content, Wikipedia, GitHub issues, and many more.
58+
59+
<video width="100%" autoplay>
60+
<source src="https://github.com/jupyter-book/blog/raw/refs/heads/main/media/hover-previews.mp4" type="video/mp4">
61+
</video>
62+
63+
### Share & Embed Content
64+
65+
Content from other websites built with the MyST engine can be embedded in your own sites and PDFs:
66+
67+
![Image of a mountain range.](https://cdn.curvenote.com/0192bff5-9c9d-722f-92bf-e702aa8e1f46/public/c8830546aa82907becb6cd46c414a80c.webp "Cross-referenced content can easily be embedded and re-captioned into other pages and projects, such as this figure to <xref:guide#mylabel>.")
68+
69+
### Simple Instant Search
70+
71+
A new client-side search uses a simple, modern algorithm for fast _local_ search that finds the results that you care about.
72+
73+
![Screenshot of a search bar.](https://github.com/jupyter-book/blog/blob/main/media/search.png?raw=true "Client-side search uses simple, modern, [Algolia](https://algolia.com)-inspired search algorithm to provide _useful_ search results. We will be iterating on this in the near future for even richer search results!")
74+
75+
### High Quality PDFs
76+
77+
PDF documents can now be built with Typst, a high-quality typesetting engine that produces readable error messages and beautiful documents. This feature was the basis for the 2024 [SciPy proceedings][proceedings], which is now built on MyST Markdown and will be accepting Jupyter Notebooks in 2025.
78+
79+
![An example preprint using the LaPreprint template.](https://raw.githubusercontent.com/rowanc1/LaPreprint/68f5ccbf1e1e26819149bcea1d547dfdfc5ceecd/example/files/screenshot.png "Example of the LaPreprint Typst template for rendering PDFs from Jupyter Book (via the MyST Engine).")
80+
81+
## Coming Soon in `2.0 beta`
82+
83+
### Custom Styles & Scrips
84+
85+
Jupyter Book 2 will make it easy to tweak your website styles, and add new website behaviors.
86+
87+
### Generate Markdown from Code Cells
88+
89+
The MyST engine is on-track to support the inclusion of references and other markup features generated by code cells.
90+
91+
### Control Cell Visibility with Tags
92+
93+
In the beta release, Jupyter Book 2 will once-again be able to show and hide content according to cell tags.
94+
95+
## Jupyter Book 2 vs MyST-MD
96+
97+
At this early stage, the new Jupyter Book application `jupyter book` behaves identically to the `mystmd` engine that it is built upon; as outlined in [our Jupyter Book 2 plan][plan], we intend for Jupyter Book to be an "opinionated distribution" of `mystmd` that shares the same configuration format and CLI. This contrasts with Jupyter Book 1, which was built on top of the Sphinx documentation engine, but offered its own CLI and configuration files. In future, the `jupyter book` and `mystmd` CLIs may diverge from one another, but we expect that this will be handled in a graceful manner: `mystmd` commands should always be compatible with the `jupyter book` application.
98+
99+
[proceedings]: https://proceedings.scipy.org
100+
[plan]: https://executablebooks.org/en/latest/blog/2024-05-20-jupyter-book-myst/
101+
102+
[^jb-eb]: Jupyter Book project has historically been a _technical_ project of the Executable Books organisation. In 2024, the establishment of a Jupyter subproject means that the Jupyter Book project now has its own identity outside of Executable Books.

0 commit comments

Comments
 (0)