Source of truth for MyST specification and relationship to MyST-parser? #1712
-
Hi 👋🏼 I've been working on a Myst implementation from the beginning of Myst. When I started, I was parsing the
Some of those sources do not include both source and expected rendering, the actual rendering being done on publication by an actual implementation (the TS one for mystmd.org if I understand it well), making it difficult to use it. Can you explain the relationship between those sources/references and tell me what should be taken as official parsing/rendering specification source? |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 1 reply
-
Given there is another dedicated discussion space, I just found https://github.com/orgs/executablebooks/discussions/1194 which is basically about the same confusion. |
Beta Was this translation helpful? Give feedback.
-
Thanks @noirbizarre for opening this and for making the cross-link. I wanted to quickly share some context below to help clarify. We're also using the following issue to track overall Jupyter Book v1 to v2 information in case that's helpful: Historical contextOriginally, MyST was envisioned as a markdown syntax that exposed the functionality of docutils/Sphinx with Markdown syntax. The Expanding the vision of MyST and incorporating under JupyterA year ago, we expanded the goals of MyST to define a document standard rather than just a markdown syntax, and also focused the implementation on a new JavaScript-based engine at https://mystmd.org. We decided the best path forward was to split off this effort from the original grant-funded (and Sphinx-based) technical stack. As part of this effort, we created a new GitHub organization ( The Jupyter Enhancement Proposal to incorporate Moving forward, mystmd.org is the source of truthMoving forward, the https://mystmd.org stack is the "source of truth", and the myst-parser can be considered an independently-maintained implementation of MyST markdown for Python (a better name might be But there may discrepancies because we're low on resourcesRealistically speaking, you're going to find discrepancies between sources of truth defined on mystmd.org, because the project has little resources to work with and is executing a fairly complex shift in its technical priorities. Here are a few ideas for our targets thought:
We are interested in guiding others to contributeWe are also interested in growing the developer-base for the MyST document engine and Jupyter Book 2, so if you're interested in helping out with any of the work that needs to happen, we'd certainly be interested in providing guidance to help you or others get started. I hope this helps explain a little bit about where the project is at right now and where to look for information. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the detailed answer and the links. Things are a lot much clearer now. I totally get the low resources' constraint (I am a single, not funded open-source developer with a family and only night and weekends to contribute and/or maintain). Now that I have the right precedence of repositories, I will be able to advance and also to contribute on specs (basically contribute back to spec rendering from features that I am implementing from the guide). If I may, I think that making the guide the real spec by providing the expected example rendering would lower the workload. Anyway, thanks for the answer, thanks for the (very much needed) Myst initiative and talk to you soon as I expect top contribute. |
Beta Was this translation helpful? Give feedback.
-
I appreciate the response and understand that the team has many competing priorities. That said, clarity around the project's goals and scope is critical for building confidence in its long-term viability. For instance, renaming the MyST-Parser repository to something like myst-sphinx-legacy and updating the README to remove the statement "This repository serves as the reference implementation of MyST Markdown" could be quick tasks—perhaps taking only about 10 minutes for someone with sufficient access. These small adjustments would help set clearer expectations for users. I also outlined other small steps in my ticket that could collectively take about an hour but would significantly improve the project's organization and communication. I recognize this may seem less urgent compared to broader technical shifts, but for many users, these details serve as the "source of truth" for the standard. Without clear signals from the project, there is a risk of further fragmentation, as humorously noted in the Standards xkcd. I hope the project can take steps toward greater clarity and coordination to strengthen user trust and engagement. As it is, although I have enjoyed using MyST, the Quarto project looks very attractive. |
Beta Was this translation helpful? Give feedback.
Thanks @noirbizarre for opening this and for making the cross-link. I wanted to quickly share some context below to help clarify. We're also using the following issue to track overall Jupyter Book v1 to v2 information in case that's helpful:
Historical context
Originally, MyST was envisioned as a markdown syntax that exposed the functionality of docutils/Sphinx with Markdown syntax. The
myst-parser
repository is the project that defined the MyST markdown syntax, and defined a bridge to docutils/Sphinx. It was funded by a Sloan Foundation grant, and developed by the team behind that grant. Here's a blog post announcing Jupyter Book 1.0, which was built on S…