Commit 4f8a4aa4 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge pull request #1384 from tsigo/emoji

Emoji!
parents 7c0a1068 2faa4bba
app/assets/images/emoji/+1.png

5.01 KB

app/assets/images/emoji/-1.png

4.95 KB

app/assets/images/emoji/100.png

3.22 KB

app/assets/images/emoji/109.png

3.61 KB

app/assets/images/emoji/1234.png

4.64 KB

app/assets/images/emoji/8ball.png

4.04 KB

app/assets/images/emoji/a.png

3.08 KB

app/assets/images/emoji/ab.png

3.77 KB

app/assets/images/emoji/abc.png

4.15 KB

app/assets/images/emoji/abcd.png

4.37 KB

app/assets/images/emoji/accept.png

4.62 KB

app/assets/images/emoji/aerial_tramway.png

3.41 KB

app/assets/images/emoji/airplane.png

4.63 KB

app/assets/images/emoji/alarm_clock.png

6.9 KB

app/assets/images/emoji/alien.png

5.33 KB

app/assets/images/emoji/ambulance.png

3.62 KB

app/assets/images/emoji/anchor.png

4.37 KB

app/assets/images/emoji/angel.png

6.52 KB

app/assets/images/emoji/anger.png

3.01 KB

app/assets/images/emoji/angry.png

4.92 KB

app/assets/images/emoji/ant.png

2.78 KB

app/assets/images/emoji/apple.png

5.5 KB

app/assets/images/emoji/aquarius.png

4.98 KB

app/assets/images/emoji/aries.png

4.24 KB

app/assets/images/emoji/arrow_backward.png

3.11 KB

app/assets/images/emoji/arrow_double_down.png

3.1 KB

app/assets/images/emoji/arrow_double_up.png

3.53 KB

app/assets/images/emoji/arrow_down.png

2.94 KB

app/assets/images/emoji/arrow_down_small.png

2.87 KB

app/assets/images/emoji/arrow_forward.png

3.13 KB

app/assets/images/emoji/arrow_heading_down.png

3.44 KB

app/assets/images/emoji/arrow_heading_up.png

3.44 KB

app/assets/images/emoji/arrow_left.png

2.97 KB

app/assets/images/emoji/arrow_lower_left.png

3.26 KB

app/assets/images/emoji/arrow_lower_right.png

3.26 KB

app/assets/images/emoji/arrow_right.png

2.95 KB

app/assets/images/emoji/arrow_right_hook.png

3.63 KB

app/assets/images/emoji/arrow_up.png

3 KB

app/assets/images/emoji/arrow_up_down.png

3.46 KB

app/assets/images/emoji/arrow_up_small.png

3.12 KB

app/assets/images/emoji/arrow_upper_left.png

3.15 KB

app/assets/images/emoji/arrow_upper_right.png

3.16 KB

app/assets/images/emoji/arrows_clockwise.png

1.37 KB

app/assets/images/emoji/arrows_counterclockwise.png

4.71 KB

app/assets/images/emoji/art.png

6.59 KB

app/assets/images/emoji/articulated_lorry.png

2.87 KB

app/assets/images/emoji/astonished.png

5.9 KB

app/assets/images/emoji/atm.png

3.98 KB

app/assets/images/emoji/b.png

2.95 KB

app/assets/images/emoji/baby.png

5.78 KB

app/assets/images/emoji/baby_bottle.png

4.36 KB

app/assets/images/emoji/baby_chick.png

3.87 KB

app/assets/images/emoji/baby_symbol.png

2.9 KB

app/assets/images/emoji/baggage_claim.png

3.42 KB

app/assets/images/emoji/balloon.png

2.25 KB

app/assets/images/emoji/ballot_box_with_check.png

1.79 KB

app/assets/images/emoji/bamboo.png

4.56 KB

app/assets/images/emoji/banana.png

3.82 KB

app/assets/images/emoji/bangbang.png

1.35 KB

app/assets/images/emoji/bank.png

5.45 KB

app/assets/images/emoji/bar_chart.png

2.4 KB

app/assets/images/emoji/barber.png

4.15 KB

app/assets/images/emoji/baseball.png

5.89 KB

app/assets/images/emoji/basketball.png

6.24 KB

app/assets/images/emoji/bath.png

3.13 KB

app/assets/images/emoji/bathtub.png

2.72 KB

app/assets/images/emoji/battery.png

3.72 KB

app/assets/images/emoji/bear.png

5.43 KB

app/assets/images/emoji/beer.png

5.95 KB

app/assets/images/emoji/beers.png

6.44 KB

app/assets/images/emoji/beetle.png

5.13 KB

app/assets/images/emoji/beginner.png

2.7 KB

app/assets/images/emoji/bell.png

4.75 KB

app/assets/images/emoji/bento.png

5.6 KB

app/assets/images/emoji/bicyclist.png

6.33 KB

app/assets/images/emoji/bike.png

4.61 KB

app/assets/images/emoji/bikini.png

3.8 KB

app/assets/images/emoji/bird.png

4.76 KB

app/assets/images/emoji/birthday.png

5.28 KB

app/assets/images/emoji/black_circle.png

2.31 KB

app/assets/images/emoji/black_joker.png

3.79 KB

app/assets/images/emoji/black_nib.png

2.3 KB

app/assets/images/emoji/black_square.png

1.3 KB

app/assets/images/emoji/blossom.png

4.13 KB

app/assets/images/emoji/blowfish.png

3.66 KB

app/assets/images/emoji/blue_book.png

4.97 KB

app/assets/images/emoji/blue_car.png

3.99 KB

app/assets/images/emoji/blue_heart.png

4 KB

app/assets/images/emoji/blush.png

5.07 KB

app/assets/images/emoji/boar.png

4.73 KB

app/assets/images/emoji/boat.png

3.74 KB

app/assets/images/emoji/bomb.png

5.09 KB

app/assets/images/emoji/book.png

5.91 KB

app/assets/images/emoji/bookmark.png

4.59 KB

app/assets/images/emoji/bookmark_tabs.png

3.09 KB

app/assets/images/emoji/books.png

6.39 KB

app/assets/images/emoji/boot.png

3.25 KB

app/assets/images/emoji/bouquet.png

6.75 KB

app/assets/images/emoji/bow.png

5.02 KB

app/assets/images/emoji/bowling.png

4.09 KB

app/assets/images/emoji/bowtie.png

6.33 KB

app/assets/images/emoji/boy.png

5.81 KB

app/assets/images/emoji/bread.png

6.07 KB

app/assets/images/emoji/bride_with_veil.png

8.32 KB

app/assets/images/emoji/bridge_at_night.png

5.02 KB

app/assets/images/emoji/briefcase.png

2.63 KB

app/assets/images/emoji/broken_heart.png

4.02 KB

app/assets/images/emoji/bug.png

5.81 KB

app/assets/images/emoji/bulb.png

4.38 KB

app/assets/images/emoji/bullettrain_front.png

4.88 KB

app/assets/images/emoji/bullettrain_side.png

3.75 KB

app/assets/images/emoji/bus.png

3.97 KB

app/assets/images/emoji/busstop.png

1.64 KB

app/assets/images/emoji/bust_in_silhouette.png

1.96 KB

app/assets/images/emoji/busts_in_silhouette.png

2.95 KB

app/assets/images/emoji/cactus.png

4.4 KB

app/assets/images/emoji/cake.png

5.99 KB

app/assets/images/emoji/calendar.png

2.85 KB

app/assets/images/emoji/calling.png

3.94 KB

app/assets/images/emoji/camel.png

4.38 KB

app/assets/images/emoji/camera.png

4.55 KB

app/assets/images/emoji/cancer.png

5.26 KB

app/assets/images/emoji/candy.png

4.4 KB

app/assets/images/emoji/capital_abcd.png

5.02 KB

app/assets/images/emoji/capricorn.png

4.56 KB

app/assets/images/emoji/car.png

4.18 KB

app/assets/images/emoji/card_index.png

3.66 KB

app/assets/images/emoji/carousel_horse.png

5.75 KB

app/assets/images/emoji/cat.png

5.85 KB

app/assets/images/emoji/cat2.png

5.59 KB

app/assets/images/emoji/cd.png

6.56 KB

app/assets/images/emoji/chart.png

4.23 KB

app/assets/images/emoji/chart_with_downwards_trend.png

2.84 KB

app/assets/images/emoji/chart_with_upwards_trend.png

2.87 KB

app/assets/images/emoji/checkered_flag.png

1.64 KB

app/assets/images/emoji/cherries.png

5.47 KB

app/assets/images/emoji/cherry_blossom.png

7.01 KB

app/assets/images/emoji/chestnut.png

5.74 KB

app/assets/images/emoji/chicken.png

3.89 KB

app/assets/images/emoji/children_crossing.png

3.38 KB

app/assets/images/emoji/chocolate_bar.png

5.13 KB

app/assets/images/emoji/christmas_tree.png

4.61 KB

app/assets/images/emoji/church.png

4.54 KB

app/assets/images/emoji/cinema.png

3.49 KB

app/assets/images/emoji/circus_tent.png

4.57 KB

app/assets/images/emoji/city_sunrise.png

4.21 KB

app/assets/images/emoji/city_sunset.png

3.75 KB

app/assets/images/emoji/cl.png

3.41 KB

app/assets/images/emoji/clap.png

6.94 KB

app/assets/images/emoji/clapper.png

4.09 KB

app/assets/images/emoji/clipboard.png

4.55 KB

app/assets/images/emoji/clock1.png

2.53 KB

app/assets/images/emoji/clock10.png

2.53 KB

app/assets/images/emoji/clock1030.png

2.8 KB

app/assets/images/emoji/clock11.png

2.53 KB

app/assets/images/emoji/clock1130.png

2.79 KB

app/assets/images/emoji/clock12.png

2.45 KB

app/assets/images/emoji/clock1230.png

2.73 KB

app/assets/images/emoji/clock130.png

2.78 KB

app/assets/images/emoji/clock2.png

2.53 KB

app/assets/images/emoji/clock230.png

2.79 KB

app/assets/images/emoji/clock3.png

2.43 KB

app/assets/images/emoji/clock330.png

2.67 KB

app/assets/images/emoji/clock4.png

2.56 KB

app/assets/images/emoji/clock430.png

2.78 KB

app/assets/images/emoji/clock5.png

2.56 KB

app/assets/images/emoji/clock530.png

2.77 KB

app/assets/images/emoji/clock6.png

2.52 KB

app/assets/images/emoji/clock630.png

2.67 KB

app/assets/images/emoji/clock7.png

2.55 KB

app/assets/images/emoji/clock730.png

2.75 KB

app/assets/images/emoji/clock8.png

2.54 KB

app/assets/images/emoji/clock830.png

2.78 KB

app/assets/images/emoji/clock9.png

2.43 KB

app/assets/images/emoji/clock930.png

2.68 KB

app/assets/images/emoji/closed_book.png

4.73 KB

app/assets/images/emoji/closed_lock_with_key.png

5.57 KB

app/assets/images/emoji/closed_umbrella.png

3.78 KB

app/assets/images/emoji/cloud.png

3.77 KB

app/assets/images/emoji/clubs.png

1.65 KB

app/assets/images/emoji/cn.png

3.55 KB

app/assets/images/emoji/cocktail.png

2.88 KB

app/assets/images/emoji/coffee.png

4.21 KB

app/assets/images/emoji/cold_sweat.png

5.83 KB

app/assets/images/emoji/collision.png

3.69 KB

app/assets/images/emoji/computer.png

1.67 KB

app/assets/images/emoji/confetti_ball.png

5.39 KB

app/assets/images/emoji/confounded.png

5.72 KB

app/assets/images/emoji/congratulations.png

4.77 KB

app/assets/images/emoji/construction.png

3.61 KB

app/assets/images/emoji/construction_worker.png

6.05 KB

app/assets/images/emoji/convenience_store.png

3.98 KB

app/assets/images/emoji/cookie.png

7.96 KB

app/assets/images/emoji/cool.png

4.08 KB

app/assets/images/emoji/cop.png

6.97 KB

app/assets/images/emoji/copyright.png

1.54 KB

app/assets/images/emoji/corn.png

6.54 KB

app/assets/images/emoji/couple.png

7.44 KB

app/assets/images/emoji/couple_with_heart.png

7.2 KB

app/assets/images/emoji/couplekiss.png

7.05 KB

app/assets/images/emoji/cow.png

5.61 KB

app/assets/images/emoji/cow2.png

5.18 KB

app/assets/images/emoji/credit_card.png

2.59 KB

app/assets/images/emoji/crocodile.png

5.98 KB

app/assets/images/emoji/crossed_flags.png

3.92 KB

app/assets/images/emoji/crown.png

5.52 KB

app/assets/images/emoji/cry.png

5.57 KB

app/assets/images/emoji/crying_cat_face.png

6.53 KB

app/assets/images/emoji/crystal_ball.png

6.09 KB

app/assets/images/emoji/cupid.png

5.29 KB

app/assets/images/emoji/curly_loop.png

1.23 KB

app/assets/images/emoji/currency_exchange.png

1.91 KB

app/assets/images/emoji/curry.png

5.21 KB

app/assets/images/emoji/custard.png

5.67 KB

app/assets/images/emoji/customs.png

3.81 KB

app/assets/images/emoji/cyclone.png

4.78 KB

app/assets/images/emoji/dancer.png

3.65 KB

app/assets/images/emoji/dancers.png

7.73 KB

app/assets/images/emoji/dango.png

4.34 KB

app/assets/images/emoji/dart.png

5.33 KB

app/assets/images/emoji/dash.png

5.32 KB

app/assets/images/emoji/date.png

2.91 KB

app/assets/images/emoji/de.png

2.58 KB

app/assets/images/emoji/deciduous_tree.png

7.2 KB

app/assets/images/emoji/department_store.png

5.04 KB

app/assets/images/emoji/diamond_shape_with_a_dot_inside.png

5.56 KB

app/assets/images/emoji/diamonds.png

2.72 KB

app/assets/images/emoji/disappointed.png

4.65 KB

app/assets/images/emoji/dizzy.png

2.97 KB

app/assets/images/emoji/dizzy_face.png

6.13 KB

app/assets/images/emoji/do_not_litter.png

5.15 KB

app/assets/images/emoji/dog.png

5.81 KB

app/assets/images/emoji/dog2.png

5.79 KB

app/assets/images/emoji/dollar.png

4.51 KB

app/assets/images/emoji/dolls.png

6.97 KB

app/assets/images/emoji/dolphin.png

4.24 KB

app/assets/images/emoji/door.png

3.23 KB

app/assets/images/emoji/doughnut.png

5.09 KB

app/assets/images/emoji/dragon.png

7.64 KB

app/assets/images/emoji/dragon_face.png

6.58 KB

app/assets/images/emoji/dress.png

3.55 KB

app/assets/images/emoji/dromedary_camel.png

5.02 KB

app/assets/images/emoji/droplet.png

3.2 KB

app/assets/images/emoji/dvd.png

6.83 KB

app/assets/images/emoji/e-mail.png

2.08 KB

app/assets/images/emoji/ear.png

4.23 KB

app/assets/images/emoji/ear_of_rice.png

4.65 KB

app/assets/images/emoji/earth_africa.png

7 KB

app/assets/images/emoji/earth_americas.png

6.87 KB

app/assets/images/emoji/earth_asia.png

7.13 KB

app/assets/images/emoji/egg.png

5.09 KB

app/assets/images/emoji/eggplant.png

4.56 KB

app/assets/images/emoji/eight.png

3.75 KB

app/assets/images/emoji/eight_pointed_black_star.png

3.21 KB

app/assets/images/emoji/eight_spoked_asterisk.png

3.92 KB

app/assets/images/emoji/electric_plug.png

2.75 KB

app/assets/images/emoji/elephant.png

4.97 KB

app/assets/images/emoji/email.png

2.63 KB

app/assets/images/emoji/end.png

1.44 KB

app/assets/images/emoji/envelope.png

1.62 KB

app/assets/images/emoji/es.png

4.2 KB

app/assets/images/emoji/euro.png

3.85 KB

app/assets/images/emoji/european_castle.png

5.3 KB

app/assets/images/emoji/european_post_office.png

4.7 KB

app/assets/images/emoji/evergreen_tree.png

4.81 KB

app/assets/images/emoji/exclamation.png

1.15 KB

app/assets/images/emoji/eyeglasses.png

4.81 KB

app/assets/images/emoji/eyes.png

4.29 KB

app/assets/images/emoji/facepunch.png

4.76 KB

app/assets/images/emoji/factory.png

5.43 KB

app/assets/images/emoji/fallen_leaf.png

4.78 KB

app/assets/images/emoji/family.png

7.04 KB

app/assets/images/emoji/fast_forward.png

3.03 KB

app/assets/images/emoji/fax.png

4.54 KB

app/assets/images/emoji/fearful.png

5.47 KB

app/assets/images/emoji/feelsgood.png

1.12 KB

app/assets/images/emoji/feet.png

1.49 KB

app/assets/images/emoji/ferris_wheel.png

6.07 KB

app/assets/images/emoji/file_folder.png

3.92 KB

app/assets/images/emoji/finnadie.png

1.16 KB

app/assets/images/emoji/fire.png

3.79 KB

app/assets/images/emoji/fire_engine.png

4.75 KB

app/assets/images/emoji/fireworks.png

6.12 KB

app/assets/images/emoji/first_quarter_moon.png

5.83 KB

app/assets/images/emoji/first_quarter_moon_with_face.png

4.18 KB

app/assets/images/emoji/fish.png

4.61 KB

app/assets/images/emoji/fish_cake.png

5.68 KB

app/assets/images/emoji/fishing_pole_and_fish.png

4.37 KB

app/assets/images/emoji/fist.png

5.74 KB

app/assets/images/emoji/five.png

3.51 KB

app/assets/images/emoji/flags.png

5.98 KB

app/assets/images/emoji/flashlight.png

4.91 KB

app/assets/images/emoji/floppy_disk.png

3.14 KB

app/assets/images/emoji/flower_playing_cards.png

3.35 KB

app/assets/images/emoji/flushed.png

5.71 KB

app/assets/images/emoji/foggy.png

4.51 KB

app/assets/images/emoji/football.png

6.55 KB

app/assets/images/emoji/fork_and_knife.png

3.52 KB

app/assets/images/emoji/fountain.png

4.97 KB

app/assets/images/emoji/four.png

3.1 KB

app/assets/images/emoji/four_leaf_clover.png

5.85 KB

app/assets/images/emoji/fr.png

3.32 KB

app/assets/images/emoji/free.png

3.52 KB

app/assets/images/emoji/fried_shrimp.png

7.37 KB

app/assets/images/emoji/fries.png

6.25 KB

app/assets/images/emoji/frog.png

4.71 KB

app/assets/images/emoji/fuelpump.png

4.2 KB

app/assets/images/emoji/full_moon.png

6.31 KB

app/assets/images/emoji/full_moon_with_face.png

7.05 KB

app/assets/images/emoji/game_die.png

2.89 KB

app/assets/images/emoji/gb.png

5.76 KB

app/assets/images/emoji/gem.png

4.74 KB

app/assets/images/emoji/gemini.png

4.2 KB

app/assets/images/emoji/ghost.png

4.41 KB

app/assets/images/emoji/gift.png

6.55 KB

app/assets/images/emoji/gift_heart.png

5.87 KB

app/assets/images/emoji/girl.png

6.17 KB

app/assets/images/emoji/globe_with_meridians.png

5.7 KB

app/assets/images/emoji/goat.png

4.77 KB

app/assets/images/emoji/goberserk.png

1.3 KB

app/assets/images/emoji/godmode.png

1.02 KB

app/assets/images/emoji/golf.png

3.46 KB

app/assets/images/emoji/grapes.png

5.3 KB

app/assets/images/emoji/green_apple.png

6.06 KB

app/assets/images/emoji/green_book.png

4.97 KB

app/assets/images/emoji/green_heart.png

4.33 KB

app/assets/images/emoji/grey_exclamation.png

1.12 KB

app/assets/images/emoji/grey_question.png

1.03 KB

app/assets/images/emoji/grin.png

5.59 KB

app/assets/images/emoji/guardsman.png

3.5 KB

app/assets/images/emoji/guitar.png

4.28 KB

app/assets/images/emoji/gun.png

3.09 KB

app/assets/images/emoji/haircut.png

6.93 KB

app/assets/images/emoji/hamburger.png

5.57 KB

app/assets/images/emoji/hammer.png

3.58 KB

app/assets/images/emoji/hamster.png

7.05 KB

app/assets/images/emoji/hand.png

4.06 KB

app/assets/images/emoji/handbag.png

5.32 KB

app/assets/images/emoji/hankey.png

4.64 KB

app/assets/images/emoji/hash.png

3.65 KB

app/assets/images/emoji/hatched_chick.png

5.51 KB

app/assets/images/emoji/hatching_chick.png

5.79 KB

app/assets/images/emoji/headphones.png

1.87 KB

app/assets/images/emoji/hear_no_evil.png

6.4 KB

app/assets/images/emoji/heart.png

3.22 KB

app/assets/images/emoji/heart_decoration.png

3.42 KB

app/assets/images/emoji/heart_eyes.png

5.62 KB

app/assets/images/emoji/heart_eyes_cat.png

6.03 KB

app/assets/images/emoji/heartbeat.png

3.96 KB

app/assets/images/emoji/heartpulse.png

6.12 KB

app/assets/images/emoji/hearts.png

2.86 KB

app/assets/images/emoji/heavy_check_mark.png

1.08 KB

app/assets/images/emoji/heavy_division_sign.png

340 Bytes

app/assets/images/emoji/heavy_dollar_sign.png

1.38 KB

app/assets/images/emoji/heavy_exclamation_mark.png

1.28 KB

app/assets/images/emoji/heavy_minus_sign.png

197 Bytes

app/assets/images/emoji/heavy_multiplication_x.png

