This repository recommends using GitHub releases to distribute the source code for plugins for others to re-use. E.g. see how we're using releases here:
|
plugins: |
|
- https://github.com/jupyter-book/myst-plugins/releases/download/Admonitions/experiment-admonition.mjs |
|
- https://github.com/jupyter-book/myst-plugins/releases/download/exercise-and-solution-pdf/exercise-admonition-pdf.mjs |
|
- https://github.com/jupyter-book/myst-plugins/releases/download/Admonitions/intermezzo-admonition.mjs |
|
- https://github.com/jupyter-book/myst-plugins/releases/download/Admonitions/example-admonition.mjs |
|
- plugins/picsum/picsum.mjs |
|
- plugins/markup/markup.mjs |
|
# - plugins/iframe-to-thumbnail-pdf/iframe-to-thumbnail-pdf.mjs |
|
- https://github.com/jupyter-book/myst-plugins/releases/download/iframe-to-qr-pdf/iframe-to-qr-pdf.mjs |
|
- https://github.com/jupyter-book/myst-plugins/releases/download/updated-date-frontmatter/update-date-frontmatter.mjs |
|
- plugins/github-issue-link/src/index.mjs |
|
- plugins/github-handle-links/src/index.mjs |
|
- plugins/demo/src/index.mjs |
But AFAICT, the releases are done manually, rather than through some kind of automation.
Additionally, some plugins require a 'build' step before they create a usable JS bundle, e.g.:
We should:
- Automate creating a release for any plugin that has changed since the last release.
- Define a standard build step (maybe it is just "create a file called
build.js and if it exists, the release workflow will run that and look for a file in a dist/ folder and publish whatever it finds there in a release for that plugin)
This repository recommends using GitHub releases to distribute the source code for plugins for others to re-use. E.g. see how we're using releases here:
myst-plugins/myst.yml
Lines 14 to 26 in a4df31e
But AFAICT, the releases are done manually, rather than through some kind of automation.
Additionally, some plugins require a 'build' step before they create a usable JS bundle, e.g.:
myst-plugins/plugins/update-date-frontmatter/build.js
Line 4 in a4df31e
We should:
build.jsand if it exists, the release workflow will run that and look for a file in adist/folder and publish whatever it finds there in a release for that plugin)