icecave / slate
用于文件系统结构的模板引擎。
Requires
- php: >=5.3
- ext-mbstring: *
- ext-zip: *
- doctrine/inflector: ~1
- eloquent/asplode: ~2
- icecave/collections: ~1
- icecave/isolator: ~2
- justinrainbow/json-schema: ~1
- symfony/console: ~2
- symfony/yaml: ~2
Requires (Dev)
- eloquent/liberator: ~1
- icecave/archer: ~1
This package is not auto-updated.
Last update: 2019-05-28 03:19:56 UTC
README
Slate 是一个从模板创建目录和文件结构的实用工具。
- 下载可执行PHAR文件
- 通过 Composer 包 icecave/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
联系我们
- 在Twitter上关注@IcecaveStudios
- 访问Icecave Studios网站
- 加入irc.freenode.net上的
#icecave
频道