591 Bytes

app/assets/images/emoji/heavy_plus_sign.png

315 Bytes

app/assets/images/emoji/helicopter.png

4 KB

app/assets/images/emoji/herb.png

5.75 KB

app/assets/images/emoji/hibiscus.png

8.13 KB

app/assets/images/emoji/high_brightness.png

3.96 KB

app/assets/images/emoji/high_heel.png

4.45 KB

app/assets/images/emoji/hocho.png

2.45 KB

app/assets/images/emoji/honey_pot.png

5.69 KB

app/assets/images/emoji/honeybee.png

5.71 KB

app/assets/images/emoji/horse.png

4.47 KB

app/assets/images/emoji/horse_racing.png

5.77 KB

app/assets/images/emoji/hospital.png

4.77 KB

app/assets/images/emoji/hotel.png

5 KB

app/assets/images/emoji/hotsprings.png

3.46 KB

app/assets/images/emoji/hourglass.png

4.39 KB

app/assets/images/emoji/house.png

3.43 KB

app/assets/images/emoji/hurtrealbad.png

1.42 KB

app/assets/images/emoji/ice_cream.png

5.34 KB

app/assets/images/emoji/icecream.png

4.5 KB

app/assets/images/emoji/id.png

3.81 KB

app/assets/images/emoji/ideograph_advantage.png

3.02 KB

app/assets/images/emoji/imp.png

6.48 KB

app/assets/images/emoji/inbox_tray.png

3.61 KB

app/assets/images/emoji/incoming_envelope.png

2.15 KB

app/assets/images/emoji/information_desk_person.png

6.45 KB

app/assets/images/emoji/information_source.png

3.58 KB

app/assets/images/emoji/innocent.png

6.84 KB

app/assets/images/emoji/interrobang.png

2.81 KB

app/assets/images/emoji/iphone.png

3.42 KB

app/assets/images/emoji/it.png

3.41 KB

app/assets/images/emoji/izakaya_lantern.png

3.97 KB

app/assets/images/emoji/jack_o_lantern.png

5.5 KB

app/assets/images/emoji/japan.png

3.99 KB

app/assets/images/emoji/japanese_castle.png

4.82 KB

app/assets/images/emoji/japanese_goblin.png

5.04 KB

app/assets/images/emoji/japanese_ogre.png

6.98 KB

app/assets/images/emoji/jeans.png

3.39 KB

app/assets/images/emoji/joy.png

6.19 KB

app/assets/images/emoji/joy_cat.png

7.02 KB

app/assets/images/emoji/jp.png

2.76 KB

app/assets/images/emoji/key.png

3.37 KB

app/assets/images/emoji/keycap_ten.png

4 KB

app/assets/images/emoji/kimono.png

4.82 KB

app/assets/images/emoji/kiss.png

6.13 KB

app/assets/images/emoji/kissing_cat.png

6.64 KB

app/assets/images/emoji/kissing_face.png

5.43 KB

app/assets/images/emoji/kissing_heart.png

5.63 KB

app/assets/images/emoji/koala.png

5.55 KB

app/assets/images/emoji/koko.png

2.79 KB

app/assets/images/emoji/kr.png

4.99 KB

app/assets/images/emoji/large_blue_circle.png

4.53 KB

app/assets/images/emoji/large_blue_diamond.png

3.7 KB

app/assets/images/emoji/large_orange_diamond.png

3.81 KB

app/assets/images/emoji/last_quarter_moon.png

6.03 KB

app/assets/images/emoji/last_quarter_moon_with_face.png

4.23 KB

app/assets/images/emoji/laughing.png

6.2 KB

app/assets/images/emoji/leaves.png

5.44 KB

app/assets/images/emoji/ledger.png

5.78 KB

app/assets/images/emoji/left_luggage.png

3.93 KB

app/assets/images/emoji/left_right_arrow.png

3.33 KB

app/assets/images/emoji/leftwards_arrow_with_hook.png

3.69 KB

app/assets/images/emoji/lemon.png

5.91 KB

app/assets/images/emoji/leo.png

4.8 KB

app/assets/images/emoji/leopard.png

5.26 KB

app/assets/images/emoji/libra.png

4.13 KB

app/assets/images/emoji/light_rail.png

3.7 KB

app/assets/images/emoji/link.png

2.59 KB

app/assets/images/emoji/lips.png

3.65 KB

app/assets/images/emoji/lipstick.png

3.3 KB

app/assets/images/emoji/lock.png

3.59 KB

app/assets/images/emoji/lock_with_ink_pen.png

4.85 KB

app/assets/images/emoji/lollipop.png

5.64 KB

app/assets/images/emoji/loop.png

3.34 KB

app/assets/images/emoji/loudspeaker.png

5.86 KB

app/assets/images/emoji/love_hotel.png

5.8 KB

app/assets/images/emoji/love_letter.png

2.41 KB

app/assets/images/emoji/low_brightness.png

2.44 KB

app/assets/images/emoji/m.png

4.63 KB

app/assets/images/emoji/mag.png

2.97 KB

app/assets/images/emoji/mag_right.png

3.54 KB

app/assets/images/emoji/mahjong.png

3.23 KB

app/assets/images/emoji/mailbox.png

4.1 KB

app/assets/images/emoji/mailbox_closed.png

4.26 KB

app/assets/images/emoji/mailbox_with_mail.png

4.47 KB

app/assets/images/emoji/mailbox_with_no_mail.png

3.03 KB

app/assets/images/emoji/man.png

5.88 KB

app/assets/images/emoji/man_with_gua_pi_mao.png

5.2 KB

app/assets/images/emoji/man_with_turban.png

6.38 KB

app/assets/images/emoji/mans_shoe.png

4.64 KB

app/assets/images/emoji/maple_leaf.png

4.35 KB

app/assets/images/emoji/mask.png

5.11 KB

app/assets/images/emoji/massage.png

5.89 KB

app/assets/images/emoji/meat_on_bone.png

5.4 KB

app/assets/images/emoji/mega.png

4.57 KB

app/assets/images/emoji/melon.png

8.04 KB

app/assets/images/emoji/memo.png

4.83 KB

app/assets/images/emoji/mens.png

3.29 KB

app/assets/images/emoji/metal.png

3.03 KB

app/assets/images/emoji/metro.png

3.32 KB

app/assets/images/emoji/microphone.png

3.59 KB

app/assets/images/emoji/microscope.png

4.04 KB

app/assets/images/emoji/milky_way.png

5.74 KB

app/assets/images/emoji/minibus.png

3.04 KB

app/assets/images/emoji/minidisc.png

5.46 KB

app/assets/images/emoji/mobile_phone_off.png

3.44 KB

app/assets/images/emoji/money_with_wings.png

7.41 KB

app/assets/images/emoji/moneybag.png

5.37 KB

app/assets/images/emoji/monkey.png

4.86 KB

app/assets/images/emoji/monkey_face.png

5.22 KB

app/assets/images/emoji/monorail.png

4.21 KB

app/assets/images/emoji/moon.png

3.46 KB

app/assets/images/emoji/mortar_board.png

4.07 KB

app/assets/images/emoji/mount_fuji.png

4.89 KB

app/assets/images/emoji/mountain_bicyclist.png

9.29 KB

app/assets/images/emoji/mountain_cableway.png

4.3 KB

app/assets/images/emoji/mountain_railway.png

7.27 KB

app/assets/images/emoji/mouse.png

6.47 KB

