-
Notifications
You must be signed in to change notification settings - Fork 169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sharing assets between myst-parser
and markdown-it-myst
#185
Comments
I have been developing some of the fixtures here: These were loosely based on: With the idea of sharing. 👍 If we get to some standard/tested html outputs on myst --> html (without sphinx) then we can also start sharing the styles for the components. I will think a bit more about how to do that from an infrastructure standpoint as we are doing that internally in the next month as well. |
Yeh exactly, and all of the fixtures in markdown-it-py are similarly language independent; just text files defining the input markdown and expected HTML output |
They all have the same format
|
Are you doing something on the test runner side to fill in the For example:
|
Ah no these are comparing to "pseudo" XML of the sphinx syntax tree, rather than the final HTML. |
I had a conversation with @rowanc1 and @AakashGfude this morning and we were thinking it might be a good time to start working on a central set of multi-target test cases which could help with coordinating between @chrisjsewell what do you think about a modified test fixture structure to support tests at different pipeline levels with
I guess this breaks the simplicity of parsing them with three break points and adds a layer of The thinking is that we can then setup a central |
@chrisjsewell would you have any time to comment on this issue. We are thinking it might be nice to have a centralised test suite that documents the various stages of the pipelines and/or outputs that can be used to test against for various development work (primarily thinking through javascript vs. python implementations). The suggestion above was the "easiest" way to extend the current framework but you may have better ideas on a good data format / layout. |
After a conversation with @rowanc1 and @damianavila we decided to open up a separate repository to track to-do items and discussion points around implementation-agnostic information about the MyST specification (such as those discussed here). I believe @rowanc1 is planning to work a bit on the JavaScript parser for MyST, and this may also be an opportunity to understand where shared infrastructure can help: https://github.com/executablebooks/myst-standard (note, there's no infrastructure or tooling in that repo currently, it is just a place to track action items and coordination, but perhaps one day it might also be the home of shared test infrastructure, schemas, etc) |
Thanks @choldgraf - been looking into this a bit today and at the existing patterns in the |
Well you won't actually find the (initial) commonality in myst-parser, you will find it in markdown-it-py and mist-py-plugins. Everything in JavaScript (well actually I hope you are using typescript 😉) should flow through there, as in you should first be parsing everything to markdown-it tokens |
But yeh let me know if you need any help |
Ok - had not found these: |
Yep the first thing is that we have parity between the markdown-it extensions we use in python and typescript 👍 |
This will also make it easier 😉: jupyter-book/mystmd#31 |
If we have a core spec that we want both the Python and JS implementations to support, we could also consider sharing some assets between them. For example:
These could help us reduce maintenance burden in
myst-parser
andmarkdwon-it-myst
, and could also help us ensure that they produce identical outputs for certain myst syntax.The text was updated successfully, but these errors were encountered: