Glossary¶
- CommonMark
- A standard syntax of Markdown that is used across many communities and projects. It is the base flavour of Markdown for Jupyter Notebook, and the base flavour for MyST Markdown and Jupyter Book.
- Project Jupyter
- The project and team that supports Jupyter Book and MyST Markdown and the tools and packages behind them.
- Executable Books Project
- The project and team that used to support Jupyter Book and MyST Markdown. The project is currently stewarded by Project Jupyter.
- MyST
- MyST can either refer to MyST Markdown or MyST-CLI.
- MyST Markdown
- A flavour of Markdown that was designed for scientific and technical writing.
- Sometimes referred to simply as MyST.
- MyST-CLI
- The MyST Markdown CLI can be used to create a website, PDF documents, and generally structure and parse a MyST project. You can install across various package managers using
mystmd
. - Sometimes referred to simply as MyST.
- Sphinx
- A documentation engine written in Python. Sphinx supports many features that are necessary for scientific and scholarly publishing. It is currently used by Jupyter Book.
- reStructuredText
- reStructuredText (RST) is a plain text markup syntax and parser system, the RST parser is a component of Docutils.
- Binder
- A free, public service for running reproducible interactive computing environments. Binder is a 100% open source infrastructure that is run by members of the Jupyter community. The underlying technology behind the Binder project is BinderHub.
- BinderHub
- The underlying technology of https://
mybinder .org, BinderHub is an open source tool that runs on Kubernetes and utilizes a JupyterHub in order to provide live, reproducible interactive computing environments that users host on GitHub. - Google Colab
- A Jupyter Notebook service from Google that provides access to free computing resources, including GPUs and TPUs.
- JupyterHub
- A core open source tool from the Jupyter community, JupyterHub allows you to deploy an application that provides remote data science environments to multiple users. It can be deployed in the cloud, or on your own hardware.
- Jupyter Book
- Jupyter Book is a distribution of Sphinx that allows you to write content in markdown and Jupyter Notebooks, execute content and insert it into your book, and build a variety of outputs for interactivity and document publishing.
- MyST Markdown
- MyST stands for “Markedly Structured Text”. It is a flavor of Markdown that was designed to make it easy to write content that can be parsed by a MyST Document Engine. MyST Markdown syntax was created to support functionality in the MyST specification like extensions, roles and directives, and cross-references. It was originally created for Jupyter Book via the MyST Parser for Sphinx, but now serves as a standard markdown syntax across the MyST ecosystem.
- MyST Document Engine
- A MyST Document Engine builds MyST AST according to the MyST Specification[1]. For example, a MyST Document Engine might know how to transform a text file written in MyST Markdown into JSON output that follows the MyST Specification. The official MyST Document Engine is documented at mystmd.org/guide, and is maintained by the Jupyter Book team
- MyST Specification
- A specification that describes the structure and function of the MysT AST. It provides a framework for defining all of the kinds of content and metadata that a MyST document can contain. For example, the MyST specification defines how sections can contain paragraphs, how paragraphs can contain sentences, and how sentences can contain a “bolded” chunk of text. The specification is defined at mystmd.org/spec.
- MyST AST
- A structured representation of a MyST Document, typically built from a markup language (like MyST Markdown) by a MyST Document Engine, that adheres to the MyST Specification. Usually, a MyST Abstract Syntax Tree (AST) is represented as a JSON data structure, with metadata attached to each piece of content that describes its role, relationships with other content, etc. The AST allows us to separate the steps of parsing content (such as MyST Markdown) from generating output like HTML, PDF, docx, etc.
- MyST Renderer
- An application that consumes MyST AST and uses it to present the contents in a particular format. For example, the MyST Document Engine has a few built-in renderers. See the HTML renderer for an example that converts MyST AST to HTML.
- MyST Theme
- A template for converting MyST AST into structured output using a MyST Renderer. For example, a theme provides the structure and rules by which you could convert MyST AST to different kinds of LaTeX output based on a number of different journal templates. It could also be a way of converting MyST AST into different kinds of HTML for various kinds of websites. The MyST Templates GitHub Organization is a community-maintained resource for many kinds of themes / templates.
Index¶
- B
- Binder: Binder
- C
- CommonMark: CommonMark
- E
- Executable Books Project: Executable Books Project
- G
- Google Colab: Google Colab
- I
- index: index
index child: Paragraph
- J
- Jupyter Book: Jupyter Book
- M
- MyST: MyST
- P
- Project Jupyter: Project Jupyter
- R
- reStructuredText: reStructuredText
- S
- Sphinx: Sphinx
- T
- term: term
Often we focus upon a MyST Engine’s ability to parse MyST Markdown. However, a MyST Engine may consume any kind of input markup as long as the result is a MyST AST that follows the MyST Specification. This is why the official MyST Document Engine can parse other kinds of markup, such as a subset of LaTeX.