hdvinnie / laravel-joypixel-emojis
Laravel Joypixels 表情符号助手
Requires
- php: ^7.4|^8.0
- illuminate/support: ^6|^7|^8|^9|^10|^11
- joypixels/emoji-toolkit: ^6
Suggests
- joypixels/assets: If you want to serve the emojione assets yourself
README
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
时请小心。
有关 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"/>