app/assets/images/emoji/mouse2.png

3.99 KB

app/assets/images/emoji/movie_camera.png

3.99 KB

app/assets/images/emoji/moyai.png

2.12 KB

app/assets/images/emoji/muscle.png

4.56 KB

app/assets/images/emoji/mushroom.png

4.77 KB

app/assets/images/emoji/musical_keyboard.png

1.9 KB

app/assets/images/emoji/musical_note.png

3.11 KB

app/assets/images/emoji/musical_score.png

1.54 KB

app/assets/images/emoji/mute.png

6.48 KB

app/assets/images/emoji/nail_care.png

5.68 KB

app/assets/images/emoji/name_badge.png

3.89 KB

app/assets/images/emoji/neckbeard.png

6.27 KB

app/assets/images/emoji/necktie.png

5.97 KB

app/assets/images/emoji/negative_squared_cross_mark.png

3.76 KB

app/assets/images/emoji/neutral_face.png

4.73 KB

app/assets/images/emoji/new.png

3.83 KB

app/assets/images/emoji/new_moon.png

5.25 KB

app/assets/images/emoji/new_moon_with_face.png

6.59 KB

app/assets/images/emoji/newspaper.png

5.08 KB

app/assets/images/emoji/ng.png

4.1 KB

app/assets/images/emoji/nine.png

3.69 KB

app/assets/images/emoji/no_bell.png

5.8 KB

app/assets/images/emoji/no_bicycles.png

5.53 KB

app/assets/images/emoji/no_entry.png

3.43 KB

app/assets/images/emoji/no_entry_sign.png

3.21 KB

app/assets/images/emoji/no_good.png

6.87 KB

app/assets/images/emoji/no_mobile_phones.png

4.96 KB

app/assets/images/emoji/no_mouth.png

4.62 KB

app/assets/images/emoji/no_pedestrians.png

5.36 KB

app/assets/images/emoji/no_smoking.png

4.11 KB

app/assets/images/emoji/non-potable_water.png

5.08 KB

app/assets/images/emoji/nose.png

3.62 KB

app/assets/images/emoji/notebook.png

5.89 KB

app/assets/images/emoji/notebook_with_decorative_cover.png

5.2 KB

app/assets/images/emoji/notes.png

1.5 KB

app/assets/images/emoji/nut_and_bolt.png

2.12 KB

app/assets/images/emoji/o.png

2.48 KB

app/assets/images/emoji/o2.png

3.42 KB

app/assets/images/emoji/ocean.png

5.64 KB

app/assets/images/emoji/octocat.png

3.84 KB

app/assets/images/emoji/octopus.png

5.64 KB

app/assets/images/emoji/oden.png

5.41 KB

app/assets/images/emoji/office.png

5.04 KB

app/assets/images/emoji/ok.png

4.06 KB

app/assets/images/emoji/ok_hand.png

4.49 KB

app/assets/images/emoji/ok_woman.png

7.35 KB

app/assets/images/emoji/older_man.png

6.58 KB

app/assets/images/emoji/older_woman.png

5.84 KB

app/assets/images/emoji/on.png

1.76 KB

app/assets/images/emoji/oncoming_automobile.png

7.29 KB

app/assets/images/emoji/oncoming_bus.png

5.18 KB

app/assets/images/emoji/oncoming_police_car.png

5.55 KB

app/assets/images/emoji/oncoming_taxi.png

6.14 KB

app/assets/images/emoji/one.png

2.76 KB

app/assets/images/emoji/open_file_folder.png

4.19 KB

app/assets/images/emoji/open_hands.png

4.83 KB

app/assets/images/emoji/ophiuchus.png

4.33 KB

app/assets/images/emoji/orange_book.png

4.97 KB

app/assets/images/emoji/outbox_tray.png

3.6 KB

app/assets/images/emoji/ox.png

5.94 KB

app/assets/images/emoji/page_facing_up.png

2.13 KB

app/assets/images/emoji/page_with_curl.png

3.64 KB

app/assets/images/emoji/pager.png

3.93 KB

app/assets/images/emoji/palm_tree.png

3.58 KB

app/assets/images/emoji/panda_face.png

4.7 KB

app/assets/images/emoji/paperclip.png

2.5 KB

app/assets/images/emoji/parking.png

3.01 KB

app/assets/images/emoji/part_alternation_mark.png

2.62 KB

app/assets/images/emoji/partly_sunny.png

5.06 KB

app/assets/images/emoji/passport_control.png

3.92 KB

app/assets/images/emoji/paw_prints.png

2.41 KB

app/assets/images/emoji/peach.png

5.78 KB

app/assets/images/emoji/pear.png

6.77 KB

app/assets/images/emoji/pencil.png

4.83 KB

app/assets/images/emoji/pencil2.png

4.35 KB

app/assets/images/emoji/penguin.png

4.63 KB

app/assets/images/emoji/pensive.png

4.94 KB

app/assets/images/emoji/performing_arts.png

6.14 KB

app/assets/images/emoji/persevere.png

5.39 KB

app/assets/images/emoji/person_frowning.png

4.71 KB

app/assets/images/emoji/person_with_blond_hair.png

6.47 KB

app/assets/images/emoji/person_with_pouting_face.png

5.3 KB

app/assets/images/emoji/phone.png

5.37 KB

app/assets/images/emoji/pig.png

5.86 KB

app/assets/images/emoji/pig2.png

4.68 KB

app/assets/images/emoji/pig_nose.png

4.65 KB

app/assets/images/emoji/pill.png

4.9 KB

app/assets/images/emoji/pineapple.png

5.5 KB

app/assets/images/emoji/pisces.png

4.35 KB

app/assets/images/emoji/pizza.png

5.15 KB

app/assets/images/emoji/plus1.png

4.96 KB

app/assets/images/emoji/point_down.png

3.15 KB

app/assets/images/emoji/point_left.png

3.01 KB

app/assets/images/emoji/point_right.png

3.01 KB

app/assets/images/emoji/point_up.png

3.35 KB

app/assets/images/emoji/point_up_2.png

3.11 KB

app/assets/images/emoji/police_car.png

3.27 KB

app/assets/images/emoji/poodle.png

6.69 KB

app/assets/images/emoji/poop.png

4.64 KB

app/assets/images/emoji/post_office.png

5.02 KB

app/assets/images/emoji/postal_horn.png

4.71 KB

app/assets/images/emoji/postbox.png

3.31 KB

app/assets/images/emoji/potable_water.png

3.84 KB

app/assets/images/emoji/pouch.png

4.58 KB

app/assets/images/emoji/poultry_leg.png

4.1 KB

app/assets/images/emoji/pound.png

4.14 KB

app/assets/images/emoji/pouting_cat.png

4.8 KB

app/assets/images/emoji/pray.png

6.06 KB

app/assets/images/emoji/princess.png

7.73 KB

app/assets/images/emoji/punch.png

4.72 KB

app/assets/images/emoji/purple_heart.png

4.19 KB

app/assets/images/emoji/purse.png

4.92 KB

app/assets/images/emoji/pushpin.png

3.7 KB

app/assets/images/emoji/put_litter_in_its_place.png

4 KB

app/assets/images/emoji/question.png

1.67 KB

app/assets/images/emoji/rabbit.png

5.54 KB

app/assets/images/emoji/rabbit2.png

4.41 KB

app/assets/images/emoji/racehorse.png

4.62 KB

app/assets/images/emoji/radio.png

6.01 KB

app/assets/images/emoji/radio_button.png

2.15 KB

app/assets/images/emoji/rage.png

5.28 KB

app/assets/images/emoji/rage1.png

1.06 KB

app/assets/images/emoji/rage2.png

1.07 KB

app/assets/images/emoji/rage3.png

1.09 KB

app/assets/images/emoji/rage4.png

1.24 KB

app/assets/images/emoji/railway_car.png

3.56 KB

app/assets/images/emoji/rainbow.png

5.19 KB

app/assets/images/emoji/raised_hand.png

6.03 KB

app/assets/images/emoji/raised_hands.png

5.25 KB

app/assets/images/emoji/ram.png

6.38 KB

app/assets/images/emoji/ramen.png

6.42 KB

app/assets/images/emoji/rat.png

5.31 KB

app/assets/images/emoji/recycle.png

3.62 KB

app/assets/images/emoji/red_car.png

4.18 KB

app/assets/images/emoji/red_circle.png

3.85 KB

app/assets/images/emoji/registered.png

1.58 KB

app/assets/images/emoji/relaxed.png

5.33 KB

app/assets/images/emoji/relieved.png

5.52 KB

app/assets/images/emoji/repeat.png

3.92 KB

app/assets/images/emoji/repeat_one.png

4.19 KB

app/assets/images/emoji/restroom.png

4.04 KB

app/assets/images/emoji/revolving_hearts.png

5.34 KB

app/assets/images/emoji/rewind.png

2.98 KB

app/assets/images/emoji/ribbon.png

5.45 KB

app/assets/images/emoji/rice.png

4.54 KB

app/assets/images/emoji/rice_ball.png

5.28 KB

app/assets/images/emoji/rice_cracker.png

7.6 KB

app/assets/images/emoji/rice_scene.png

6.11 KB

app/assets/images/emoji/ring.png

5.11 KB

app/assets/images/emoji/rocket.png

5.26 KB

app/assets/images/emoji/roller_coaster.png

5.03 KB

app/assets/images/emoji/rooster.png

6.02 KB

app/assets/images/emoji/rose.png

4.1 KB

app/assets/images/emoji/rotating_light.png

6.46 KB

app/assets/images/emoji/round_pushpin.png

1.89 KB

app/assets/images/emoji/rowboat.png

5.31 KB

app/assets/images/emoji/ru.png

3.83 KB

app/assets/images/emoji/rugby_football.png

7.6 KB

app/assets/images/emoji/runner.png

3.06 KB

app/assets/images/emoji/running.png

3.14 KB

app/assets/images/emoji/running_shirt_with_sash.png

5.57 KB

app/assets/images/emoji/sa.png

3.47 KB

app/assets/images/emoji/sagittarius.png

4.4 KB

app/assets/images/emoji/sailboat.png

3.74 KB

app/assets/images/emoji/sake.png

4.95 KB

app/assets/images/emoji/sandal.png

3.88 KB

app/assets/images/emoji/santa.png

6.12 KB

app/assets/images/emoji/satellite.png

4.75 KB

app/assets/images/emoji/satisfied.png

5.24 KB

app/assets/images/emoji/saxophone.png

4.15 KB

app/assets/images/emoji/school.png

5.32 KB

app/assets/images/emoji/school_satchel.png

5.61 KB

app/assets/images/emoji/scissors.png

3.75 KB

app/assets/images/emoji/scorpius.png

4.46 KB

app/assets/images/emoji/scream.png

6.33 KB

app/assets/images/emoji/scream_cat.png

6.68 KB

app/assets/images/emoji/scroll.png

6.59 KB

app/assets/images/emoji/seat.png

5.92 KB

app/assets/images/emoji/secret.png

5.24 KB

app/assets/images/emoji/see_no_evil.png

6.67 KB

app/assets/images/emoji/seedling.png

2.21 KB

app/assets/images/emoji/seven.png

2.98 KB

app/assets/images/emoji/shaved_ice.png

5.77 KB

app/assets/images/emoji/sheep.png

4.62 KB

app/assets/images/emoji/shell.png

5 KB

app/assets/images/emoji/ship.png

4.13 KB

app/assets/images/emoji/shipit.png

9.13 KB

app/assets/images/emoji/shirt.png

4.57 KB

app/assets/images/emoji/shit.png

4.64 KB

app/assets/images/emoji/shoe.png

4.69 KB

app/assets/images/emoji/shower.png

7.41 KB

app/assets/images/emoji/signal_strength.png

3.16 KB

app/assets/images/emoji/six.png

3.7 KB

app/assets/images/emoji/six_pointed_star.png

4.75 KB

app/assets/images/emoji/ski.png

4.07 KB

app/assets/images/emoji/skull.png

2.37 KB

app/assets/images/emoji/sleepy.png

5.7 KB

app/assets/images/emoji/slot_machine.png

4.5 KB

app/assets/images/emoji/small_blue_diamond.png

1.85 KB

app/assets/images/emoji/small_orange_diamond.png

1.9 KB

app/assets/images/emoji/small_red_triangle.png

2.01 KB

app/assets/images/emoji/small_red_triangle_down.png

2.11 KB

app/assets/images/emoji/smile.png

5.75 KB

app/assets/images/emoji/smile_cat.png

5.97 KB

app/assets/images/emoji/smiley.png

5.66 KB

app/assets/images/emoji/smiley_cat.png

5.94 KB

app/assets/images/emoji/smiling_imp.png

7.02 KB

app/assets/images/emoji/smirk.png

5.18 KB

app/assets/images/emoji/smirk_cat.png

5.92 KB

app/assets/images/emoji/smoking.png

2.81 KB

app/assets/images/emoji/snail.png

6.5 KB

app/assets/images/emoji/snake.png

3.97 KB

app/assets/images/emoji/snowboarder.png

5.23 KB

app/assets/images/emoji/snowflake.png

5.5 KB

app/assets/images/emoji/snowman.png

4.55 KB

app/assets/images/emoji/sob.png

5.58 KB

app/assets/images/emoji/soccer.png

4.76 KB

app/assets/images/emoji/soon.png

1.87 KB

app/assets/images/emoji/sos.png

4.16 KB

app/assets/images/emoji/sound.png

4.91 KB

app/assets/images/emoji/space_invader.png

4.25 KB

app/assets/images/emoji/spades.png

1.68 KB

app/assets/images/emoji/spaghetti.png

6.79 KB

app/assets/images/emoji/sparkler.png

5.56 KB

app/assets/images/emoji/sparkles.png

2.16 KB

app/assets/images/emoji/speak_no_evil.png

5.84 KB

app/assets/images/emoji/speaker.png

5.05 KB

app/assets/images/emoji/speech_balloon.png

2.08 KB

app/assets/images/emoji/speedboat.png

3.43 KB

app/assets/images/emoji/squirrel.png

9.13 KB

app/assets/images/emoji/star.png

3.54 KB

app/assets/images/emoji/star2.png

3.97 KB

app/assets/images/emoji/stars.png

4.26 KB

app/assets/images/emoji/station.png

4.72 KB

app/assets/images/emoji/statue_of_liberty.png

5.93 KB

app/assets/images/emoji/steam_locomotive.png

5.04 KB

app/assets/images/emoji/stew.png

5.24 KB

app/assets/images/emoji/straight_ruler.png

3.74 KB

app/assets/images/emoji/strawberry.png

5.35 KB

app/assets/images/emoji/sun_with_face.png

7.77 KB

app/assets/images/emoji/sunflower.png

6.41 KB

app/assets/images/emoji/sunglasses.png

5.61 KB

app/assets/images/emoji/sunny.png

3.71 KB

app/assets/images/emoji/sunrise.png

3.82 KB

app/assets/images/emoji/sunrise_over_mountains.png

6.44 KB

app/assets/images/emoji/surfer.png

6.11 KB

app/assets/images/emoji/sushi.png

5.13 KB

app/assets/images/emoji/suspect.png

1016 Bytes

app/assets/images/emoji/suspension_railway.png

3.84 KB

app/assets/images/emoji/sweat.png

5.45 KB

app/assets/images/emoji/sweat_drops.png

4.67 KB

app/assets/images/emoji/sweat_smile.png

6.37 KB

app/assets/images/emoji/sweet_potato.png

5.55 KB

app/assets/images/emoji/swimmer.png

4.28 KB

app/assets/images/emoji/symbols.png

5.31 KB

app/assets/images/emoji/syringe.png

2.97 KB

app/assets/images/emoji/tada.png

5.81 KB

app/assets/images/emoji/tanabata_tree.png

4.31 KB

app/assets/images/emoji/tangerine.png

6.49 KB

app/assets/images/emoji/taurus.png

4.62 KB

app/assets/images/emoji/taxi.png

3.66 KB

app/assets/images/emoji/tea.png

5.81 KB

app/assets/images/emoji/telephone.png

5.37 KB

app/assets/images/emoji/telephone_receiver.png

1.95 KB

app/assets/images/emoji/telescope.png

3.24 KB

app/assets/images/emoji/tennis.png

5.84 KB

app/assets/images/emoji/tent.png

4.38 KB

app/assets/images/emoji/thought_balloon.png

2.52 KB

app/assets/images/emoji/three.png

3.67 KB

app/assets/images/emoji/thumbsdown.png

4.95 KB

app/assets/images/emoji/thumbsup.png

4.96 KB

app/assets/images/emoji/ticket.png

3.02 KB

app/assets/images/emoji/tiger.png

5.91 KB

app/assets/images/emoji/tiger2.png

5.61 KB

app/assets/images/emoji/tired_face.png

6.03 KB

app/assets/images/emoji/tm.png

842 Bytes

app/assets/images/emoji/toilet.png

1.69 KB

app/assets/images/emoji/tokyo_tower.png

4.69 KB

app/assets/images/emoji/tomato.png

5.61 KB

app/assets/images/emoji/tongue.png

5.65 KB

app/assets/images/emoji/tongue2.png

3.58 KB

app/assets/images/emoji/top.png

3.7 KB

app/assets/images/emoji/tophat.png

2.94 KB

app/assets/images/emoji/tractor.png

5.54 KB

app/assets/images/emoji/traffic_light.png

3.46 KB

app/assets/images/emoji/train.png

3.81 KB

app/assets/images/emoji/train2.png

4.7 KB

app/assets/images/emoji/tram.png

4.75 KB

app/assets/images/emoji/triangular_flag_on_post.png

1.37 KB

app/assets/images/emoji/triangular_ruler.png

2.64 KB

app/assets/images/emoji/trident.png

4.72 KB

app/assets/images/emoji/triumph.png

6.02 KB

app/assets/images/emoji/trolleybus.png

4.33 KB

app/assets/images/emoji/trollface.png

4.79 KB

app/assets/images/emoji/trophy.png

5.39 KB

app/assets/images/emoji/tropical_drink.png

4.09 KB

app/assets/images/emoji/tropical_fish.png

5.71 KB

app/assets/images/emoji/truck.png

3.63 KB

app/assets/images/emoji/trumpet.png

4.27 KB

app/assets/images/emoji/tshirt.png

4.57 KB

app/assets/images/emoji/tulip.png

5.92 KB

app/assets/images/emoji/turtle.png

5.21 KB

app/assets/images/emoji/tv.png

5.12 KB

app/assets/images/emoji/twisted_rightwards_arrows.png

4.21 KB

app/assets/images/emoji/two.png

3.44 KB

app/assets/images/emoji/two_hearts.png

3.48 KB

app/assets/images/emoji/two_men_holding_hands.png

6.83 KB

app/assets/images/emoji/two_women_holding_hands.png

7.45 KB

app/assets/images/emoji/u5272.png

4.43 KB

app/assets/images/emoji/u5408.png

3.8 KB

app/assets/images/emoji/u55b6.png

3.33 KB

app/assets/images/emoji/u6307.png

4.01 KB

app/assets/images/emoji/u6708.png

2.94 KB

app/assets/images/emoji/u6709.png

3.12 KB

app/assets/images/emoji/u6e80.png

4.32 KB

app/assets/images/emoji/u7121.png

3.85 KB

app/assets/images/emoji/u7533.png

2.98 KB

app/assets/images/emoji/u7981.png

5.05 KB

app/assets/images/emoji/u7a7a.png

4.08 KB

app/assets/images/emoji/uk.png

5.76 KB

app/assets/images/emoji/umbrella.png

4.63 KB

app/assets/images/emoji/unamused.png

5.19 KB

app/assets/images/emoji/underage.png

5.59 KB

app/assets/images/emoji/unlock.png

3.47 KB

app/assets/images/emoji/up.png

3.63 KB

app/assets/images/emoji/us.png

6.14 KB

app/assets/images/emoji/v.png

4.56 KB

app/assets/images/emoji/vertical_traffic_light.png

3.34 KB

app/assets/images/emoji/vhs.png

3.07 KB

app/assets/images/emoji/vibration_mode.png

3.81 KB

app/assets/images/emoji/video_camera.png

4.97 KB

app/assets/images/emoji/video_game.png

4.84 KB

app/assets/images/emoji/violin.png

4.9 KB

app/assets/images/emoji/virgo.png

4.75 KB

app/assets/images/emoji/volcano.png

6.02 KB

app/assets/images/emoji/vs.png

3.34 KB

app/assets/images/emoji/walking.png

2.41 KB

app/assets/images/emoji/waning_crescent_moon.png

5.75 KB

app/assets/images/emoji/waning_gibbous_moon.png

6.36 KB

app/assets/images/emoji/warning.png

3.1 KB

app/assets/images/emoji/watch.png

5.07 KB

app/assets/images/emoji/water_buffalo.png

4.66 KB

app/assets/images/emoji/watermelon.png

5.37 KB

app/assets/images/emoji/wave.png

4.93 KB

app/assets/images/emoji/wavy_dash.png

872 Bytes

app/assets/images/emoji/waxing_crescent_moon.png

6.05 KB

app/assets/images/emoji/waxing_gibbous_moon.png

6.3 KB

app/assets/images/emoji/wc.png

3.99 KB

app/assets/images/emoji/weary.png

6.13 KB

app/assets/images/emoji/wedding.png

5.71 KB

app/assets/images/emoji/whale.png

4.82 KB

app/assets/images/emoji/whale2.png

5.89 KB

app/assets/images/emoji/wheelchair.png

4.13 KB

app/assets/images/emoji/white_circle.png

2.45 KB

app/assets/images/emoji/white_flower.png

4.29 KB

app/assets/images/emoji/white_square.png

1.38 KB

app/assets/images/emoji/wind_chime.png

3.41 KB

app/assets/images/emoji/wine_glass.png

3.08 KB

app/assets/images/emoji/wink.png

5.13 KB

app/assets/images/emoji/wink2.png

