定制 aniftyco/laravel-og-image 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

aniftyco/laravel-og-image

Composer 安装命令:

composer require aniftyco/laravel-og-image

包简介

Open Graph Image Generator for Laravel

README 文档

README

Warning

This package is not ready for general consumption

Requirements

Requires PHP 8.1+ and a Chrome/Chromium 65+ executable.

Installation

You can install the package via Composer:

composer require aniftyco/laravel-og-image:dev-master

Usage

There are multiple ways you can utilize this.

GET /og-image Route

This package registers a GET route to /og-image which accepts a varadic amount of parameters where only template is required and special. This tells the image generator what template to use relavent to resources/views/og-image/.

Take this example:

https://example.com/og-image?template=post&title=You%20Can%20Just%20Do%20Things

It is telling the generator to use the post template and pass the $title property set to You Can Just Do Things.

og_image() Helper

Using the og_image() helper you have more control over what happens with the OG Images generated. This helper accepts a template and an array of data to pass to the view.

Returning the OG image as a response:

Route::get('/{user}.png', function(User $user) {
    return og_image('user', compact('user'));
});

Saving the OG image to a disk:

$image = og_image('user', compact('user'));

$image->storeAs('og-images', ['disk' => 's3']);

Writing templates with Blade

Your images are generated using Blade templates, using the following example template in resources/views/og-image/example.blade.php:

<!DOCTYPE html>
<html lang="en">

  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    @vite(['resources/css/app.css'])
  </head>

  <body class="flex h-screen flex-col bg-[#F8F2E6]">
    <div class="shrink-0 px-20 pt-24 text-gray-900">
      <h1 class="text-[2.5rem] font-extrabold leading-[1.2]">
        {{ $name }}
      </h1>
    </div>
    <div class="flex grow items-center px-20">
      <h1 class="text-[5rem] font-extrabold leading-[1.2] text-gray-900">
        {{ $text }}
      </h1>
    </div>
  </body>

</html>

Then if you make a request to /og-image?template=example&name=OG%20Image%20Generator&text=The%20fastest%20way%20to%20create%20open%20graph%20images%20for%20Laravel! you will get the following image:

Contributing

Thank you for considering contributing to the Attachments for Laravel package! You can read the contribution guide here.

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 72
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 16
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 16
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-10-24