rah/rah_minify

Textpattern CMS 资产压缩器

安装: 4

依赖者: 0

建议者: 0

安全性: 0

星标: 2

关注者: 4

分支: 0

开放问题: 0

类型:textpattern-plugin

dev-master 2013-08-01 09:33 UTC

This package is auto-updated.

Last update: 2024-09-15 12:52:06 UTC


README

Packagist | GitHub | Twitter | 捐赠

Rah_minify 是 Textpattern CMS 的一个资产压缩插件。它压缩并预处理平面 JavaScript 和 CSS 文件。Rah_minify 删除注释、不必要的空白和压缩属性值以及变量,将其转换为最简格式,同时保持代码行为不变。

安装

使用 Composer。该插件依赖于一些开发包,因此您需要将一些仓库链接规则添加到您的 composer.json 文件中

{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/gocom/YUI-CSS-compressor-PHP-port.git"
        }
    ],
    "minimum-stability": "dev"
}

上述内容将降低您最低稳定性到开发版本,并添加到我们分叉的 YUI CSS 压缩器 PHP 版本,由 Túbal Martín 提供。完成后,您可以运行安装程序

$ composer.phar require rah/rah_minify

要求

Rah_minify 的最低要求

  • Textpattern 4.5 或更高版本。

首选项

Rah_minify 提供了一些首选项,可用于执行所有必要的配置。所有设置都可以在 高级首选项 中找到,组织在 Minify 部分。以下设置将存在。

公共回调的安全密钥

用于限制对回调 URL 不受欢迎的访问的密钥。这应该设置为长、强大的值,包含数字、字符和符号的组合。

如果设置,则可以使用公共回调 URL 处理和压缩资产。这消除了将网站设置为调试模式或登录 Textpattern 的需要。每次访问回调 URL 时,都会从您的资产创建处理后的文件。

此回调 URL 可以与 cron job 一起使用以执行计划处理作业,或添加到自动化 部署任务 中。回调可以在每次提交或代码更改后的 post-hook 上执行。这样,您就无需手动压缩和编译 JavaScript 或 CSS 代码,或用不需要的文件污染您的存储库。

回调 URL 可能如下所示

http://example.com/?rah_minify=key

其中 key 是在 公共回调的安全密钥 字段中设置的值,而 http://example.com/ 是您 Textpattern 网站的路径。

压缩文件列表

此设置设置由 rah_minify 压缩的 JavaScript 和 CSS 文件。设置采用绝对文件系统路径列表,格式为源和目标配对,配对由换行符分隔。

source target
source target [\n...]

其中源是要压缩的文件,目标是压缩文件写入的位置。目标和源路径由一个空格(U+0020)分隔。压缩文件由换行符(单个 UNIX 风格换行符)分隔。所有路径都将相对于 Textpattern 的安装目录(例如,./textpattern)。

以下代码将压缩位于 assets/src/ 目录下的文件,包括 main.jsextra.jsdefault.css,并将结果写入父目录 assets。这些文件将位于网站根目录的 assets 目录中,与包含 textpattern 目录和您的网站 index.php 文件的同一目录。

../assets/src/main.js ../assets/main.js
../assets/src/extra.js ../assets/extra.js
../assets/src/default.css ../assets/default.css

创建快照吗?

如果设置为是,则每次压缩资产文件时都会创建带有时间戳的额外文件。这些文件作为创建文件的版本。这些文件提供了一种优化静态资源缓存的方法。

这些时间戳版本将写入与压缩文件相同的目标目录。版本化文件遵循以下命名模式

{targetName}.{timestamp}.{targetExtension}

其中在 {targetName} 中是目标文件的名称(例如 main.min),{timestamp} 是 Unix 时间戳(例如 1345269546),而 {targetExtension} 是目标文件的扩展名(例如 css 或 js)。包含在文件名中的时间戳与目标文件的修改日期相同。

考虑以下文件对

../assets/src/main.js ../assets/main.js

创建的版本化文件将被命名为 main.1345269546.js,写入与精简的 main.js 文件相同的父目录 assets

设置处理后的文件

待办事项。

可选地从 PHP

待办事项。

扩展决定

处理操作由源资产文件的扩展名决定。以 .css 结尾的文件被处理为 CSS,以 .js 结尾的文件被处理为 JavaScript。如果已安装可选的 LESS PHP 编译器,rah_minify 还可以处理 .less 文件中使用的 LESS 代码。具有不可识别扩展名的文件将被忽略。

合并文件

Rah_minify 还支持文件合并。所有源资产文件都可以作为堆栈处理,其中内容写入单个压缩目标文件。这是如何工作的非常简单。任何具有相同目标路径的文件对都将合并,并将压缩输出写入相同的目标文件。

以下文件配置设置将只写入两个压缩文件,而总共有五个源文件

../js/jquery.plugin.js ../js/main.min.js
../js/main.js ../js/main.min.js
../css/bootstrap.css ../css/main.min.css
../css/jquery.plugin.css ../css/main.min.css
../css/main.css ../css/main.min.css

上面将压缩两个名为 main.min.cssmain.min.js 的文件。文件将合并并按列表顺序写入目标文件。bootstrap.css 的来源将位于 main.min.css 的顶部,而 main.css 的样式将位于文件末尾。

LESS 支持

要在样式表中启用 LESS 语法支持,您首先需要将 LESS PHP 类导入到 Textpattern 中。首先下载 LESSPHP 并将 lessc.inc.php 上传到您的网站服务器。上传文件后,打开 Textpattern 的配置文件 config.php 并向其中添加以下行

include "/absolute/path/to/lessc.inc.php";

其中 /absolute/path/to/less.inc.php 是您上传的 LESS PHP 类文件的绝对路径。

调试和活动日志

当网站处于调试模式时,Rah_minify 将将日志和调试行写入 Textpattern 的 标签跟踪。查看跟踪可以了解为什么文件处理不正确。由 rah_minify 添加的行看起来如下

[rah_minify: main.min.css is up to date]

由 rah_minify 添加的每一行都适当地以 rah_minify: 开头。

感谢

变更日志

版本 0.1 – 即将发布

  • 首次发布。