icecave/slate

此包已被废弃,不再维护。未建议替代包。

用于文件系统结构的模板引擎。

1.0.0 2014-09-09 09:58 UTC

This package is not auto-updated.

Last update: 2019-05-28 03:19:56 UTC


README

Build Status Test Coverage SemVer

Slate 是一个从模板创建目录和文件结构的实用工具。

Slate最初是为了简化并加速在GitHub上创建新仓库的过程而设计的,但也可以在任何需要从模板创建文件系统结构的情况下使用,例如用户主目录、占位符网站、基于文件系统的测试用例等。

在版本0.4.0之前,Slate被命名为Chassis

模板格式

模板仅仅是按照所需方式组织的文件和目录集合,类似于Unix系统中的/etc/skel。文件和目录名可能包含变量,这些变量在克隆模板时将被替换为其他值。

变量

变量表示为花括号内的变量名,例如:{foo}。变量名区分大小写,可能包含字母、数字和连字符(-)字符。变量名必须以字母开头。

可以通过在变量名前加反斜杠来转义变量,例如:{\foo}。这会防止Slate替换变量值,并导致输出{foo}

Slate还可以在文本文件中替换变量值。任何具有.slate扩展名的文件都会通过模板引擎处理,并移除.slate扩展名。

变量转换

可以使用转换修改变量值。转换通过在变量名后使用竖线(|)和转换名称来指定。例如,{foo|lowercase}会将foo变量的值转换为小写输出。

以下转换可用:

  • base64-decode
  • base64-encode
  • camelcase
  • hex-decode
  • hex-encode
  • html-decode
  • html-encode
  • json-decode
  • json-encode
  • lowercase
  • lowercase-first
  • md5
  • newline-to-br
  • pluralize
  • rot13
  • sha1
  • singularize
  • snakecase
  • studlycaps
  • trim
  • trim-left
  • trim-right
  • uppercase
  • uppercase-first
  • url-decode
  • url-encode
  • yaml-decode
  • yaml-encode

示例模板

Icecave Studios PHP模板 是一个真实世界的示例,我们用它来创建新的PHP项目。

用法

要从一个模板创建文件系统结构,请使用clone命令。

以下命令从位于/path/to/template的模板中克隆,并将输出写入到/path/to/output,其中变量{foo}被替换为bar

slate clone --define foo=bar --path /path/to/template /path/to/output

云母板会提示需要未定义变量值,除非使用了--no-interaction选项,在这种情况下,缺失的变量值将导致错误。

在线模板

云母板https://github.com/IcecaveStudios/slate-templates提供了一套在线模板。要使用其中一个模板,将--template选项传递给克隆命令(而不是--path)。

以下命令将Icecave Studios PHP模板克隆到/path/to/output文件夹。

slate clone --template php-icecave /path/to/output

联系我们