vaersaagod / assetmate
保护你的资产,伙计!
Requires
- php: ^8.2
- craftcms/cms: ^5.0.0-beta.2
This package is auto-updated.
Last update: 2024-09-24 13:30:46 UTC
README
保护你的资产,伙计!
要求
此插件需要Craft CMS 4.0.0+和PHP 8.0+。
安装
要安装插件,请按照以下说明操作
- 使用composer从项目目录中安装插件:
composer require vaersaagod/assetmate
。 - 在Craft控制面板的“设置”→“插件”下安装插件,或从命令行通过
./craft install/plugin assetmate
安装。
配置
可以通过在Craft配置文件夹中创建一个名为assetmate.php
的文件来配置AssetMate,并根据需要覆盖设置。
<?php use craft\elements\Asset; return [ 'volumes' => [ '*' => [ 'validation' => [ 'size' => [ 'max' => '20M', ] ] ], 'images' => [ 'validation' => [ 'extensions' => ['gif', 'jpg', 'jpeg', 'png'], 'size' => [ 'max' => '2M', ], 'dimensions' => [ 'maxWidth' => 2200, 'maxHeight' => 2200, 'minWidth' => 200, 'minHeight' => 200, ], // This makes maxWidth and maxHeight redundant in `dimensions` (and is the default), // just added it for reference. 'autoValidateResizeDimensions' => true ], 'resize' => [ 'maxWidth' => 2200, 'maxHeight' => 2200, 'quality' => 90, ], 'convertUnmanipulable' => true, ], 'illustrations' => [ 'validation' => [ 'extensions' => ['svg'], 'size' => [ 'max' => '1M', 'min' => '50K', ], ] ], 'videos' => [ 'validation' => [ 'extensions' => ['mp4'], 'size' => [ 'max' => '12M', ], ], ], ] ];
控制台命令
AssetMate添加了几个与资产相关的CLI实用命令
清除“未使用”的资产
一个“未使用”的资产是指在任何元素关系中都不是目标的资产(即没有源关系),并且也未在任何数据库内容表的引用标签中找到(这意味着它未链接到或用于Redactor/CKEditor/LinkMate字段)。
要删除所有未使用的资产
php craft assetmate/purge
选项
--volume
(字符串,默认 '*')
仅清除特定卷中的资产,例如php craft assetmate/purge --volume=images
--kind
(字符串,默认 '*')
仅清除具有特定文件类型的资产,例如php craft assetmate/purge --kind=image
--lastUpdatedBefore
(字符串|整数|布尔值,默认 'P30D')
默认情况下,AssetMate不会清除30天前日期更新时间戳晚于的资产。此选项可以设置为整数(即秒数)、有效的PHP日期间隔字符串或false
以完全禁用dateUpdated
检查。
--searchContentTables
(布尔值,默认 true
)
除了在relations
表中检查没有任何源元素关系的资产之外,AssetMate还将搜索内容表以确保找到的资产没有被文本列(例如Redactor或CK Editor中的引用标签)引用。如果有很多资产和/或内容,这个过程可能需要很长时间,所以如果您确信文本字段中没有资产引用,可以将此选项设置为false
以完全跳过内容表搜索。
--searchContentTablesBatchSize
(整数,默认 500
)
在查询没有任何源元素关系的资产之后,AssetMate将在内容表的文本列中搜索这些资产。为了加快这个漫长的过程,ID被分批处理。如果您遇到PDO异常“正则表达式匹配超时”,请考虑将批处理大小设置为更低的值。
--deleteEmptyFolders
(布尔值,默认 true
)
如果为true
,AssetMate将在清除未使用资产后扫描并删除任何空文件夹。如果使用了--volume
选项,则仅删除该卷中的空文件夹。
清除空文件夹
一个空文件夹是指不包含任何资产(或任何包含资产的子文件夹)的文件夹。
要删除所有空文件夹
php craft assetmate/purge/folders
选项
--volume
(字符串,默认 '*')
仅删除特定卷中的空文件夹,例如php craft assetmate/purge/folders --volume=images
价格、许可证和支持
该插件在MIT许可证下发布。它是为Værsågod和他的朋友们制作的,不提供支持。提交的问题如果能够解决问题,则会得到解决。
变更日志
查看CHANGELOG.MD。
鸣谢
由 Værsågod 提供。
图标由 Freepik from Flaticon 设计。