-
Notifications
You must be signed in to change notification settings - Fork 6
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
Add "Plugin marketplace" infrastructure to hermes docs and codebase #299
base: develop
Are you sure you want to change the base?
Conversation
66bf27c
to
bf824fe
Compare
@zyzzyxdonta Nice one! 🚀 I like this simple impl! A few comments:
Thoughts? |
I think it's important to have the steps annotated but I think this is not a one-to-one relationship. I would expect a Python plugin to contain a harvester and maybe a PyPI deposit and even a post-processor. Our CFF post-process could also be coupled with the harvester if it was a plugin... |
I've taken this into account by allowing multiple steps to be listed. If a plugin targets multiple steps, it appears in all of the related lists for now. |
I wrote a simple Sphinx extension to get rid of the horrible templating of the JSON-LD markup 🙈 Builtin plugins are now marked using |
How about using |
Added
Please note that in order to test this command, the |
I feel like we could have a common data model (e.g. pydantic model) between the Sphinx extension and the |
80ab99f
to
0b887b1
Compare
Done |
I'll mark this as ready for review now. These are open questions:
|
8b2b64d
to
00dc52f
Compare
I opted for keywords for everything.
|
d330196
to
b0ecc1f
Compare
b0ecc1f
to
c4de01c
Compare
dfbb4c2
to
bd047f3
Compare
This pull requests adds a list of available plugins to the hermes docs page that can act as a first basic "marketplace".
TODO:
schema:isPartOf
SoftwareSourceCode targetProduct SoftwareApplication .
is possible. So we would need a{"@type": "SoftwareSourceCode", "targetProduct": {"@type": "SoftwareApplication"}}
. This would be valid but not as nice as having all the plugins as top-level elements. Alternative:schema:url
Add markup for→ Doesn't work well with "one script tag per plugin" paradigm.<hermes> softwareAddOn <each plugin> .
?The first simple design looks like this:
In addition to the human-readable text, machine-readable markup is added. Schema.org markup was used. The markup on the page can be checked using the browser extension "OpenLink Structured Data Sniffer" or by pasting the source code of the compiled page into https://validator.schema.org/
Closes #292