tigrez / qkrun
任务运行器
Requires
- php: >=5.4.0
- css-crush/css-crush: *.*
- henrikbjorn/lurker: 1.2.0
- tedivm/jshrink: ~1.0
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-29 04:46:49 UTC
README
QK:Run
版本历史
1.2.0 大变化...
兼容性破坏!
jsflow 和 cssflow 选项
通过 --jsflow 和 --cssflow 选项可以更改运行和监视命令的流程。默认值都是 MC,表示 先压缩后连接。指定 CM 表示 先连接后压缩。注意,这里的 压缩 在 CSS 的上下文中意味着 crush,即通过 csscrush 预处理并压缩。即使通过 --nominify 选项禁用了压缩,我们仍然将此步骤称为 压缩!另外,请注意,您不能直接切换这些参数。您可能需要更改配置文件中的目录,因为每个步骤都假设输入文件位于不同的目录中。
设置名称更改,警告:破坏兼容性!
出于一致性考虑,设置 cssdir_in 和 cssdir_out 已更改为 csscrunch_in 和 csscrunch_out。现在名称与其使用的处理步骤相关。
同样,jsdir_in 和 jsdir_out 已更改为 jsmin_in 和 jsmin_out。
其他
- 在压缩 CSS 之前,会清空
csscrunch_out。 - 在连接 CSS 之前,会清空
cssconc_out。 - 在压缩 JS 之前,会清空
jsmin_out。 - 在连接 JS 之前,会清空
jsconc_out。
1.1.0 监视!
添加了监视功能
1.0.0
第一个可用版本
这是什么?
QK:Run 是一个小型的任务运行器,可自动处理您的项目 JavaScript 和 CSS 文件。我为自己的小型独立 PHP 项目构建了它,但谁知道,它可能对其他人也很有用。在 1.1.0 版本中,添加了一个监视功能!
在 1.1 版本中,QK:Run 可以
- 压缩 JavaScript 文件
- 压缩 CSS 文件(使用 CSS~Crush)
- 连接 JavaScript 和 CSS 文件
- 监视 JavaScript 和 CSS 目录中的更改
顺便说一下,压缩 意味着预处理 和(可选)压缩 CSS 文件。请参阅 http://the-echoplex.net/csscrush/
如何运行
QK:Run 以命令行 PHP 的形式实现。它需要 PHP5.4 或更高版本。它期望 Linux 风格的命令,因此我在 Windows 机器上的 GitBash 窗口中使用它。QK:Run 的主文件位于 proj 文件夹中的 qk.php。我创建了一个别名 qk 来启动它,这样我就不必每次都输入 php qk.php。从现在起,在我的示例中,我也将使用这个简短的变体 qk。
设置
想法是在您的计算机上安装一个 QK:Run。此安装可以为多个项目(在 QK:Run 中称为 站点)服务,一次一个。您可以使用 select 命令将 QK:Run 指向当前使用的站点。
在 proj 文件夹中,您将找到一个 config 文件夹。在这里,您将找到一个 qkrun.config.php。这是全局配置文件,应返回一个 PHP 关联数组,其中包含键值对。键是设置的名称,值是设置的值。
全局配置文件应至少包含一个 sites 设置。设置 sites 是一个键值对数组,其中键是站点的缩写(请记住:站点是 QK:Run 项目的术语),值是此站点的配置文件名称。
return ['sites' => ['dogs'=>'config/dogs.config.php',
'birds'=>'config/birds.config.php',],
];
在上面的示例中,您会看到这个QK:Run安装程序可以处理两个站点,即dogs和birds。dogs的配置文件位于config/dogs.config.php,而birds的配置文件位于config/birds.config.php。这是让QK:Run指向所选站点的机制。
站点配置文件被称为本地配置文件。与全局配置文件一样,它需要返回一个键值对的PHP数组。这些文件可以是站点本身的文件结构的一部分,但像示例中那样,我将它们放在与全局配置文件相同的文件夹中,以便将所有配置放在一个地方。这无关紧要。注意示例中的路径是从proj文件夹中看到的相对路径。
关于QK:Run配置文件的一个重要概念是它们会被合并。全局和本地文件中的设置会被合并。如果两个文件中都有相同的设置,则本地设置会覆盖全局设置。整个思想是在全局配置文件中定义适用于所有站点的设置,在本地配置文件中定义特定于站点的设置。随着当前设置集的使用,您可能不会经常使用这个功能,但我预计在未来的版本中它将变得更加相关。
入门指南
因此,要开始使用,您首先想要做的是在qkrun.config.php文件中填写sites设置。然后,您需要创建并填写在sites设置中定义的本地配置文件。
如果我们使用之前的示例
'sites' => ['dogs'=>'config/dogs.config.php', 'birds'=>'config/birds.config.php', ]
在全局文件中,那么我们需要在config文件夹中创建一个dogs.config.php和一个birds.config.php。让我们关注一下dogs.config.php。
它通常看起来像这样
return [
'csscrunch_in' => '/mysites/dogs/css/',
'csscrunch_out' => '/mysites/dogs/cssmin/',
'jsmin_in' => '/mysites/dogs/js/',
'jsmin_out' => '/mysites/dogs/jsmin/',
'jsconc_in' => '/mysites/dogs/jsmin/',
'jsconc_out' => '/mysites/dogs/jscon/',
'jsconc_name' => 'dogs-min.js',
'cssconc_in' => '/mysites/dogs/cssmin/',
'cssconc_out' => '/mysites/dogs/csscon/',
'cssconc_name'=> 'dogs-min.css',
];
csscrunch_in定义了crunch步骤的输入CSS文件的位置csscrunch_out定义了'crushed' CSS文件存储的位置jsmin_in定义了minify步骤的javascript文件的位置jsmin_out定义了存储精简javascript文件的位置jsconc_in定义了存储要连接的javascript文件的位置,通常与jsmin_out相同jsconc_out定义了存储连接的javascript文件的位置jsconc_name是连接的javascript文件的名字cssconc_in定义了存储要连接的css文件的位置,通常与csscrunch_out相同cssconc_out定义了存储连接的css文件的位置cssconc_name是连接的css文件的名字
QK:Run命令
选择
选择正在工作的站点。必须是sites中的缩写之一。
--site=<siteacronym>指定要选择的站点。
帮助
显示可用的命令
crush
crushes位于csscrunch_in中的CSS文件到csscrunch_out。如果输入文件是xxx.css,则输出文件名变为xxx-min.css(如果进行了精简)或保持为xxx.css(如果没有进行精简)。
--nominify指定此选项如果您不想进行精简。精简是默认设置。
minify
将位于jsmin_in中的javascript文件精简并写入jsmin_out。
jscon
将位于jsconc_in中的javascript文件连接到一个文件中,该文件位于jsconc_out,文件名为jsconc_name。
--sort指定此选项如果您希望按字母顺序处理文件。默认不排序。
csscon
将位于cssconc_in中的css文件连接到一个文件中,该文件位于cssconc_out,文件名为cssconc_name。
--sort指定此选项如果您希望按字母顺序处理文件。默认不排序。
运行
这是crush、minify、concss和conjs的组合。请参阅各个命令。--jsflow默认流程是MC,先精简然后连接,使用CM进行连接然后精简。
--cssflow默认流程是MC,先精简/压缩然后连接,使用CM进行连接然后精简/压缩。
watch 监视CSS和JS文件的变化。
--jsflow 默认流程为MC(先压缩后连接),使用CM(先连接后压缩)。
--cssflow默认流程是MC,先精简/压缩然后连接,使用CM进行连接然后精简/压缩。