asciidoctor / asciidoctor-extensions-lab

A lab for testing and demonstrating Asciidoctor extensions. Please do not use this code in production. If you want to use one of these extensions in your application, create a new project, import the code, and distribute it as a RubyGem. You can then request to make it a top-level project under the Asciidoctor organization.
Other
104 stars 101 forks source link

Make all these extensions installable with gem install #110

Closed cirosantilli closed 9 months ago

cirosantilli commented 4 years ago

Currently I have to clone this and keep it around as submodule?

Would be good if we could at least keep have one big gem that makes all these extensions available to asciidoctor -r if that is possible (not sure). Then add an asciidoctor- prefix to all modules under lib/ to improve unicity.

It is hard to decide if something is "good enough for a separate gem / core", I recommend just making everything easily available somehow.

Even better would be if this were merged into the main repo and we could just get the extensions with -r without any extra steps, but this has been somewhat declined in: https://github.com/asciidoctor/asciidoctor-extensions-lab/issues/107#issuecomment-518976453 Good reasons to move them to main tree but not merge them in core (keep as extensions in an extensions/ folder) are: 1) keep them optional 2) makes it more likely that the module API works.

Motivated by me wanting to use the git commit extension from here :-)

Related: https://github.com/asciidoctor/asciidoctor-extensions-lab/issues/35

mojavelinux commented 4 years ago

That would violate this being a lab. If an extension is worthy of production use, it should be graduated out of the lab, become it's own project, and be released properly. If an extension is too small for a dedicated project, it can be grouped with other extensions and released as a gem. But regardless, this is a lab and its state will not change from being that.

bulletmark commented 4 years ago

Regarding this issue, can I suggest to please clarify the main README? The second sentence of the README says If you simply want to use the extensions in this repository, skip ahead to Using an extension which I did. That says to merely gem install asciidoctor. I then spent 15 mins trying to work out what to do next before I discovered this issue. There should be a note there explaining that you have to git clone this repo somewhere before those next steps apply.

mojavelinux commented 9 months ago

Contributions welcome.

mojavelinux commented 9 months ago

I have updated the README to include this information. If more clarification is needed, you are welcome to submit a PR to update the README.

I have no plans to ever distributed any of the extensions as gems out of this repository. If someone wants to publish an extension, they are welcome to split it out into a separate project and publish it. If you plan to do that, you are welcome to mention it in the chat at https://chat.asciidoctor.org to team up with other developers.