LaravelPackages.net
Acme Inc.
Toggle sidebar
sloyakuza/laravel-joypixel-emojis

Laravel helper for Joypixels emojis

1.773
0
v2.0.0
About sloyakuza/laravel-joypixel-emojis

sloyakuza/laravel-joypixel-emojis is a Laravel package for laravel helper for joypixels emojis. It currently has 0 GitHub stars and 1.773 downloads on Packagist (latest version v2.0.0). Install it with composer require sloyakuza/laravel-joypixel-emojis. Discover more Laravel packages by sloyakuza or browse all Laravel packages to compare alternatives.

Last updated

laravel-joypixel-emojis ❀️

Software License Packagist Packagist Downloads

Laravel package to make it easier working with the modern emojis from Joypixels.

installation

Via Composer

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

If you are on a Laravel that does not have Auto Discovery or you have it disabled then you need to add the following to your config/app.php file:

Add the ServiceProvider to the providers array in config/app.php

sloyakuza\LaravelJoyPixels\LaravelJoyPixelsServiceProvider::class,

Add this to the aliases array in config/app.php

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

Config:

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

Usage

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 (equivalent to LaravelJoyPixels::toImage($str)):

@joypixels(':smile:') -> πŸ˜€

@joypixels(':smile: ❀️') -> πŸ˜€β€οΈ

🚨 The output is not escaped so be careful with what you pass into @joypixels.

More details about how toImage($str) works can be found at https://github.com/Ranks/emojione/blob/master/examples/PHP.md

Example

You want to let users put emoji a comment. When you are saving a comment, you might want to run the content through LaravelJoyPixels::toShort($str) to convert πŸ˜„ and other emoji to :smile: etc.

Comment::create([
  'content' => LaravelJoyPixels::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

@joypixels($comment->content)

and that will convert :smile: and πŸ˜„ to the emojione equivalent.

Assets

By default it will use the assets from JSDelivr.

Remember to run this before trying to publish any of the assets:

composer require joypixels/assets

If you want to serve the assets yourself you can publish them with the following commands. Remember to update config/joypixels.php

PNG files in sizes 32/64/128:

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

In config/joypixels.php specify the local path. Remember to specify which size you want in the path (32/64/128).

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

Sprites

If you want to use sprites:

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

In config/joypixels.php enable sprites:

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

Add the stylesheet to your HTML:

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