5.87 KB

app/assets/images/emoji/wolf.png

4.73 KB

app/assets/images/emoji/woman.png

6.73 KB

app/assets/images/emoji/womans_clothes.png

3.98 KB

app/assets/images/emoji/womans_hat.png

7.91 KB

app/assets/images/emoji/womens.png

3.8 KB

app/assets/images/emoji/wrench.png

2.71 KB

app/assets/images/emoji/x.png

2 KB

app/assets/images/emoji/yellow_heart.png

4.31 KB

app/assets/images/emoji/yen.png

4.87 KB

app/assets/images/emoji/yum.png

5.75 KB

app/assets/images/emoji/zap.png

2.18 KB

app/assets/images/emoji/zero.png

3.51 KB

app/assets/images/emoji/zzz.png

1.98 KB

module GitlabMarkdownHelper
# Replaces references (i.e. @abc, #123, !456, ...) in the text with links to
# the appropriate items in GitLab.
#
# text - the source text
# html_options - extra options for the reference links as given to link_to
#
# note: reference links will only be generated if @project is set
#
# see Gitlab::Markdown for details on the supported syntax
def gfm(text, html_options = {})
return text if text.nil?
return text if @project.nil?
# Extract pre blocks so they are not altered
# from http://github.github.com/github-flavored-markdown/
extractions = {}
text.gsub!(%r{<pre>.*?</pre>|<code>.*?</code>}m) do |match|
md5 = Digest::MD5.hexdigest(match)
extractions[md5] = match
"{gfm-extraction-#{md5}}"
end
# TODO: add popups with additional information
parser = Gitlab::Markdown.new(@project, html_options)
text = parser.parse(text)
# Insert pre block extractions
text.gsub!(/\{gfm-extraction-(\h{32})\}/) do
extractions[$1]
end
sanitize text.html_safe, attributes: ActionView::Base.sanitized_allowed_attributes + %w(id class )
end
include Gitlab::Markdown
# Use this in places where you would normally use link_to(gfm(...), ...).
#
......
......@@ -103,7 +103,7 @@ class Note < ActiveRecord::Base
# Returns true if this is an upvote note,
# otherwise false is returned
def upvote?
note =~ /^\+1/ ? true : false
note.start_with?('+1') || note.start_with?(':+1:')
end
end
# == Schema Information
......
module Gitlab
# Custom parser for GitLab-flavored Markdown
#
# It replaces references in the text with links to the appropriate items in Gitlab.
# It replaces references in the text with links to the appropriate items in
# GitLab.
#
# Supported reference formats are:
# * @foo for team members
......@@ -10,19 +11,20 @@ module Gitlab
# * $123 for snippets
# * 123456 for commits
#
# Examples
# It also parses Emoji codes to insert images. See
# http://www.emoji-cheat-sheet.com/ for a list of the supported icons.
#
# >> m = Markdown.new(...)
# Examples
#
# >> m.parse("Hey @david, can you fix this?")
# >> gfm("Hey @david, can you fix this?")
# => "Hey <a href="/gitlab/team_members/1">@david</a>, can you fix this?"
#
# >> m.parse("Commit 35d5f7c closes #1234")
# >> gfm("Commit 35d5f7c closes #1234")
# => "Commit <a href="/gitlab/commits/35d5f7c">35d5f7c</a> closes <a href="/gitlab/issues/1234">#1234</a>"
class Markdown
include Rails.application.routes.url_helpers
include ActionView::Helpers
#
# >> gfm(":trollface:")
# => "<img alt=\":trollface:\" class=\"emoji\" src=\"/images/trollface.png" title=\":trollface:\" />
module Markdown
REFERENCE_PATTERN = %r{
([^\w&;])? # Prefix (1)
( # Reference (2)
......@@ -33,15 +35,52 @@ module Gitlab
([^\w&;])? # Suffix (6)
}x.freeze
EMOJI_PATTERN = %r{(:(\S+):)}.freeze
attr_reader :html_options
def initialize(project, html_options = {})
@project = project
# Public: Parse the provided text with GitLab-Flavored Markdown
#
# text - the source text
# html_options - extra options for the reference links as given to link_to
#
# Note: reference links will only be generated if @project is set
def gfm(text, html_options = {})
return text if text.nil?
return text if @project.nil?
@html_options = html_options
# Extract pre blocks so they are not altered
# from http://github.github.com/github-flavored-markdown/
extractions = {}
text.gsub!(%r{<pre>.*?</pre>|<code>.*?</code>}m) do |match|
md5 = Digest::MD5.hexdigest(match)
extractions[md5] = match
"{gfm-extraction-#{md5}}"
end
# TODO: add popups with additional information
text = parse(text)
# Insert pre block extractions
text.gsub!(/\{gfm-extraction-(\h{32})\}/) do
extractions[$1]
end
sanitize text.html_safe, attributes: ActionView::Base.sanitized_allowed_attributes + %w(id class)
end
private
# Private: Parses text for references and emoji
#
# text - Text to parse
#
# Returns parsed text
def parse(text)
text.gsub(REFERENCE_PATTERN) do |match|
text = text.gsub(REFERENCE_PATTERN) do |match|
prefix = $1 || ''
reference = $2
identifier = $3 || $4 || $5
......@@ -53,9 +92,26 @@ module Gitlab
match
end
end
text = text.gsub(EMOJI_PATTERN) do |match|
if valid_emoji?($2)
helper.image_tag("#{$2}.png", size: "20x20", class: 'emoji', title: $1, alt: $1)
else
match
end
end
text
end
private
# Private: Checks if an emoji icon exists in the image asset directory
#
# emoji - Identifier of the emoji as a string (e.g., "+1", "heart")
#
# Returns boolean
def valid_emoji?(emoji)
File.exists?(Rails.root.join('app', 'assets', 'images', 'emoji', "#{emoji}.png"))
end
# Private: Dispatches to a dedicated processing method based on reference
#
......
......@@ -208,6 +208,46 @@ describe GitlabMarkdownHelper do
gfm(actual).should match(expected)
end
end
describe "emoji" do
it "matches at the start of a string" do
gfm(":+1:").should match(/<img/)
end
it "matches at the end of a string" do
gfm("This gets a :-1:").should match(/<img/)
end
it "matches with adjacent text" do
gfm("+1 (:+1:)").should match(/<img/)
end
it "has a title attribute" do
gfm(":-1:").should match(/title=":-1:"/)
end
it "has an alt attribute" do
gfm(":-1:").should match(/alt=":-1:"/)
end
it "has an emoji class" do
gfm(":+1:").should match('class="emoji"')
end
it "sets height and width" do
actual = gfm(":+1:")
actual.should match(/width="20"/)
actual.should match(/height="20"/)
end
it "keeps whitespace intact" do
gfm("This deserves a :+1: big time.").should match(/deserves a <img.+\/> big time/)
end
it "ignores invalid emoji" do
gfm(":invalid-emoji:").should_not match(/<img/)
end
end
end
describe "#link_to_gfm" do
......
......@@ -35,6 +35,16 @@ describe Note do
note = Factory(:note, note: "-1 for this")
note.should_not be_upvote
end
it "recognizes a +1 emoji as a vote" do
note = build(:note, note: ":+1: for this")
note.should be_upvote
end
it "recognizes a neutral emoji note" do
note = build(:note, note: "I would :+1: this, but I don't want to")
note.should_not be_upvote
end
end
let(:project) { create(:project) }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment