MyST Markdown Tools
MyST is an ecosystem of open-source, community-driven tools designed for scientific communication, including a powerful authoring framework that supports blogs, online books, scientific papers, reports and journals articles. Get up and running with MyST with the following quickstart tutorials:
Start here to get up and running with the myst
command-line tools.
Learn the basics of customizing a MyST Website, including sharing frontmatter between pages.
Learn the basics of MyST Markdown, and export to a Word document, PDF, and !
See an overview of MyST Markdown syntax with inline demos and examples.
Coming from JupyterBook or Sphinx?
π We are glad you are here! π
There are many ways that mystjs
can be used with JupyterBook and Sphinx. We recommend that you read background on mystjs
, which goes over how these projects overlap and work together!
- TL;DR
- Yes, you can use
mystjs
with your JupyterBook!mystjs
can create scientific PDFs and can natively read the_toc.yml
as well as all of your existing MyST Markdown content and Jupyter Notebooks. - Yes,
mystjs
is compatible with intersphinx even though it is written in Javascript not Python! - JupyterBook and
mystjs
have overlap in the ability to create online books like this one.mystjs
has some extra capabilities for cross-references, interactivity and performance.
Project GoalsΒΆ
mystjs
is part of the Executable Books organization, and is an open-source, community-driven project to improve scientific communication, including integrations into Jupyter Notebooks and computational results.
Built for Science π©βπ¬
Extend Markdown with equations, cross-references, citations, and export to a preprint or rich, interactive website or book.
Dynamic Documents π
Make your pages interactive by connecting to custom JupyterHubs, public Binders or even Python running directly in your browser.
Fast & Accessible β‘οΈ
Publish next-generation articles and books that are beautifully designed, without compromising on accessibility or performance.
Technical Goals
mystjs
is a Javascript parser and command line tool for working with MyST Markdown- Parse MyST into a standardized AST, that follows the MyST Spec
- Translate and render MyST into:
- Modern interactive websites, using React (like this website!)
- PDFs and documents, with specific templates for over 400 journals
- Microsoft Word export
- Provide functionality for cross-referencing, external structured links, and scientific citations
Architecture
The mystjs
command line tool can be used to parse MyST Markdown and Jupyter Notebooks into an AST. This data can be saved as JSON, or rendered to a website (like this one!) or any number of formats including PDF & , Word, React, or JATS.
Using Sphinx or Python?
For integration with Sphinx, use the Python implementation for MyST or JupyterBook, which can be found at:
Although many tools in the MyST Ecosystem follow the same conventions and specification, the following documentation refers only to the Javascript MyST CLI.