orbital-flight/craft-delete-assets

通过移除未使用的资源来释放空间!

2.0.1 2023-12-15 12:11 UTC

This package is auto-updated.

Last update: 2024-09-16 13:52:38 UTC


README

通过移除未使用的资源来释放空间!

删除未使用资源是一个简单的插件,允许您通过一键删除所有未使用的资源来优化您的项目。

该插件会检测哪些资源仅在草稿或修订元素中使用,并提供了删除它们的选项。

该插件会检查关系表以确定资源是否被使用(相关联)。

此插件处于积极开发状态,并将包括即将到来的质量更新以及翻译。

分析

分析(也称为扫描)仅在插件部分启动*,因此即使项目中资源数量非常多,也不会影响您的项目性能。

当您访问插件页面时,将自动触发任何未分析的卷的扫描。插件还会检测自上次扫描以来特定卷中的资源数量是否已更改,这也会触发分析。

截至2.x版本,资产关系的变化不会自动检测(尚不支持),直到下一次分析才会显示。然而,这不会意外删除已使用的资源,因为任何清理过程都会从卷的新扫描开始。

您可以在插件设置中禁用自动扫描功能。

*请参阅以下“它会减慢我的项目吗?”

它会减慢我的项目吗?

该插件具有几个保护程序和例程,以确保其运行流畅。即使它会在您的卷中监视更改,该插件也会简单地将其标记为“过时”,以便稍后扫描(我们不希望在添加新资源时进行扫描)。

扫描仅从插件的专用部分运行,并且在没有您知道的情况下无法在其他地方进行。这些扫描可以手动启动,或者在卷标记为过时时自动触发。在后一种情况下,仅扫描过时的卷(您可以从插件设置中禁用自动扫描)。

唯一的例外是在您在新的卷中添加第一个资源时,在这种情况下,会执行微扫描以跟踪该卷。您仍然可以通过在插件设置中禁用自动扫描功能来避免此操作。

免责声明

该插件会检查关系表,因此它几乎在所有情况下都应该正常工作。

然而,尽管该插件已经在Craft、Craft Commerce和大多数典型Craft安装上进行了彻底测试,但它仍然涉及内容的硬删除,因此您应谨慎使用。

我们强烈建议您备份数据、资源和数据库,以防万一出现问题。

如果任何第三方插件或自定义代码使用您的卷中的资源,而未在Craft数据库中记录关系,您将*永久丢失它们。

此外,如果您要删除资源的卷与其他Craft安装(例如,一个测试安装与生产环境共享Amazon S3卷)共享,该插件将检查与从其中运行的项目关联的数据库中的关系。这意味着它可能会删除在其他安装(中)可能使用的资源。

要求

此插件需要Craft CMS 4.3.5或更高版本,以及PHP 8.0.2或更高版本。

安装

您可以从插件商店或使用Composer安装此插件。

从插件商店

转到项目控制面板中的插件商店,并搜索“删除未使用资源”。然后按“安装”。

使用Composer

打开您的终端并运行以下命令

# go to the project directory
cd /path/to/my-project.test

# tell Composer to load the plugin
composer require orbital-flight/craft-delete-assets

# tell Craft to install the plugin
./craft plugin/install delete-assets