diff --git a/app/Note.php b/app/Note.php index 5f03bc4b..fe574e33 100644 --- a/app/Note.php +++ b/app/Note.php @@ -6,6 +6,7 @@ use Normalizer; use Laravel\Scout\Searchable; use Jonnybarnes\IndieWeb\Numbers; use Illuminate\Database\Eloquent\Model; +use Jonnybarnes\EmojiA11y\EmojiModifier; use League\CommonMark\CommonMarkConverter; use Illuminate\Database\Eloquent\SoftDeletes; use Spatie\MediaLibrary\HasMedia\HasMediaTrait; @@ -119,11 +120,13 @@ class Note extends Model implements HasMedia public function getNoteAttribute($value) { $markdown = new CommonMarkConverter(); + $emoji = new EmojiModifier(); $html = $markdown->convertToHtml($value); $hcards = $this->makeHCards($html); $hashtags = $this->autoLinkHashtag($hcards); + $modified = $emoji->makeEmojiAccessible($hashtags); - return $hashtags; + return $modified; } /** diff --git a/composer.json b/composer.json index c97d5a86..d8375a83 100644 --- a/composer.json +++ b/composer.json @@ -24,7 +24,8 @@ "lcobucci/jwt": "^3.1", "sensiolabs/security-checker": "^4.0", "laravel/scout": "^1.1", - "pmatseykanets/laravel-scout-postgres": "^0.2.0" + "pmatseykanets/laravel-scout-postgres": "^0.2.0", + "jonnybarnes/emoji-a11y": "^0.1.1" }, "require-dev": { "fzaninotto/faker": "~1.4", diff --git a/composer.lock b/composer.lock index c05858af..6a9239b8 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "f01992db8f967fa62b1a66a60d43be59", + "content-hash": "2fde3e4238c4f285f6c6d2348a6d695c", "packages": [ { "name": "anahkiasen/underscore-php", @@ -1443,6 +1443,50 @@ ], "time": "2015-09-27T15:35:21+00:00" }, + { + "name": "jonnybarnes/emoji-a11y", + "version": "v0.1.1", + "source": { + "type": "git", + "url": "https://github.com/jonnybarnes/emoji-a11y.git", + "reference": "bb9d7427bdaab139d746de1c4273fea6ebc52206" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jonnybarnes/emoji-a11y/zipball/bb9d7427bdaab139d746de1c4273fea6ebc52206", + "reference": "bb9d7427bdaab139d746de1c4273fea6ebc52206", + "shasum": "" + }, + "require": { + "php": ">=7.0" + }, + "require-dev": { + "phpunit/phpunit": "~5.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Jonnybarnes\\EmojiA11y\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "CC0-1.0" + ], + "authors": [ + { + "name": "Jonny Barnes", + "email": "jonny@jonnybarnes.uk" + } + ], + "description": "Make emoji more accessible", + "keywords": [ + "a11y", + "accessibility", + "emoji" + ], + "time": "2017-02-02T00:20:12+00:00" + }, { "name": "jonnybarnes/indieweb", "version": "dev-master", diff --git a/database/seeds/NotesTableSeeder.php b/database/seeds/NotesTableSeeder.php index 152c10ab..c6688ecb 100644 --- a/database/seeds/NotesTableSeeder.php +++ b/database/seeds/NotesTableSeeder.php @@ -13,7 +13,7 @@ class NotesTableSeeder extends Seeder { factory(App\Note::class, 10)->create(); $noteWithPlace = App\Note::create([ - 'note' => 'Having a #beer at the local.', + 'note' => 'Having a #beer at the local. 🍺', 'tweet_id' => '123456789', ]); $place = App\Place::find(1);