rah / mtxpc
Textpattern CMS 插件安装器编译器
Requires
- php: >=7.2.0
- ext-json: *
- ext-mbstring: *
- ext-pcre: *
- ext-zlib: *
Requires (Dev)
- phpstan/phpstan: ^1.5.6
- phpunit/phpunit: ^9.5.20
- squizlabs/php_codesniffer: 3.*
README
mtxpc 将 Textpattern CMS 插件源代码编译成安装包。支持多文件结构和 JSON 清单文件。
安装
使用 Composer
$ composer require rah/mtxpc --dev
用法
作为库
use Rah\Mtxpc\Compiler; $compiler = new Compiler(); $plugin = $compiler->compile('path/to/plugin/source/directory'); echo $plugin->getInstaller();
通过命令行
$ vendor/bin/mtxpc [[-h|--help][-c|--compress][--outdir=<path>]] <file>
示例
$ vendor/bin/mtxpc path/to/abc_plugin > abc_plugin_v0.1.0.txt $ vendor/bin/mtxpc -c path/to/abc_plugin > abc_plugin_v0.1.0_zip.txt $ vendor/bin/mtxpc -c --outdir=dist/ .
示例插件模板
查看 abc_plugin 存储库以获取示例模板。
GitHub Action
提供 GitHub action,可以将插件编译集成到自动化构建链中。
插件模板
与 Textpattern 的标准插件模板相比,主要区别在于插件的结构。Textpattern 的官方模板将所有内容放在一个文件中,而 mtxpc 将源代码分割成独立的文件;翻译、README、清单和源代码。
翻译
Textpacks,Textpattern 的插件本地化文件,可以存储在一个文件中,也可以作为独立的文件,每个文件存储不同的语言。编译器会从名为 textpacks
的目录中搜索 .textpack
文件。
Textpattern 提供了一种设置默认语言的方式,当插件没有包含用户的语言时,该默认语言用作后备。默认语言的选择基于 #@language
关键字,或者没有。未定义语言的 Textpack 文件被视为默认后备。比较 abc_plugin 的 en-gb.texpack 和 fi-fi.textpack 文件。没有定义语言代码的 en-gb
被设置为默认值。
清单
清单文件 manifest.json
包含所有插件元数据。这是插件包含的其他内容,包括插件的 版本 号、作者、url、特殊 标志、类型 和推荐加载 顺序。
帮助文件
清单文件也可以用于指定帮助文件的位置。默认情况下,期望帮助文件命名为 help
,并带有任何扩展名,但可以通过文件选项选择不同的位置。
{ "help": { "file": ["./README.textile"] } }
在帮助文件中可以使用 Textile 标记。如果帮助文件的文件名以 .textile
扩展名结尾,或者文件内容以 h1.
标签开头,则该文件被视为包含 Textile 标记。
开发
查看 CONTRIBUTING.md。