fork/craft-altify

使用可选的不同服务生成图像的alt文本。

安装: 0

依赖项: 0

建议者: 0

安全: 0

星标: 9

关注者: 6

分支: 0

开放问题: 0

类型:craft-plugin

v1.0.0 2024-06-14 12:09 UTC

This package is auto-updated.

Last update: 2024-09-14 12:42:54 UTC


README

Fork Logo

Craft CMS的Alt文本生成插件

使用可选的不同服务生成图像的alt文本。

需求

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

为了使用alt文本生成服务,您需要根据所使用的认证方法获取API密钥或其他凭证。

安装

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

从插件商店

转到您项目控制面板中的插件商店,搜索“alt”,然后按“安装”。

使用Composer

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

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

# tell Composer to load the plugin
composer require fork/craft-altify

# tell Craft to install the plugin
./craft plugin/install altify

使用方法

默认情况下,此插件通过Hugging Face推理API使用BLIP模型。您需要API密钥才能使用它。建议通过环境变量设置,但也可以直接在插件设置中设置。

要使用其他模型,请转到插件设置并选择其中之一。您也可以通过环境变量设置模型。这可以是类名,或以下名称之一。

开箱即用的可用模型

开箱即用的可用翻译服务

实现自己的alt文本生成器和翻译器

您可以通过实现接口fork\alt\connectors\alttextgeneration\AltTextGeneratorInterface并使用如下方式通过EVENT_REGISTER_GENERATORS事件注册来自定义alt文本生成服务

use fork\altify\events\RegisterGeneratorsEvent;
use fork\altify\services\Generator;

Event::on(
    Generator::class,
    Generator::EVENT_REGISTER_GENERATORS,
    function (RegisterGeneratorsEvent $event) {
        $event->generators['myGenerator'] = MyGenerator::class;
    }
);

对于翻译服务也是如此。实现fork\altify\connectors\translation\TranslatorInterface并按如下方式注册您的翻译器

use fork\altify\events\RegisterTranslatorsEvent;
use fork\altify\services\Translator;

Event::on(
    Translator::class,
    Translator::EVENT_REGISTER_TRANSLATORS,
    function (RegisterTranslatorsEvent $event) {
        $event->translators['myTranslator'] = MyTranslator::class;
    }
);

待办事项

  • 使翻译服务基于站点以尊重语言
  • 实现更多alt文本生成服务
  • 可能实现一个自托管的alt文本生成服务
  • 可能实现一个使用TensorFlow JS或类似技术的浏览器中的alt文本生成服务
  • 实现一个alt文本生成器注册事件
  • 在GitHub上公开发布,在Packagist和Craft插件商店上发布