I'm creating a nunjucks plug-in for Assemble v0.6.0. It seems it's using Template(I think it was previously called Engine), which also powers Verb.
should I be calling the plugin "engine-nunjucks", "template-nunjucks", "assemble-plugin-nunjucks", "assemble-nunjucks"?
Verb, Assemble, Template can weigh in here
Not sure if you noticed, but @doowb is co-creator of all of those projects ;)
It's a good question and one we have started to document with the pending v0.6.0 release coming, but we should probably step on the gas and get these things published.
Short answer
assemble-*
is a good way to go. Plugins follow gulp convention and style guidelines. Don't go by naming conventions of old pre-v0.6.0 assemble plugins/middleware. We're asking the gods of poor-naming-decisisions to absolve us of those sins so we can move on (and deprecate them). Hopefully we'll get past thatengine-*
for naming. Code-wise, engines follow consolidate convention when async, and [engines][1] convention when sync (which is just basically consolidate without the callbacks). Since engines can be published with both sync and async methods, engine-foo
is probably always a good bet.helper-*
. if it requires a specific engine, use the engine in the name: handlebars-helper-*
. If it requires assemble, name it assemble-helper-*
loader-*
. If it's a loader that is specific to assemble, then use assemble-loader-*
, or if it can be used by any library that implements Template, then use template-loader-*
.I think the overriding convention is to just err on the side of explicitly naming what the module is associated with, so it's easier to find by other devs in the community. The only exception being actual plugins, since we're trying to stick to gulp convention (instead of doing assemble-plugin-*
)