Skip to content
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

Separate existing plugins into sub-packages #40

Open
agoose77 opened this issue Sep 1, 2021 · 4 comments
Open

Separate existing plugins into sub-packages #40

agoose77 opened this issue Sep 1, 2021 · 4 comments

Comments

@agoose77
Copy link
Owner

agoose77 commented Sep 1, 2021

@bollwyvl you're currently the maintainer of conda-forge for this extension, so you're a stakeholder here!

I realised that I had included a markdown-it dependencies that were ultimately not used, and when I went to add a plugin to support it, I realised that we're growing the size of this extension according to my interests.

I think it would be better to keep only a core number of plugins, e.g.

  • anchor.ts

and move everything else into a separate jupyterlab-markup-XXX npm, PyPI & conda-forge packages.

This would be a bit more work, is it something you'd be able to help with on the conda side?

@bollwyvl
Copy link
Contributor

bollwyvl commented Sep 1, 2021 via email

@agoose77
Copy link
Owner Author

agoose77 commented Sep 1, 2021

Yes, this is certainly part of a bigger question. My thought is that this is something we stick in the notebook metadata, under some key for jupyterlab-markup. In documents, at least for markdown, we could stick it in YAML frontmatter?

---
markdown-it-plugins:
  - anchor
---

This would probably want us to use the npm package names for the syntax rather than our jupyterlab names, so perhaps the plugin interface should be extended to define an LSP key (or keys, in the case that one plugin does several things).

@agoose77
Copy link
Owner Author

I've given this more thought recently w.r.t jupyter-book/jupyterlab-myst#38

Right now we enshrine a random subset of Markdown-it plugins as "core", when in reality there's no strong motivation for this. I think long-term we should use the extras mechanism for this instead.

@bollwyvl
Copy link
Contributor

also happy to give the lerna-fication of this a go in a PR.

for big monorepos with demos + docs (#65), i've often ended up adding a top-level dodo.py to handle orchestrating all the intermediate generated objects and making releases reasonable...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants