vaersaagod/assetmate

保护你的资产,伙计!

安装: 634

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 4

分支: 1

开放问题: 0

类型:craft-plugin

3.0.0-beta.3 2024-02-24 12:16 UTC

README

保护你的资产,伙计!

Screenshot

要求

此插件需要Craft CMS 4.0.0+和PHP 8.0+。

安装

要安装插件,请按照以下说明操作

  1. 使用composer从项目目录中安装插件:composer require vaersaagod/assetmate
  2. 在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 设计。