A quick update from us, over in https://github.com/ExecutableBookProject/MyST-NB/issues/12 we worked out a prototype for how we’ll represent notebooks in the Jupyter Book project (using a flavor of markdown called MyST). We welcome thoughts or feedback!
Here’s a short example of how a notebook will be represented in that format:
---
kernel_info:
name: python3
language_info:
name: Python
title: "My notebook title"
comment: "If any of the above aren't specified then use jupyter defaults"
---
# Markdown syntax
## Cell breaks
We can manually break markdown cells quickly with this syntax
+++ {"cell": "meta", "cell2": "meta2"}
## Markdown metadata
We can also explicitly separate a markdown cell and configure it like so:
```{markdown} tag1, tag2
---
key: val
---
## Here is some *configured* markdown!
```
We can also provide a `:key: val` shorthand for configuring
```{markdown} tag1, tag2
:key: val
## Here is some *configured* markdown!
```
## Executable code
Code is always executed with 'execute' blocks, like so:
```{code-cell}
print('this would be run by the front-matter-specified, or default, kernel')
```
You can also add metadata to these
```{code-cell} kernelname
:key: val
:key2: val2
:tags: ["tag1", "tag2"]
print('some python with cell metadata')
```
and that's it!