MyST is an ecosystem of open-source, community-driven tools designed to revolutionize scientific communication. Our powerful authoring framework supports blogs, online books, scientific papers, reports and journals articles.
Start here to get up and running with the myst
command-line tools.
Cool MyST Features πͺΒΆ
We think MyST is really cool, some of the features that we think stand out are highlighted below with links to places in the documentation where you can reproduce them!
πͺπ° Rabbit-hole links allow you to get information to your reader as fast as possible, and they can deep-dive all the way to computations, code and interactive figures. You can play with this demo yourself in Working with MyST Markdown.
πͺπ Live graphs can be embedded directly in your documentation or articles with computation backed by Jupyter or JupyterLite β running locally, on Binder, or directly in your browser. Get up and running with Thebe in In-Browser Execution
πͺπͺ JupyterLab support for MyST comes with inline computations, support for ipywidgets
, matplotlib sparklines, editable task-lists, rich frontmatter, and beautiful typography and other elements like dropdowns, grids and cards. Install jupyterlab-myst
today!
πͺπ Export to PDF is easy with MyST, and we support hundreds of different journals out of the box, see myst-templates! You can also export to Microsoft Word or even JATS, which is used in scientific publishing. See the Scientific Articles!
Quickstart TutorialsΒΆ
Check out the following tutorials for more step-by-step guides:
Write scientific articles using MyST Markdown with easy-to-use citations, metadata, and cross-references.
Learn how to use computation and execution with Jupyter in MyST.
Export MyST documents to a Word document, PDF, and !
See an overview of MyST Markdown syntax with inline demos and examples.
Learn how to use MyST in Jupyter Interfaces.
Coming from Jupyter Book or Sphinx?
π We are glad you are here! π
There are many ways that mystmd
can be used with Jupyter Book and Sphinx. We recommend that you read background on mystmd
, which goes over how these projects overlap and work together!
- TL;DR
- Yes, you can use
mystmd
with your Jupyter Book!mystmd
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,
mystmd
is compatible with intersphinx even though it is written in Javascript not Python! - Jupyter Book and
mystmd
have overlap in the ability to create online books like this one.mystmd
has some extra capabilities for cross-references, interactivity and performance.
Project GoalsΒΆ
MyST is part of the Project Jupyter 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
mystmd
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 mystmd
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 Jupyter Book, 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 Markdown CLI.
If you arenβt familiar with git, it isnβt required for this tutorial, you can download the zip file with the contents from the quickstart repository.
If port
3000
is in use on your machine, an open port will be used instead, follow the link provided in the terminal.By default the
myst clean
command doesnβt remove installed templates or cached web responses; however, the function can with a:myst clean --all
, ormyst clean --templates --cache
.Before deleting any folders
myst
will confirm what is going to happen, or you can bypass this confirmation with the-y
option. For example:If the server stopped, you can restart the server using
myst start
.