汇编模板插件的命名约定是什么?

What is the naming convention for assembles template plugins?

我正在为 Assemble v0.6.0. It seems it's using Template(I think it was previously called Engine), which also powers Verb 创建一个 nunjucks 插件。

我应该调用插件 "engine-nunjucks"、"template-nunjucks"、"assemble-plugin-nunjucks"、"assemble-nunjucks" 吗?

通过查看您的存储库,我认为 engine-nunjucks 最合适,因为您正在为 template 创建渲染引擎。这类似于我们已有的 engine-handlebarsengine-lodashengine-lessengine-assemble

Verb, Assemble, Template can weigh in here

不确定您是否注意到了,@doowb 是所有这些项目的共同创建者 ;)

这是一个很好的问题,我们已经开始记录即将发布的 v0.6.0 版本,但我们可能应该加紧努力并发布这些内容。

简答

  • 如果它是一个插件(比如 gulp 插件),那么 assemble-* 是个不错的选择。插件遵循 gulp 惯例和风格指南。不要遵循旧的 v0.6.0 之前的命名约定 assemble plugins/middleware。我们要求糟糕的命名决定之神免除我们的这些罪过,这样我们就可以继续前进(并弃用它们)。希望我们能度过难关
  • 如果是引擎,则使用engine-*命名。在代码方面,引擎在异步时遵循合并约定,在同步时遵循 [engines][1] 约定(基本上只是合并而没有回调)。由于可以使用同步和异步方法发布引擎,因此 engine-foo 可能总是一个不错的选择。
  • 如果它是辅助程序并且是通用的,请使用 helper-*。如果需要特定引擎,请使用名称中的引擎:handlebars-helper-*。如果需要 assemble,则将其命名为 assemble-helper-*
  • 如果是加载程序,请使用 loader-*。如果它是特定于 assemble 的加载器,则使用 assemble-loader-*,或者如果它可以被任何实现模板的库使用,则使用 template-loader-*.

我认为最重要的约定是在显式命名模块关联的内容方面犯错误,这样社区中的其他开发人员更容易找到它。唯一的例外是实际的插件,因为我们试图坚持 gulp 约定(而不是 assemble-plugin-*