bevry / projectz

Stop wasting time maintaining your project's readme and package files! Let Projectz do it for you.
Other
266 stars 63 forks source link

Plugin System #85

Open balupton opened 8 years ago

balupton commented 8 years ago

Just realised I hadn't yet created an issue for this, besides it being confirmed to come.

Here is the current plan.

Event Emitter Grouped events:

Plugins will be given an opts property, that contains the data that projectz has, consider it a singleton that the plugins can share with each other. The util package will be published separately or within a submodule of the projectz package. Having the functions of the util package be their own packages makes most sense.

On the first iteration, only enhance:readme-files would be necessary. Then later the rest can be added. Whether enhance:readme-files provides data, or an individual files value, is to be determined, there is an argument for it to provide enhance:readme-file(value, opts, next)


if you want this feature, +1 this post, and also if you can donate https://bevry.me/donate

balupton commented 6 years ago

Just published up https://github.com/bevry/ropo which can be a foundation for this

Details at https://twitter.com/balupton/status/1006070544871985153

balupton commented 5 years ago

http://remark.js.org/ has also been suggested for accomplishing this

balupton commented 4 years ago

Some notes on this from https://github.com/bevry/projectz/issues/147

I'll also be aiming towards making it a series of small components, unix style.

update projectz for updating the markdown files using https://github.com/bevry/ropo for the replacements with a projectz configuration object inside package.json that can override or add additional sections to commands that will be executed - such as curl or whatever - which output will be used It might be possible to break projectz apart into multiple cli commands, such as update-install-instructions or update-backers, or update-license etc etc.