-
Notifications
You must be signed in to change notification settings - Fork 66
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
Repository Evolution #34
Comments
I think this plan makes sense - several tightly scoped Regarding renames:
|
This is part of an effort to reduce the scope of this library, discussed here: #34
This is part of an effort to reduce the scope of this library, discussed here: #34
+1 on |
I am going to close out this issue, which is now better described by executablebooks/meta#838. I think there is still some work to do to sort out the naming, but I don't think it is urgent. |
Background
Over the past few months we have slowly started pulling repositories out of this repository into adjacent repos, this repository originally had the goal of being what has now become
markdown-it-docutils
and the majority of the code has now been duplicated (with the exception of state management) and improved (e.g. recursive directive parsing). That repository now has the coredirectives
androles
that support the myst spec, and there have been other repositories that support some aspects of math parsing, and other requirements to support myst (e.g. block breaks, comments, etc.).Repository Responsibilities
In discussion with @chrisjsewell and @fwkoch today, we are planning to change this repo into a container repository that has the following responsibilities:
jupyterlab-myst
,myst-vs-code
, etc.)In parallel to this @chrisjsewell and @fwkoch are looking into standardizing testing and serialization into a mdast spec, which will likely form the basis of many unit tests for "myst as a spec" that can be implemented in many different libraries/languages. Initial experimentation on this is happening in https://github.com/chrisjsewell/myst-spec and curvenote/schema#44.
Naming repositories
As a part of this, we discussed the fact that neither
markdown-it-docutils
normarkdown-it-myst
were good names:markdown-it-docutils
is not actually doing the responsibility of docutils in python, which has a much wider scope. The scope of that repository is strictly parsing (using markdown-it) roles and directives. The base directives are those used in docutils/sphinx and likely common extensions to the jupyterbook ecosystem.markdown-it-myst
should be able to switch out the dependence on markdown-it and have no changes to the public interface (e.g. moving to https://unifiedjs.com/, which has more uptake in the MDX community etc.).We discussed in our meeting today that we could live with (1) for now (another option thought of later is below); and (2) we should change the repository name to
mystjs
.myst
is taken, and this nicely does not confuse it with the python implementation.Repository Dependencies:
\begin{equation}
$$
Notes
Note that given the name change of this repository (markdown-it-myst --> mystjs), we could move markdown-it-docutils --> markdown-it-myst, and incorporate the
myst-extras
pieces in there rather than having to maintain another repo/version/release etc. I personally think this makes a lot of sense, and this repository would have all the components to parse myst-specific things. It would not have things like math, footnotes, etc. which are implemented elsewhere.@chrisjsewell and @fwkoch I am interested in your thoughts here! Personally I think this would be clearer all around and not had a tiny repo to do the extras.
Next Steps
mystjs
markdown-it-myst
on npm OR rename docutils, bring in the myst-extras and rename the result to markdown-it-myst (see notes)A picture of the discussion!
The text was updated successfully, but these errors were encountered: