Open Graph генератор.
Привет, {username}!
В первую очередь, хочу сказать благодарность разработчику этого сайта и платформы. Мне даже сложно представить сколько сил ушло. У меня бы терпения не хватило =) Чувак, ты крут!
Хочу поделиться небольшим инструментом, который я разработал, чтобы упростить жизнь себе и, возможно, другим разработчикам.
Часто сталкивался с тем, что для каждого сайта(клинта) нужно создавать уникальное OG-изображение, чтобы оно красиво отображалось при шаринге в социальных сетях.
Пробовал разные библиотеки, но, опять же…использовать каждую из них для каких-то определённых задач…я считаю не логично.
Я написал простой генератор OG-изображений на PHP с использованием https://github.com/php-imagine/Imagine библтотеки . Он позволяет программно создавать изображения с заданным фоном, текстом и даже водяными знаками.
Основные возможности:
- Фон: можно использовать однотонный цвет или изображение.
- Текст: добавляйте текст с настройками шрифта, размера, цвета и выравнивания.
- Фон под текстом: добавляйте полупрозрачный фон под текст для лучшей читабельности.
- Водяные знаки: добавляйте логотипы или водяные знаки с настройками позиции и прозрачности.
Текст и водяной знак можно использовать многократною
<?php
require 'vendor/autoload.php';
use s3ny4\OgImage\OgImage;
use s3ny4\OgImage\OgBackground;
use s3ny4\OgImage\OgText;
// Создаем новый объект OgImage с размером 1200x630
$ogImage = new OgImage(1200, 630);
// Устанавливаем фон (можно использовать цвет или изображение)
$ogBackground = new OgBackground('#1e90ff'); // Синий фон
// Или использовать изображение:
// $ogBackground = new OgBackground('/path/to/background.jpg');
$ogImage->setBackground($ogBackground);
// Добавляем текст
$ogText = new OgText();
$ogText->setText('Добро пожаловать в мой блог!');
$ogText->setPosition('center', 'center');
$ogText->setColor('ffffff'); // Белый текст
$ogText->setSize(60);
$ogText->setBackground('000000', 50); // Полупрозрачный черный фон под текстом
$ogText->setPadding(20);
$ogImage->addText($ogText);
// (Необязательно) Добавляем водяной знак
// $ogWatermark = new OgWatermark();
// $ogWatermark->image('/path/to/logo.png');
// $ogWatermark->setPosition('bottom', 'right');
// $ogWatermark->setSize(100);
// $ogWatermark->setOpacity(80);
// $ogImage->addWatermark($ogWatermark);
// Рендерим и сохраняем изображение
$ogImage->render('output.png');
Всё это дело лежит на GitHub https://github.com/53ny4/og-image
Либо можно через composer:composer require 53ny4/og-image
Я буду рад любым отзывам, предложениям и улучшениям. Если у вас есть идеи или вы нашли баги, пожалуйста, создавайте issues или pull requests в репозитории. (можно и тут).
П.С. На GitHub версия 1.0.0, но это для начала, буду добавлять какие-то фичи со временем
На работе поставлю и посмотрю, полезный инструмент! Большое спасибо.