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

Define a plugin / extension mechanism for renderers #1801

Open
choldgraf opened this issue Jan 22, 2025 · 0 comments
Open

Define a plugin / extension mechanism for renderers #1801

choldgraf opened this issue Jan 22, 2025 · 0 comments
Labels
enhancement New feature or request

Comments

@choldgraf
Copy link
Collaborator

Authors commonly want to support more complex, different, or custom renderer outputs than what MySTMD supports out of the box. For example, if you wanted to support more specific Latex outputs than the AST knows how to handle with its default nodes. Currently, if we want to extend the outputs that a renderer can understand and create, we need to modify the core MyST library. This isn't scalable and would lead to a lot of code bloat over time, as well as disagreement because there will always be more than one way of doing things.

We should provide a mechanism by which authors / developers can modify the behavior renderers. For example:

  • Understanding how to convert custom nodes into renderer outputs.
  • Understanding how to over-ride the output for a given node.

These would allow users to control the AST -> output transformation with plugins, which would greatly expand the flexibility of MyST without requiring a contribution to our codebase each time.

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

No branches or pull requests

1 participant