Closed DanySK closed 3 years ago
This sounds like a great addition, I'd gladly accept a PR for it! I should be able to get it merged relatively soon, but it will likely take a while for me to get it actually released, as there are a number of things that I need to update first to get Orchid on MavenCentral
Is there a guide for developers? Which sub-project should I target?
There's a CONTRIBUTING.md with some basics on the project structure and building/running locally. This tag could go in the WritersBlocks module, which is the catch-all for tags and other things that don't really fit in any of the other modules.
More practically, the Orchid repo is overall a pretty normal Gradle JVM project. You can open it and run tests in IntelliJ IDEA as you would any other Java/Kotlin app, using the expected directory structure. Please include at least 1 test case with the PR. You can follow the tests for other tags in that module for an example of how to get them set up and properly testing, and there's full documentation for the Orchid testing APIs available as well.
@cjbrooks12 pull request opened; see #399.
By the way, component loading could be automated by loading subtypes dynamically through Classgraph.
Code should never be duplicated, yet often in the documentation we need to show snippets from some other place. AFAIK, the current Orchid way is just to copy paste within a Markdown code environment.
However, the great gist-it service allows for importing code snippets into pages directly from github (not gists, true code).
I prepared a tag that does the job for a website of mine, and I believe it could be of use to others, so I propose its integration into Orchid.
Use example:
Pebble template: https://github.com/AlchemistSimulator/Alchemist/blob/da66b3667f84ce2bf07cf845602feb4ee2bd97ff/src/orchid/resources/templates/tags/gistit.peb#L1-L11 Kotlin tag implementation: https://github.com/AlchemistSimulator/Alchemist/blob/da66b3667f84ce2bf07cf845602feb4ee2bd97ff/src/orchid/kotlin/it/unibo/alchemist/orchid/EmbedCode.kt#L1-L50
Defaults of course can be changed to some example code of your like.