All checks were successful
Deploy / Deploy to Production (push) Successful in 22s
- Ajout de tobimori/kirby-seo via Composer
- snippet('seo/head') dans header.php (remplace les meta manuels)
- snippet('seo/schemas') dans footer.php pour JSON-LD
- Onglet SEO ajouté dans site.yml et tous les blueprints de pages
- Configuration SEO dans config.php (sitemap, robots, canonicalBase TODO)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
35 lines
613 B
PHP
35 lines
613 B
PHP
<?php
|
|
|
|
namespace tobimori\Seo\Jobs;
|
|
|
|
use Kirby\Cms\App;
|
|
use tobimori\Queues\Job;
|
|
use tobimori\Seo\Field\AltTextField;
|
|
|
|
/**
|
|
* Queue job for generating alt text via AI on file upload
|
|
*/
|
|
class GenerateAltTextJob extends Job
|
|
{
|
|
public function type(): string
|
|
{
|
|
return 'seo:generate-alt-text';
|
|
}
|
|
|
|
public function name(): string
|
|
{
|
|
return 'Generate Alt Text';
|
|
}
|
|
|
|
public function handle(): void
|
|
{
|
|
$fileId = $this->payload()['fileId'];
|
|
$file = App::instance()->file($fileId);
|
|
|
|
if ($file === null) {
|
|
throw new \Exception("File not found: {$fileId}");
|
|
}
|
|
|
|
AltTextField::generateForFile($file);
|
|
}
|
|
}
|