Package Data | |
---|---|
Maintainer Username: | christofferok |
Maintainer Contact: | korvald@gmail.com (:Christoffer Korvald) |
Package Create Date: | 2017-02-16 |
Package Last Update: | 2023-02-02 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-12-30 03:01:57 |
Package Statistics | |
---|---|
Total Downloads: | 109,186 |
Monthly Downloads: | 527 |
Daily Downloads: | 4 |
Total Stars: | 141 |
Total Watchers: | 5 |
Total Forks: | 20 |
Total Open Issues: | 2 |
Laravel package to make it easier working with the gorgeous emojis from EmojiOne.
Remember to read the EmojiOne Free License and provide the appropriate attribution. Or buy a premium license
"christofferok/laravel-emojione": "^4.0"
and run composer update
config/emojione.php
(if you have one) with 'emojiVersion' => '4.0'
If you are serving the assets yourself then you need to do the following things:
"emojione/assets": "^4.0"
and run composer update
config/emojione.php
with the correct paths and versionsEmojiOne made a lot of changes in their licensing and which resources are provided in the free license. v2 code is still available in the emojione-v2 branch. If you are upgrading this package, be aware that the SVG assets are not available anymore.
Via Composer
$ composer require christofferok/laravel-emojione
If you are on Laravel 5.4 or lower you need to add the following to your config/app.php
file:
Add the ServiceProvider to the providers array in config/app.php
ChristofferOK\LaravelEmojiOne\LaravelEmojiOneServiceProvider::class,
Add this to the aliases array in config/app.php
'LaravelEmojiOne' => ChristofferOK\LaravelEmojiOne\LaravelEmojiOneFacade::class,
Config:
$ php artisan vendor:publish --tag=config --provider="ChristofferOK\LaravelEmojiOne\LaravelEmojiOneServiceProvider"
LaravelEmojiOne::toShort($str); // - native unicode -> shortnames
LaravelEmojiOne::shortnameToImage($str); // - shortname -> images
LaravelEmojiOne::unicodeToImage($str); // - native unicode -> images
LaravelEmojiOne::toImage($str); // - native unicode + shortnames -> images (mixed input)
Blade (equivalent to LaravelEmojiOne::toImage($str)
):
@emojione(':smile:')
->
@emojione(':smile: ❤️')
->
🚨 The output is not escaped so be careful with what you pass into @emojione
.
More details about how toImage($str)
works can be found at https://github.com/Ranks/emojione/blob/master/examples/PHP.md
You want to let users put emoji a comment.
When you are saving a comment, you might want to run the content through LaravelEmojiOne::toShort($str)
to convert 😄
and other emoji to :smile:
etc.
Comment::create([
'content' => LaravelEmojiOne::toShort(request('content'))
]);
So if someone leaves a comment like This is an awesome comment 😄🔥
it will be saved as This is an awesome comment :smile: :fire:
In your view where you display your comments you can use
@emojione($comment->content)
and that will convert :smile:
and 😄
to the emojione equivalent.
By default it will use the assets from JSDelivr.
Remember to run this before trying to publish any of the assets:
composer require emojione/assets
If you want to serve the assets yourself you can publish them with the following commands. Remember to update config/emojione.php
PNG files in sizes 32/64/128:
$ php artisan vendor:publish --tag=public --provider="ChristofferOK\LaravelEmojiOne\LaravelEmojiOneServiceProvider"
In config/emojione.php
specify the local path. Remember to specify which size you want in the path (32/64/128).
'imagePathPNG' => '/vendor/emojione/png/64/',
If you want to use sprites:
$ php artisan vendor:publish --tag=sprites --provider="ChristofferOK\LaravelEmojiOne\LaravelEmojiOneServiceProvider"
In config/emojione.php
enable sprites:
'sprites' => true,
'spriteSize' => 32, // 32 or 64
Add the stylesheet to your HTML:
<link rel="stylesheet" href="/vendor/emojione/sprites/emojione-sprite-{{ config('emojione.spriteSize') }}.min.css"/>
Remember to read the EmojiOne Free License and provide the appropriate attribution. Or buy a premium license