|
3 | 3 | @include_once __DIR__ . '/vendor/autoload.php'; |
4 | 4 | @include_once __DIR__ . '/src/webp.php'; |
5 | 5 |
|
| 6 | +function shouldGenerateWebP($file) { |
| 7 | + return $file->kirby()->option('kirby3-webp', false); |
| 8 | +} |
| 9 | + |
| 10 | +function generateWebP($file) { |
| 11 | + (new WebP\Convert)->generateWebP($file); |
| 12 | +} |
| 13 | + |
| 14 | +function deleteWebPFiles($file) { |
| 15 | + $webpFile = dirname($file->root()) . '/' . $file->name() . '.webp'; |
| 16 | + $webpTxtFile = dirname($file->root()) . '/' . $file->name() . '.webp.txt'; |
| 17 | + deleteIfExist($webpFile); |
| 18 | + deleteIfExist($webpTxtFile); |
| 19 | +} |
| 20 | + |
| 21 | +function deleteIfExist($file) { |
| 22 | + if (F::exists($file)) { |
| 23 | + F::remove($file); |
| 24 | + } |
| 25 | +} |
| 26 | + |
6 | 27 | Kirby::plugin('felixhaeberle/kirby3-webp', [ |
7 | 28 | 'hooks' => [ |
8 | 29 | 'file.create:after' => function ($file) { |
9 | | - if ($this->option('kirby3-webp', false)) { |
10 | | - (new WebP\Convert)->generateWebP($file); |
| 30 | + if (shouldGenerateWebP($file)) { |
| 31 | + generateWebP($file); |
11 | 32 | } |
12 | 33 | }, |
13 | 34 | 'file.replace:after' => function ($newFile, $oldFile) { |
14 | | - if ($this->option('kirby3-webp', false)) { |
15 | | - (new WebP\Convert)->generateWebP($newFile); |
| 35 | + if (shouldGenerateWebP($newFile)) { |
| 36 | + generateWebP($newFile); |
16 | 37 | } |
17 | 38 | }, |
| 39 | + 'file.delete:after' => function ($file) { |
| 40 | + deleteWebPFiles($file); |
| 41 | + }, |
18 | 42 | ], |
19 | 43 | ]); |
0 commit comments