hdvinnie/laravel-joypixel-emojis

Laravel Joypixels 表情符号助手

v3.0.0 2024-03-13 15:40 UTC

This package is auto-updated.

Last update: 2024-09-13 16:55:00 UTC


README

Software License Packagist Packagist Downloads

Laravel 包,用于简化与 Joypixels 中的现代表情符号的工作。

安装

通过 Composer

$ composer require "hdvinnie/laravel-joypixel-emojis"
$ composer update

如果你的 Laravel 没有自动发现功能,或者你已禁用此功能,那么你需要在 config/app.php 文件中添加以下内容

将 ServiceProvider 添加到 config/app.php 文件的 providers 数组中

hdvinnie\LaravelJoyPixels\LaravelJoyPixelsServiceProvider::class,

将以下内容添加到 config/app.php 文件的 aliases 数组中

'LaravelJoyPixels' => hdvinnie\LaravelJoyPixels\LaravelJoyPixelsFacade::class,

配置

$ php artisan vendor:publish --tag=config --provider="hdvinnie\LaravelJoyPixels\LaravelJoyPixelsServiceProvider"

用法

LaravelJoyPixels::toShort($str); // - native unicode -> shortnames
LaravelJoyPixels::shortnameToImage($str); // - shortname -> images
LaravelJoyPixels::unicodeToImage($str); // - native unicode -> images
LaravelJoyPixels::toImage($str); // - native unicode + shortnames -> images (mixed input)

Blade(相当于 LaravelJoyPixels::toImage($str)

@joypixels(':smile:') -> 😀

@joypixels(':smile: ❤️') -> 😀❤️

🚨 输出不会被转义,因此在传递到 @joypixels 时请小心。

有关 toImage($str) 如何工作的更多详细信息,请参阅 https://github.com/Ranks/emojione/blob/master/examples/PHP.md

示例

你想让用户在评论中添加表情。当你保存评论时,你可能希望运行 LaravelJoyPixels::toShort($str) 以将 😄 和其他表情符号转换为 :smile: 等。

Comment::create([
  'content' => LaravelJoyPixels::toShort(request('content'))
]);

因此,如果某人留下一条评论 This is an awesome comment 😄🔥,则它将被保存为 This is an awesome comment :smile: :fire:

在你的视图中显示评论时,你可以使用

@joypixels($comment->content)

这将把 :smile:😄 转换为 emojione 等效的表情。

资源

默认情况下,它将使用 JSDelivr 中的资源。

记住在尝试发布任何资源之前运行此命令。

composer require joypixels/assets

如果你想自己提供资源,可以使用以下命令发布它们。请记住更新 config/joypixels.php

32/64/128 尺寸的 PNG 文件

$ php artisan vendor:publish --tag=public --provider="hdvinnie\LaravelJoyPixels\LaravelJoyPixelsServiceProvider"

config/joypixels.php 中指定本地路径。请记住在路径中指定你想要的尺寸(32/64/128)。

'imagePathPNG' => '/vendor/joypixels/png/64/',

精灵

如果你想使用精灵

$ php artisan vendor:publish --tag=sprites --provider="hdvinnie\LaravelJoyPixels\LaravelJoyPixelsServiceProvider"

config/joypixels.php 中启用精灵

'sprites' => true,
'spriteSize' => 32, // 32 or 64

将样式表添加到你的 HTML 中

<link rel="stylesheet" href="/vendor/joypixels/sprites/emojione-sprite-{{ config('emojione.spriteSize') }}.min.css"/>