executablebooks / mdit-py-plugins

Collection of core plugins for markdown-it-py
https://mdit-py-plugins.readthedocs.io
MIT License
28 stars 29 forks source link

Future of Admon Plugin #102

Open KyleKing opened 5 months ago

KyleKing commented 5 months ago

Context

Since the admon plugin was initially ported to mdit-py-plugins, there have been requests for improvements (#96 to support collapsible admonitions, MkDocs content tabs, etc.)

In response, I've refactored the logic to make it more extensible and published new versions of mdformat-mkdocs (for the mkdocs-related code) and mdformat-admon with the extensible version of the python-markdown !!! syntax (https://github.com/KyleKing/mdformat-admon/blob/d48ca09eb3160dbfbb2c8219319cba7e63ff8e4a/mdformat_admon/mdit_plugins/_python_markdown_admon.py)

Proposal

Because there is currently duplicate implementations of the admon logic (here and in mdformat-admon), we should try to reduce the duplication. I think there are a couple of options:

  1. Remove the admon plugin from mdit-py-plugins and point users to mdformat-admon if they want that functionality (we could have mdit-py-plugins raise an exception if someone tries to import with a better error or just remove entirely to reduce the maintenance burden
  2. Move a subset of the logic from mdformat-admon into mdit-py-plugins (the extensible factories and updated plugin) to replace what is currently here

I don't want to add additional dependencies to mdit-py-plugins and expand the scope when this project is intended to be a direct port of the js community plugins, so my preference is for some version of Option 1.

What is your preference?

Tasks and updates

No response

welcome[bot] commented 5 months ago

Thanks for opening your first issue here! Engagement like this is essential for open source projects! :hugs:
If you haven't done so already, check out EBP's Code of Conduct. Also, please try to follow the issue template as it helps other community members to contribute more effectively.
If your issue is a feature request, others may react to it, to raise its prominence (see Feature Voting).
Welcome to the EBP community! :tada: