|
|
/*! markdown-it-emoji 1.4.0 https://github.com//markdown-it/markdown-it-emoji @license MIT */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.markdownitEmoji = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
|
|
|
module.exports={
|
|
|
"100": "💯",
|
|
|
"1234": "🔢",
|
|
|
"grinning": "😀",
|
|
|
"smiley": "😃",
|
|
|
"smile": "😄",
|
|
|
"grin": "😁",
|
|
|
"laughing": "😆",
|
|
|
"satisfied": "😆",
|
|
|
"sweat_smile": "😅",
|
|
|
"joy": "😂",
|
|
|
"rofl": "🤣",
|
|
|
"relaxed": "☺️",
|
|
|
"blush": "😊",
|
|
|
"innocent": "😇",
|
|
|
"slightly_smiling_face": "🙂",
|
|
|
"upside_down_face": "🙃",
|
|
|
"wink": "😉",
|
|
|
"relieved": "😌",
|
|
|
"heart_eyes": "😍",
|
|
|
"kissing_heart": "😘",
|
|
|
"kissing": "😗",
|
|
|
"kissing_smiling_eyes": "😙",
|
|
|
"kissing_closed_eyes": "😚",
|
|
|
"yum": "😋",
|
|
|
"stuck_out_tongue_winking_eye": "😜",
|
|
|
"stuck_out_tongue_closed_eyes": "😝",
|
|
|
"stuck_out_tongue": "😛",
|
|
|
"money_mouth_face": "🤑",
|
|
|
"hugs": "🤗",
|
|
|
"nerd_face": "🤓",
|
|
|
"sunglasses": "😎",
|
|
|
"clown_face": "🤡",
|
|
|
"cowboy_hat_face": "🤠",
|
|
|
"smirk": "😏",
|
|
|
"unamused": "😒",
|
|
|
"disappointed": "😞",
|
|
|
"pensive": "😔",
|
|
|
"worried": "😟",
|
|
|
"confused": "😕",
|
|
|
"slightly_frowning_face": "🙁",
|
|
|
"frowning_face": "☹️",
|
|
|
"persevere": "😣",
|
|
|
"confounded": "😖",
|
|
|
"tired_face": "😫",
|
|
|
"weary": "😩",
|
|
|
"triumph": "😤",
|
|
|
"angry": "😠",
|
|
|
"rage": "😡",
|
|
|
"pout": "😡",
|
|
|
"no_mouth": "😶",
|
|
|
"neutral_face": "😐",
|
|
|
"expressionless": "😑",
|
|
|
"hushed": "😯",
|
|
|
"frowning": "😦",
|
|
|
"anguished": "😧",
|
|
|
"open_mouth": "😮",
|
|
|
"astonished": "😲",
|
|
|
"dizzy_face": "😵",
|
|
|
"flushed": "😳",
|
|
|
"scream": "😱",
|
|
|
"fearful": "😨",
|
|
|
"cold_sweat": "😰",
|
|
|
"cry": "😢",
|
|
|
"disappointed_relieved": "😥",
|
|
|
"drooling_face": "🤤",
|
|
|
"sob": "😭",
|
|
|
"sweat": "😓",
|
|
|
"sleepy": "😪",
|
|
|
"sleeping": "😴",
|
|
|
"roll_eyes": "🙄",
|
|
|
"thinking": "🤔",
|
|
|
"lying_face": "🤥",
|
|
|
"grimacing": "😬",
|
|
|
"zipper_mouth_face": "🤐",
|
|
|
"nauseated_face": "🤢",
|
|
|
"sneezing_face": "🤧",
|
|
|
"mask": "😷",
|
|
|
"face_with_thermometer": "🤒",
|
|
|
"face_with_head_bandage": "🤕",
|
|
|
"smiling_imp": "😈",
|
|
|
"imp": "👿",
|
|
|
"japanese_ogre": "👹",
|
|
|
"japanese_goblin": "👺",
|
|
|
"hankey": "💩",
|
|
|
"poop": "💩",
|
|
|
"shit": "💩",
|
|
|
"ghost": "👻",
|
|
|
"skull": "💀",
|
|
|
"skull_and_crossbones": "☠️",
|
|
|
"alien": "👽",
|
|
|
"space_invader": "👾",
|
|
|
"robot": "🤖",
|
|
|
"jack_o_lantern": "🎃",
|
|
|
"smiley_cat": "😺",
|
|
|
"smile_cat": "😸",
|
|
|
"joy_cat": "😹",
|
|
|
"heart_eyes_cat": "😻",
|
|
|
"smirk_cat": "😼",
|
|
|
"kissing_cat": "😽",
|
|
|
"scream_cat": "🙀",
|
|
|
"crying_cat_face": "😿",
|
|
|
"pouting_cat": "😾",
|
|
|
"open_hands": "👐",
|
|
|
"raised_hands": "🙌",
|
|
|
"clap": "👏",
|
|
|
"pray": "🙏",
|
|
|
"handshake": "🤝",
|
|
|
"+1": "👍",
|
|
|
"thumbsup": "👍",
|
|
|
"-1": "👎",
|
|
|
"thumbsdown": "👎",
|
|
|
"fist_oncoming": "👊",
|
|
|
"facepunch": "👊",
|
|
|
"punch": "👊",
|
|
|
"fist_raised": "✊",
|
|
|
"fist": "✊",
|
|
|
"fist_left": "🤛",
|
|
|
"fist_right": "🤜",
|
|
|
"crossed_fingers": "🤞",
|
|
|
"v": "✌️",
|
|
|
"metal": "🤘",
|
|
|
"ok_hand": "👌",
|
|
|
"point_left": "👈",
|
|
|
"point_right": "👉",
|
|
|
"point_up_2": "👆",
|
|
|
"point_down": "👇",
|
|
|
"point_up": "☝️",
|
|
|
"hand": "✋",
|
|
|
"raised_hand": "✋",
|
|
|
"raised_back_of_hand": "🤚",
|
|
|
"raised_hand_with_fingers_splayed": "🖐",
|
|
|
"vulcan_salute": "🖖",
|
|
|
"wave": "👋",
|
|
|
"call_me_hand": "🤙",
|
|
|
"muscle": "💪",
|
|
|
"middle_finger": "🖕",
|
|
|
"fu": "🖕",
|
|
|
"writing_hand": "✍️",
|
|
|
"selfie": "🤳",
|
|
|
"nail_care": "💅",
|
|
|
"ring": "💍",
|
|
|
"lipstick": "💄",
|
|
|
"kiss": "💋",
|
|
|
"lips": "👄",
|
|
|
"tongue": "👅",
|
|
|
"ear": "👂",
|
|
|
"nose": "👃",
|
|
|
"footprints": "👣",
|
|
|
"eye": "👁",
|
|
|
"eyes": "👀",
|
|
|
"speaking_head": "🗣",
|
|
|
"bust_in_silhouette": "👤",
|
|
|
"busts_in_silhouette": "👥",
|
|
|
"baby": "👶",
|
|
|
"boy": "👦",
|
|
|
"girl": "👧",
|
|
|
"man": "👨",
|
|
|
"woman": "👩",
|
|
|
"blonde_woman": "👱♀",
|
|
|
"blonde_man": "👱",
|
|
|
"person_with_blond_hair": "👱",
|
|
|
"older_man": "👴",
|
|
|
"older_woman": "👵",
|
|
|
"man_with_gua_pi_mao": "👲",
|
|
|
"woman_with_turban": "👳♀",
|
|
|
"man_with_turban": "👳",
|
|
|
"policewoman": "👮♀",
|
|
|
"policeman": "👮",
|
|
|
"cop": "👮",
|
|
|
"construction_worker_woman": "👷♀",
|
|
|
"construction_worker_man": "👷",
|
|
|
"construction_worker": "👷",
|
|
|
"guardswoman": "💂♀",
|
|
|
"guardsman": "💂",
|
|
|
"female_detective": "🕵️♀️",
|
|
|
"male_detective": "🕵",
|
|
|
"detective": "🕵",
|
|
|
"woman_health_worker": "👩⚕",
|
|
|
"man_health_worker": "👨⚕",
|
|
|
"woman_farmer": "👩🌾",
|
|
|
"man_farmer": "👨🌾",
|
|
|
"woman_cook": "👩🍳",
|
|
|
"man_cook": "👨🍳",
|
|
|
"woman_student": "👩🎓",
|
|
|
"man_student": "👨🎓",
|
|
|
"woman_singer": "👩🎤",
|
|
|
"man_singer": "👨🎤",
|
|
|
"woman_teacher": "👩🏫",
|
|
|
"man_teacher": "👨🏫",
|
|
|
"woman_factory_worker": "👩🏭",
|
|
|
"man_factory_worker": "👨🏭",
|
|
|
"woman_technologist": "👩💻",
|
|
|
"man_technologist": "👨💻",
|
|
|
"woman_office_worker": "👩💼",
|
|
|
"man_office_worker": "👨💼",
|
|
|
"woman_mechanic": "👩🔧",
|
|
|
"man_mechanic": "👨🔧",
|
|
|
"woman_scientist": "👩🔬",
|
|
|
"man_scientist": "👨🔬",
|
|
|
"woman_artist": "👩🎨",
|
|
|
"man_artist": "👨🎨",
|
|
|
"woman_firefighter": "👩🚒",
|
|
|
"man_firefighter": "👨🚒",
|
|
|
"woman_pilot": "👩✈",
|
|
|
"man_pilot": "👨✈",
|
|
|
"woman_astronaut": "👩🚀",
|
|
|
"man_astronaut": "👨🚀",
|
|
|
"woman_judge": "👩⚖",
|
|
|
"man_judge": "👨⚖",
|
|
|
"mrs_claus": "🤶",
|
|
|
"santa": "🎅",
|
|
|
"princess": "👸",
|
|
|
"prince": "🤴",
|
|
|
"bride_with_veil": "👰",
|
|
|
"man_in_tuxedo": "🤵",
|
|
|
"angel": "👼",
|
|
|
"pregnant_woman": "🤰",
|
|
|
"bowing_woman": "🙇♀",
|
|
|
"bowing_man": "🙇",
|
|
|
"bow": "🙇",
|
|
|
"tipping_hand_woman": "💁",
|
|
|
"information_desk_person": "💁",
|
|
|
"sassy_woman": "💁",
|
|
|
"tipping_hand_man": "💁♂",
|
|
|
"sassy_man": "💁♂",
|
|
|
"no_good_woman": "🙅",
|
|
|
"no_good": "🙅",
|
|
|
"ng_woman": "🙅",
|
|
|
"no_good_man": "🙅♂",
|
|
|
"ng_man": "🙅♂",
|
|
|
"ok_woman": "🙆",
|
|
|
"ok_man": "🙆♂",
|
|
|
"raising_hand_woman": "🙋",
|
|
|
"raising_hand": "🙋",
|
|
|
"raising_hand_man": "🙋♂",
|
|
|
"woman_facepalming": "🤦♀",
|
|
|
"man_facepalming": "🤦♂",
|
|
|
"woman_shrugging": "🤷♀",
|
|
|
"man_shrugging": "🤷♂",
|
|
|
"pouting_woman": "🙎",
|
|
|
"person_with_pouting_face": "🙎",
|
|
|
"pouting_man": "🙎♂",
|
|
|
"frowning_woman": "🙍",
|
|
|
"person_frowning": "🙍",
|
|
|
"frowning_man": "🙍♂",
|
|
|
"haircut_woman": "💇",
|
|
|
"haircut": "💇",
|
|
|
"haircut_man": "💇♂",
|
|
|
"massage_woman": "💆",
|
|
|
"massage": "💆",
|
|
|
"massage_man": "💆♂",
|
|
|
"business_suit_levitating": "🕴",
|
|
|
"dancer": "💃",
|
|
|
"man_dancing": "🕺",
|
|
|
"dancing_women": "👯",
|
|
|
"dancers": "👯",
|
|
|
"dancing_men": "👯♂",
|
|
|
"walking_woman": "🚶♀",
|
|
|
"walking_man": "🚶",
|
|
|
"walking": "🚶",
|
|
|
"running_woman": "🏃♀",
|
|
|
"running_man": "🏃",
|
|
|
"runner": "🏃",
|
|
|
"running": "🏃",
|
|
|
"couple": "👫",
|
|
|
"two_women_holding_hands": "👭",
|
|
|
"two_men_holding_hands": "👬",
|
|
|
"couple_with_heart_woman_man": "💑",
|
|
|
"couple_with_heart": "💑",
|
|
|
"couple_with_heart_woman_woman": "👩❤️👩",
|
|
|
"couple_with_heart_man_man": "👨❤️👨",
|
|
|
"couplekiss_man_woman": "💏",
|
|
|
"couplekiss_woman_woman": "👩❤️💋👩",
|
|
|
"couplekiss_man_man": "👨❤️💋👨",
|
|
|
"family_man_woman_boy": "👪",
|
|
|
"family": "👪",
|
|
|
"family_man_woman_girl": "👨👩👧",
|
|
|
"family_man_woman_girl_boy": "👨👩👧👦",
|
|
|
"family_man_woman_boy_boy": "👨👩👦👦",
|
|
|
"family_man_woman_girl_girl": "👨👩👧👧",
|
|
|
"family_woman_woman_boy": "👩👩👦",
|
|
|
"family_woman_woman_girl": "👩👩👧",
|
|
|
"family_woman_woman_girl_boy": "👩👩👧👦",
|
|
|
"family_woman_woman_boy_boy": "👩👩👦👦",
|
|
|
"family_woman_woman_girl_girl": "👩👩👧👧",
|
|
|
"family_man_man_boy": "👨👨👦",
|
|
|
"family_man_man_girl": "👨👨👧",
|
|
|
"family_man_man_girl_boy": "👨👨👧👦",
|
|
|
"family_man_man_boy_boy": "👨👨👦👦",
|
|
|
"family_man_man_girl_girl": "👨👨👧👧",
|
|
|
"family_woman_boy": "👩👦",
|
|
|
"family_woman_girl": "👩👧",
|
|
|
"family_woman_girl_boy": "👩👧👦",
|
|
|
"family_woman_boy_boy": "👩👦👦",
|
|
|
"family_woman_girl_girl": "👩👧👧",
|
|
|
"family_man_boy": "👨👦",
|
|
|
"family_man_girl": "👨👧",
|
|
|
"family_man_girl_boy": "👨👧👦",
|
|
|
"family_man_boy_boy": "👨👦👦",
|
|
|
"family_man_girl_girl": "👨👧👧",
|
|
|
"womans_clothes": "👚",
|
|
|
"shirt": "👕",
|
|
|
"tshirt": "👕",
|
|
|
"jeans": "👖",
|
|
|
"necktie": "👔",
|
|
|
"dress": "👗",
|
|
|
"bikini": "👙",
|
|
|
"kimono": "👘",
|
|
|
"high_heel": "👠",
|
|
|
"sandal": "👡",
|
|
|
"boot": "👢",
|
|
|
"mans_shoe": "👞",
|
|
|
"shoe": "👞",
|
|
|
"athletic_shoe": "👟",
|
|
|
"womans_hat": "👒",
|
|
|
"tophat": "🎩",
|
|
|
"mortar_board": "🎓",
|
|
|
"crown": "👑",
|
|
|
"rescue_worker_helmet": "⛑",
|
|
|
"school_satchel": "🎒",
|
|
|
"pouch": "👝",
|
|
|
"purse": "👛",
|
|
|
"handbag": "👜",
|
|
|
"briefcase": "💼",
|
|
|
"eyeglasses": "👓",
|
|
|
"dark_sunglasses": "🕶",
|
|
|
"closed_umbrella": "🌂",
|
|
|
"open_umbrella": "☂️",
|
|
|
"dog": "🐶",
|
|
|
"cat": "🐱",
|
|
|
"mouse": "🐭",
|
|
|
"hamster": "🐹",
|
|
|
"rabbit": "🐰",
|
|
|
"fox_face": "🦊",
|
|
|
"bear": "🐻",
|
|
|
"panda_face": "🐼",
|
|
|
"koala": "🐨",
|
|
|
"tiger": "🐯",
|
|
|
"lion": "🦁",
|
|
|
"cow": "🐮",
|
|
|
"pig": "🐷",
|
|
|
"pig_nose": "🐽",
|
|
|
"frog": "🐸",
|
|
|
"monkey_face": "🐵",
|
|
|
"see_no_evil": "🙈",
|
|
|
"hear_no_evil": "🙉",
|
|
|
"speak_no_evil": "🙊",
|
|
|
"monkey": "🐒",
|
|
|
"chicken": "🐔",
|
|
|
"penguin": "🐧",
|
|
|
"bird": "🐦",
|
|
|
"baby_chick": "🐤",
|
|
|
"hatching_chick": "🐣",
|
|
|
"hatched_chick": "🐥",
|
|
|
"duck": "🦆",
|
|
|
"eagle": "🦅",
|
|
|
"owl": "🦉",
|
|
|
"bat": "🦇",
|
|
|
"wolf": "🐺",
|
|
|
"boar": "🐗",
|
|
|
"horse": "🐴",
|
|
|
"unicorn": "🦄",
|
|
|
"bee": "🐝",
|
|
|
"honeybee": "🐝",
|
|
|
"bug": "🐛",
|
|
|
"butterfly": "🦋",
|
|
|
"snail": "🐌",
|
|
|
"shell": "🐚",
|
|
|
"beetle": "🐞",
|
|
|
"ant": "🐜",
|
|
|
"spider": "🕷",
|
|
|
"spider_web": "🕸",
|
|
|
"turtle": "🐢",
|
|
|
"snake": "🐍",
|
|
|
"lizard": "🦎",
|
|
|
"scorpion": "🦂",
|
|
|
"crab": "🦀",
|
|
|
"squid": "🦑",
|
|
|
"octopus": "🐙",
|
|
|
"shrimp": "🦐",
|
|
|
"tropical_fish": "🐠",
|
|
|
"fish": "🐟",
|
|
|
"blowfish": "🐡",
|
|
|
"dolphin": "🐬",
|
|
|
"flipper": "🐬",
|
|
|
"shark": "🦈",
|
|
|
"whale": "🐳",
|
|
|
"whale2": "🐋",
|
|
|
"crocodile": "🐊",
|
|
|
"leopard": "🐆",
|
|
|
"tiger2": "🐅",
|
|
|
"water_buffalo": "🐃",
|
|
|
"ox": "🐂",
|
|
|
"cow2": "🐄",
|
|
|
"deer": "🦌",
|
|
|
"dromedary_camel": "🐪",
|
|
|
"camel": "🐫",
|
|
|
"elephant": "🐘",
|
|
|
"rhinoceros": "🦏",
|
|
|
"gorilla": "🦍",
|
|
|
"racehorse": "🐎",
|
|
|
"pig2": "🐖",
|
|
|
"goat": "🐐",
|
|
|
"ram": "🐏",
|
|
|
"sheep": "🐑",
|
|
|
"dog2": "🐕",
|
|
|
"poodle": "🐩",
|
|
|
"cat2": "🐈",
|
|
|
"rooster": "🐓",
|
|
|
"turkey": "🦃",
|
|
|
"dove": "🕊",
|
|
|
"rabbit2": "🐇",
|
|
|
"mouse2": "🐁",
|
|
|
"rat": "🐀",
|
|
|
"chipmunk": "🐿",
|
|
|
"feet": "🐾",
|
|
|
"paw_prints": "🐾",
|
|
|
"dragon": "🐉",
|
|
|
"dragon_face": "🐲",
|
|
|
"cactus": "🌵",
|
|
|
"christmas_tree": "🎄",
|
|
|
"evergreen_tree": "🌲",
|
|
|
"deciduous_tree": "🌳",
|
|
|
"palm_tree": "🌴",
|
|
|
"seedling": "🌱",
|
|
|
"herb": "🌿",
|
|
|
"shamrock": "☘️",
|
|
|
"four_leaf_clover": "🍀",
|
|
|
"bamboo": "🎍",
|
|
|
"tanabata_tree": "🎋",
|
|
|
"leaves": "🍃",
|
|
|
"fallen_leaf": "🍂",
|
|
|
"maple_leaf": "🍁",
|
|
|
"mushroom": "🍄",
|
|
|
"ear_of_rice": "🌾",
|
|
|
"bouquet": "💐",
|
|
|
"tulip": "🌷",
|
|
|
"rose": "🌹",
|
|
|
"wilted_flower": "🥀",
|
|
|
"sunflower": "🌻",
|
|
|
"blossom": "🌼",
|
|
|
"cherry_blossom": "🌸",
|
|
|
"hibiscus": "🌺",
|
|
|
"earth_americas": "🌎",
|
|
|
"earth_africa": "🌍",
|
|
|
"earth_asia": "🌏",
|
|
|
"full_moon": "🌕",
|
|
|
"waning_gibbous_moon": "🌖",
|
|
|
"last_quarter_moon": "🌗",
|
|
|
"waning_crescent_moon": "🌘",
|
|
|
"new_moon": "🌑",
|
|
|
"waxing_crescent_moon": "🌒",
|
|
|
"first_quarter_moon": "🌓",
|
|
|
"moon": "🌔",
|
|
|
"waxing_gibbous_moon": "🌔",
|
|
|
"new_moon_with_face": "🌚",
|
|
|
"full_moon_with_face": "🌝",
|
|
|
"sun_with_face": "🌞",
|
|
|
"first_quarter_moon_with_face": "🌛",
|
|
|
"last_quarter_moon_with_face": "🌜",
|
|
|
"crescent_moon": "🌙",
|
|
|
"dizzy": "💫",
|
|
|
"star": "⭐️",
|
|
|
"star2": "🌟",
|
|
|
"sparkles": "✨",
|
|
|
"zap": "⚡️",
|
|
|
"fire": "🔥",
|
|
|
"boom": "💥",
|
|
|
"collision": "💥",
|
|
|
"comet": "☄",
|
|
|
"sunny": "☀️",
|
|
|
"sun_behind_small_cloud": "🌤",
|
|
|
"partly_sunny": "⛅️",
|
|
|
"sun_behind_large_cloud": "🌥",
|
|
|
"sun_behind_rain_cloud": "🌦",
|
|
|
"rainbow": "🌈",
|
|
|
"cloud": "☁️",
|
|
|
"cloud_with_rain": "🌧",
|
|
|
"cloud_with_lightning_and_rain": "⛈",
|
|
|
"cloud_with_lightning": "🌩",
|
|
|
"cloud_with_snow": "🌨",
|
|
|
"snowman_with_snow": "☃️",
|
|
|
"snowman": "⛄️",
|
|
|
"snowflake": "❄️",
|
|
|
"wind_face": "🌬",
|
|
|
"dash": "💨",
|
|
|
"tornado": "🌪",
|
|
|
"fog": "🌫",
|
|
|
"ocean": "🌊",
|
|
|
"droplet": "💧",
|
|
|
"sweat_drops": "💦",
|
|
|
"umbrella": "☔️",
|
|
|
"green_apple": "🍏",
|
|
|
"apple": "🍎",
|
|
|
"pear": "🍐",
|
|
|
"tangerine": "🍊",
|
|
|
"orange": "🍊",
|
|
|
"mandarin": "🍊",
|
|
|
"lemon": "🍋",
|
|
|
"banana": "🍌",
|
|
|
"watermelon": "🍉",
|
|
|
"grapes": "🍇",
|
|
|
"strawberry": "🍓",
|
|
|
"melon": "🍈",
|
|
|
"cherries": "🍒",
|
|
|
"peach": "🍑",
|
|
|
"pineapple": "🍍",
|
|
|
"kiwi_fruit": "🥝",
|
|
|
"avocado": "🥑",
|
|
|
"tomato": "🍅",
|
|
|
"eggplant": "🍆",
|
|
|
"cucumber": "🥒",
|
|
|
"carrot": "🥕",
|
|
|
"corn": "🌽",
|
|
|
"hot_pepper": "🌶",
|
|
|
"potato": "🥔",
|
|
|
"sweet_potato": "🍠",
|
|
|
"chestnut": "🌰",
|
|
|
"peanuts": "🥜",
|
|
|
"honey_pot": "🍯",
|
|
|
"croissant": "🥐",
|
|
|
"bread": "🍞",
|
|
|
"baguette_bread": "🥖",
|
|
|
"cheese": "🧀",
|
|
|
"egg": "🥚",
|
|
|
"fried_egg": "🍳",
|
|
|
"bacon": "🥓",
|
|
|
"pancakes": "🥞",
|
|
|
"fried_shrimp": "🍤",
|
|
|
"poultry_leg": "🍗",
|
|
|
"meat_on_bone": "🍖",
|
|
|
"pizza": "🍕",
|
|
|
"hotdog": "🌭",
|
|
|
"hamburger": "🍔",
|
|
|
"fries": "🍟",
|
|
|
"stuffed_flatbread": "🥙",
|
|
|
"taco": "🌮",
|
|
|
"burrito": "🌯",
|
|
|
"green_salad": "🥗",
|
|
|
"shallow_pan_of_food": "🥘",
|
|
|
"spaghetti": "🍝",
|
|
|
"ramen": "🍜",
|
|
|
"stew": "🍲",
|
|
|
"fish_cake": "🍥",
|
|
|
"sushi": "🍣",
|
|
|
"bento": "🍱",
|
|
|
"curry": "🍛",
|
|
|
"rice": "🍚",
|
|
|
"rice_ball": "🍙",
|
|
|
"rice_cracker": "🍘",
|
|
|
"oden": "🍢",
|
|
|
"dango": "🍡",
|
|
|
"shaved_ice": "🍧",
|
|
|
"ice_cream": "🍨",
|
|
|
"icecream": "🍦",
|
|
|
"cake": "🍰",
|
|
|
"birthday": "🎂",
|
|
|
"custard": "🍮",
|
|
|
"lollipop": "🍭",
|
|
|
"candy": "🍬",
|
|
|
"chocolate_bar": "🍫",
|
|
|
"popcorn": "🍿",
|
|
|
"doughnut": "🍩",
|
|
|
"cookie": "🍪",
|
|
|
"milk_glass": "🥛",
|
|
|
"baby_bottle": "🍼",
|
|
|
"coffee": "☕️",
|
|
|
"tea": "🍵",
|
|
|
"sake": "🍶",
|
|
|
"beer": "🍺",
|
|
|
"beers": "🍻",
|
|
|
"clinking_glasses": "🥂",
|
|
|
"wine_glass": "🍷",
|
|
|
"tumbler_glass": "🥃",
|
|
|
"cocktail": "🍸",
|
|
|
"tropical_drink": "🍹",
|
|
|
"champagne": "🍾",
|
|
|
"spoon": "🥄",
|
|
|
"fork_and_knife": "🍴",
|
|
|
"plate_with_cutlery": "🍽",
|
|
|
"soccer": "⚽️",
|
|
|
"basketball": "🏀",
|
|
|
"football": "🏈",
|
|
|
"baseball": "⚾️",
|
|
|
"tennis": "🎾",
|
|
|
"volleyball": "🏐",
|
|
|
"rugby_football": "🏉",
|
|
|
"8ball": "🎱",
|
|
|
"ping_pong": "🏓",
|
|
|
"badminton": "🏸",
|
|
|
"goal_net": "🥅",
|
|
|
"ice_hockey": "🏒",
|
|
|
"field_hockey": "🏑",
|
|
|
"cricket": "🏏",
|
|
|
"golf": "⛳️",
|
|
|
"bow_and_arrow": "🏹",
|
|
|
"fishing_pole_and_fish": "🎣",
|
|
|
"boxing_glove": "🥊",
|
|
|
"martial_arts_uniform": "🥋",
|
|
|
"ice_skate": "⛸",
|
|
|
"ski": "🎿",
|
|
|
"skier": "⛷",
|
|
|
"snowboarder": "🏂",
|
|
|
"weight_lifting_woman": "🏋️♀️",
|
|
|
"weight_lifting_man": "🏋",
|
|
|
"person_fencing": "🤺",
|
|
|
"women_wrestling": "🤼♀",
|
|
|
"men_wrestling": "🤼♂",
|
|
|
"woman_cartwheeling": "🤸♀",
|
|
|
"man_cartwheeling": "🤸♂",
|
|
|
"basketball_woman": "⛹️♀️",
|
|
|
"basketball_man": "⛹",
|
|
|
"woman_playing_handball": "🤾♀",
|
|
|
"man_playing_handball": "🤾♂",
|
|
|
"golfing_woman": "🏌️♀️",
|
|
|
"golfing_man": "🏌",
|
|
|
"surfing_woman": "🏄♀",
|
|
|
"surfing_man": "🏄",
|
|
|
"surfer": "🏄",
|
|
|
"swimming_woman": "🏊♀",
|
|
|
"swimming_man": "🏊",
|
|
|
"swimmer": "🏊",
|
|
|
"woman_playing_water_polo": "🤽♀",
|
|
|
"man_playing_water_polo": "🤽♂",
|
|
|
"rowing_woman": "🚣♀",
|
|
|
"rowing_man": "🚣",
|
|
|
"rowboat": "🚣",
|
|
|
"horse_racing": "🏇",
|
|
|
"biking_woman": "🚴♀",
|
|
|
"biking_man": "🚴",
|
|
|
"bicyclist": "🚴",
|
|
|
"mountain_biking_woman": "🚵♀",
|
|
|
"mountain_biking_man": "🚵",
|
|
|
"mountain_bicyclist": "🚵",
|
|
|
"running_shirt_with_sash": "🎽",
|
|
|
"medal_sports": "🏅",
|
|
|
"medal_military": "🎖",
|
|
|
"1st_place_medal": "🥇",
|
|
|
"2nd_place_medal": "🥈",
|
|
|
"3rd_place_medal": "🥉",
|
|
|
"trophy": "🏆",
|
|
|
"rosette": "🏵",
|
|
|
"reminder_ribbon": "🎗",
|
|
|
"ticket": "🎫",
|
|
|
"tickets": "🎟",
|
|
|
"circus_tent": "🎪",
|
|
|
"woman_juggling": "🤹♀",
|
|
|
"man_juggling": "🤹♂",
|
|
|
"performing_arts": "🎭",
|
|
|
"art": "🎨",
|
|
|
"clapper": "🎬",
|
|
|
"microphone": "🎤",
|
|
|
"headphones": "🎧",
|
|
|
"musical_score": "🎼",
|
|
|
"musical_keyboard": "🎹",
|
|
|
"drum": "🥁",
|
|
|
"saxophone": "🎷",
|
|
|
"trumpet": "🎺",
|
|
|
"guitar": "🎸",
|
|
|
"violin": "🎻",
|
|
|
"game_die": "🎲",
|
|
|
"dart": "🎯",
|
|
|
"bowling": "🎳",
|
|
|
"video_game": "🎮",
|
|
|
"slot_machine": "🎰",
|
|
|
"car": "🚗",
|
|
|
"red_car": "🚗",
|
|
|
"taxi": "🚕",
|
|
|
"blue_car": "🚙",
|
|
|
"bus": "🚌",
|
|
|
"trolleybus": "🚎",
|
|
|
"racing_car": "🏎",
|
|
|
"police_car": "🚓",
|
|
|
"ambulance": "🚑",
|
|
|
"fire_engine": "🚒",
|
|
|
"minibus": "🚐",
|
|
|
"truck": "🚚",
|
|
|
"articulated_lorry": "🚛",
|
|
|
"tractor": "🚜",
|
|
|
"kick_scooter": "🛴",
|
|
|
"bike": "🚲",
|
|
|
"motor_scooter": "🛵",
|
|
|
"motorcycle": "🏍",
|
|
|
"rotating_light": "🚨",
|
|
|
"oncoming_police_car": "🚔",
|
|
|
"oncoming_bus": "🚍",
|
|
|
"oncoming_automobile": "🚘",
|
|
|
"oncoming_taxi": "🚖",
|
|
|
"aerial_tramway": "🚡",
|
|
|
"mountain_cableway": "🚠",
|
|
|
"suspension_railway": "🚟",
|
|
|
"railway_car": "🚃",
|
|
|
"train": "🚋",
|
|
|
"mountain_railway": "🚞",
|
|
|
"monorail": "🚝",
|
|
|
"bullettrain_side": "🚄",
|
|
|
"bullettrain_front": "🚅",
|
|
|
"light_rail": "🚈",
|
|
|
"steam_locomotive": "🚂",
|
|
|
"train2": "🚆",
|
|
|
"metro": "🚇",
|
|
|
"tram": "🚊",
|
|
|
"station": "🚉",
|
|
|
"helicopter": "🚁",
|
|
|
"small_airplane": "🛩",
|
|
|
"airplane": "✈️",
|
|
|
"flight_departure": "🛫",
|
|
|
"flight_arrival": "🛬",
|
|
|
"rocket": "🚀",
|
|
|
"artificial_satellite": "🛰",
|
|
|
"seat": "💺",
|
|
|
"canoe": "🛶",
|
|
|
"boat": "⛵️",
|
|
|
"sailboat": "⛵️",
|
|
|
"motor_boat": "🛥",
|
|
|
"speedboat": "🚤",
|
|
|
"passenger_ship": "🛳",
|
|
|
"ferry": "⛴",
|
|
|
"ship": "🚢",
|
|
|
"anchor": "⚓️",
|
|
|
"construction": "🚧",
|
|
|
"fuelpump": "⛽️",
|
|
|
"busstop": "🚏",
|
|
|
"vertical_traffic_light": "🚦",
|
|
|
"traffic_light": "🚥",
|
|
|
"world_map": "🗺",
|
|
|
"moyai": "🗿",
|
|
|
"statue_of_liberty": "🗽",
|
|
|
"fountain": "⛲️",
|
|
|
"tokyo_tower": "🗼",
|
|
|
"european_castle": "🏰",
|
|
|
"japanese_castle": "🏯",
|
|
|
"stadium": "🏟",
|
|
|
"ferris_wheel": "🎡",
|
|
|
"roller_coaster": "🎢",
|
|
|
"carousel_horse": "🎠",
|
|
|
"parasol_on_ground": "⛱",
|
|
|
"beach_umbrella": "🏖",
|
|
|
"desert_island": "🏝",
|
|
|
"mountain": "⛰",
|
|
|
"mountain_snow": "🏔",
|
|
|
"mount_fuji": "🗻",
|
|
|
"volcano": "🌋",
|
|
|
"desert": "🏜",
|
|
|
"camping": "🏕",
|
|
|
"tent": "⛺️",
|
|
|
"railway_track": "🛤",
|
|
|
"motorway": "🛣",
|
|
|
"building_construction": "🏗",
|
|
|
"factory": "🏭",
|
|
|
"house": "🏠",
|
|
|
"house_with_garden": "🏡",
|
|
|
"houses": "🏘",
|
|
|
"derelict_house": "🏚",
|
|
|
"office": "🏢",
|
|
|
"department_store": "🏬",
|
|
|
"post_office": "🏣",
|
|
|
"european_post_office": "🏤",
|
|
|
"hospital": "🏥",
|
|
|
"bank": "🏦",
|
|
|
"hotel": "🏨",
|
|
|
"convenience_store": "🏪",
|
|
|
"school": "🏫",
|
|
|
"love_hotel": "🏩",
|
|
|
"wedding": "💒",
|
|
|
"classical_building": "🏛",
|
|
|
"church": "⛪️",
|
|
|
"mosque": "🕌",
|
|
|
"synagogue": "🕍",
|
|
|
"kaaba": "🕋",
|
|
|
"shinto_shrine": "⛩",
|
|
|
"japan": "🗾",
|
|
|
"rice_scene": "🎑",
|
|
|
"national_park": "🏞",
|
|
|
"sunrise": "🌅",
|
|
|
"sunrise_over_mountains": "🌄",
|
|
|
"stars": "🌠",
|
|
|
"sparkler": "🎇",
|
|
|
"fireworks": "🎆",
|
|
|
"city_sunrise": "🌇",
|
|
|
"city_sunset": "🌆",
|
|
|
"cityscape": "🏙",
|
|
|
"night_with_stars": "🌃",
|
|
|
"milky_way": "🌌",
|
|
|
"bridge_at_night": "🌉",
|
|
|
"foggy": "🌁",
|
|
|
"watch": "⌚️",
|
|
|
"iphone": "📱",
|
|
|
"calling": "📲",
|
|
|
"computer": "💻",
|
|
|
"keyboard": "⌨️",
|
|
|
"desktop_computer": "🖥",
|
|
|
"printer": "🖨",
|
|
|
"computer_mouse": "🖱",
|
|
|
"trackball": "🖲",
|
|
|
"joystick": "🕹",
|
|
|
"clamp": "🗜",
|
|
|
"minidisc": "💽",
|
|
|
"floppy_disk": "💾",
|
|
|
"cd": "💿",
|
|
|
"dvd": "📀",
|
|
|
"vhs": "📼",
|
|
|
"camera": "📷",
|
|
|
"camera_flash": "📸",
|
|
|
"video_camera": "📹",
|
|
|
"movie_camera": "🎥",
|
|
|
"film_projector": "📽",
|
|
|
"film_strip": "🎞",
|
|
|
"telephone_receiver": "📞",
|
|
|
"phone": "☎️",
|
|
|
"telephone": "☎️",
|
|
|
"pager": "📟",
|
|
|
"fax": "📠",
|
|
|
"tv": "📺",
|
|
|
"radio": "📻",
|
|
|
"studio_microphone": "🎙",
|
|
|
"level_slider": "🎚",
|
|
|
"control_knobs": "🎛",
|
|
|
"stopwatch": "⏱",
|
|
|
"timer_clock": "⏲",
|
|
|
"alarm_clock": "⏰",
|
|
|
"mantelpiece_clock": "🕰",
|
|
|
"hourglass": "⌛️",
|
|
|
"hourglass_flowing_sand": "⏳",
|
|
|
"satellite": "📡",
|
|
|
"battery": "🔋",
|
|
|
"electric_plug": "🔌",
|
|
|
"bulb": "💡",
|
|
|
"flashlight": "🔦",
|
|
|
"candle": "🕯",
|
|
|
"wastebasket": "🗑",
|
|
|
"oil_drum": "🛢",
|
|
|
"money_with_wings": "💸",
|
|
|
"dollar": "💵",
|
|
|
"yen": "💴",
|
|
|
"euro": "💶",
|
|
|
"pound": "💷",
|
|
|
"moneybag": "💰",
|
|
|
"credit_card": "💳",
|
|
|
"gem": "💎",
|
|
|
"balance_scale": "⚖️",
|
|
|
"wrench": "🔧",
|
|
|
"hammer": "🔨",
|
|
|
"hammer_and_pick": "⚒",
|
|
|
"hammer_and_wrench": "🛠",
|
|
|
"pick": "⛏",
|
|
|
"nut_and_bolt": "🔩",
|
|
|
"gear": "⚙️",
|
|
|
"chains": "⛓",
|
|
|
"gun": "🔫",
|
|
|
"bomb": "💣",
|
|
|
"hocho": "🔪",
|
|
|
"knife": "🔪",
|
|
|
"dagger": "🗡",
|
|
|
"crossed_swords": "⚔️",
|
|
|
"shield": "🛡",
|
|
|
"smoking": "🚬",
|
|
|
"coffin": "⚰️",
|
|
|
"funeral_urn": "⚱️",
|
|
|
"amphora": "🏺",
|
|
|
"crystal_ball": "🔮",
|
|
|
"prayer_beads": "📿",
|
|
|
"barber": "💈",
|
|
|
"alembic": "⚗️",
|
|
|
"telescope": "🔭",
|
|
|
"microscope": "🔬",
|
|
|
"hole": "🕳",
|
|
|
"pill": "💊",
|
|
|
"syringe": "💉",
|
|
|
"thermometer": "🌡",
|
|
|
"toilet": "🚽",
|
|
|
"potable_water": "🚰",
|
|
|
"shower": "🚿",
|
|
|
"bathtub": "🛁",
|
|
|
"bath": "🛀",
|
|
|
"bellhop_bell": "🛎",
|
|
|
"key": "🔑",
|
|
|
"old_key": "🗝",
|
|
|
"door": "🚪",
|
|
|
"couch_and_lamp": "🛋",
|
|
|
"bed": "🛏",
|
|
|
"sleeping_bed": "🛌",
|
|
|
"framed_picture": "🖼",
|
|
|
"shopping": "🛍",
|
|
|
"shopping_cart": "🛒",
|
|
|
"gift": "🎁",
|
|
|
"balloon": "🎈",
|
|
|
"flags": "🎏",
|
|
|
"ribbon": "🎀",
|
|
|
"confetti_ball": "🎊",
|
|
|
"tada": "🎉",
|
|
|
"dolls": "🎎",
|
|
|
"izakaya_lantern": "🏮",
|
|
|
"lantern": "🏮",
|
|
|
"wind_chime": "🎐",
|
|
|
"email": "✉️",
|
|
|
"envelope": "✉️",
|
|
|
"envelope_with_arrow": "📩",
|
|
|
"incoming_envelope": "📨",
|
|
|
"e-mail": "📧",
|
|
|
"love_letter": "💌",
|
|
|
"inbox_tray": "📥",
|
|
|
"outbox_tray": "📤",
|
|
|
"package": "📦",
|
|
|
"label": "🏷",
|
|
|
"mailbox_closed": "📪",
|
|
|
"mailbox": "📫",
|
|
|
"mailbox_with_mail": "📬",
|
|
|
"mailbox_with_no_mail": "📭",
|
|
|
"postbox": "📮",
|
|
|
"postal_horn": "📯",
|
|
|
"scroll": "📜",
|
|
|
"page_with_curl": "📃",
|
|
|
"page_facing_up": "📄",
|
|
|
"bookmark_tabs": "📑",
|
|
|
"bar_chart": "📊",
|
|
|
"chart_with_upwards_trend": "📈",
|
|
|
"chart_with_downwards_trend": "📉",
|
|
|
"spiral_notepad": "🗒",
|
|
|
"spiral_calendar": "🗓",
|
|
|
"calendar": "📆",
|
|
|
"date": "📅",
|
|
|
"card_index": "📇",
|
|
|
"card_file_box": "🗃",
|
|
|
"ballot_box": "🗳",
|
|
|
"file_cabinet": "🗄",
|
|
|
"clipboard": "📋",
|
|
|
"file_folder": "📁",
|
|
|
"open_file_folder": "📂",
|
|
|
"card_index_dividers": "🗂",
|
|
|
"newspaper_roll": "🗞",
|
|
|
"newspaper": "📰",
|
|
|
"notebook": "📓",
|
|
|
"notebook_with_decorative_cover": "📔",
|
|
|
"ledger": "📒",
|
|
|
"closed_book": "📕",
|
|
|
"green_book": "📗",
|
|
|
"blue_book": "📘",
|
|
|
"orange_book": "📙",
|
|
|
"books": "📚",
|
|
|
"book": "📖",
|
|
|
"open_book": "📖",
|
|
|
"bookmark": "🔖",
|
|
|
"link": "🔗",
|
|
|
"paperclip": "📎",
|
|
|
"paperclips": "🖇",
|
|
|
"triangular_ruler": "📐",
|
|
|
"straight_ruler": "📏",
|
|
|
"pushpin": "📌",
|
|
|
"round_pushpin": "📍",
|
|
|
"scissors": "✂️",
|
|
|
"pen": "🖊",
|
|
|
"fountain_pen": "🖋",
|
|
|
"black_nib": "✒️",
|
|
|
"paintbrush": "🖌",
|
|
|
"crayon": "🖍",
|
|
|
"memo": "📝",
|
|
|
"pencil": "📝",
|
|
|
"pencil2": "✏️",
|
|
|
"mag": "🔍",
|
|
|
"mag_right": "🔎",
|
|
|
"lock_with_ink_pen": "🔏",
|
|
|
"closed_lock_with_key": "🔐",
|
|
|
"lock": "🔒",
|
|
|
"unlock": "🔓",
|
|
|
"heart": "❤️",
|
|
|
"yellow_heart": "💛",
|
|
|
"green_heart": "💚",
|
|
|
"blue_heart": "💙",
|
|
|
"purple_heart": "💜",
|
|
|
"black_heart": "🖤",
|
|
|
"broken_heart": "💔",
|
|
|
"heavy_heart_exclamation": "❣️",
|
|
|
"two_hearts": "💕",
|
|
|
"revolving_hearts": "💞",
|
|
|
"heartbeat": "💓",
|
|
|
"heartpulse": "💗",
|
|
|
"sparkling_heart": "💖",
|
|
|
"cupid": "💘",
|
|
|
"gift_heart": "💝",
|
|
|
"heart_decoration": "💟",
|
|
|
"peace_symbol": "☮️",
|
|
|
"latin_cross": "✝️",
|
|
|
"star_and_crescent": "☪️",
|
|
|
"om": "🕉",
|
|
|
"wheel_of_dharma": "☸️",
|
|
|
"star_of_david": "✡️",
|
|
|
"six_pointed_star": "🔯",
|
|
|
"menorah": "🕎",
|
|
|
"yin_yang": "☯️",
|
|
|
"orthodox_cross": "☦️",
|
|
|
"place_of_worship": "🛐",
|
|
|
"ophiuchus": "⛎",
|
|
|
"aries": "♈️",
|
|
|
"taurus": "♉️",
|
|
|
"gemini": "♊️",
|
|
|
"cancer": "♋️",
|
|
|
"leo": "♌️",
|
|
|
"virgo": "♍️",
|
|
|
"libra": "♎️",
|
|
|
"scorpius": "♏️",
|
|
|
"sagittarius": "♐️",
|
|
|
"capricorn": "♑️",
|
|
|
"aquarius": "♒️",
|
|
|
"pisces": "♓️",
|
|
|
"id": "🆔",
|
|
|
"atom_symbol": "⚛️",
|
|
|
"accept": "🉑",
|
|
|
"radioactive": "☢️",
|
|
|
"biohazard": "☣️",
|
|
|
"mobile_phone_off": "📴",
|
|
|
"vibration_mode": "📳",
|
|
|
"eight_pointed_black_star": "✴️",
|
|
|
"vs": "🆚",
|
|
|
"white_flower": "💮",
|
|
|
"ideograph_advantage": "🉐",
|
|
|
"secret": "㊙️",
|
|
|
"congratulations": "㊗️",
|
|
|
"u6e80": "🈵",
|
|
|
"a": "🅰️",
|
|
|
"b": "🅱️",
|
|
|
"ab": "🆎",
|
|
|
"cl": "🆑",
|
|
|
"o2": "🅾️",
|
|
|
"sos": "🆘",
|
|
|
"x": "❌",
|
|
|
"o": "⭕️",
|
|
|
"stop_sign": "🛑",
|
|
|
"no_entry": "⛔️",
|
|
|
"name_badge": "📛",
|
|
|
"no_entry_sign": "🚫",
|
|
|
"anger": "💢",
|
|
|
"hotsprings": "♨️",
|
|
|
"no_pedestrians": "🚷",
|
|
|
"do_not_litter": "🚯",
|
|
|
"no_bicycles": "🚳",
|
|
|
"non-potable_water": "🚱",
|
|
|
"underage": "🔞",
|
|
|
"no_mobile_phones": "📵",
|
|
|
"no_smoking": "🚭",
|
|
|
"exclamation": "❗️",
|
|
|
"heavy_exclamation_mark": "❗️",
|
|
|
"grey_exclamation": "❕",
|
|
|
"question": "❓",
|
|
|
"grey_question": "❔",
|
|
|
"bangbang": "‼️",
|
|
|
"interrobang": "⁉️",
|
|
|
"low_brightness": "🔅",
|
|
|
"high_brightness": "🔆",
|
|
|
"part_alternation_mark": "〽️",
|
|
|
"warning": "⚠️",
|
|
|
"children_crossing": "🚸",
|
|
|
"trident": "🔱",
|
|
|
"fleur_de_lis": "⚜️",
|
|
|
"beginner": "🔰",
|
|
|
"recycle": "♻️",
|
|
|
"white_check_mark": "✅",
|
|
|
"chart": "💹",
|
|
|
"sparkle": "❇️",
|
|
|
"eight_spoked_asterisk": "✳️",
|
|
|
"negative_squared_cross_mark": "❎",
|
|
|
"globe_with_meridians": "🌐",
|
|
|
"diamond_shape_with_a_dot_inside": "💠",
|
|
|
"m": "Ⓜ️",
|
|
|
"cyclone": "🌀",
|
|
|
"zzz": "💤",
|
|
|
"atm": "🏧",
|
|
|
"wc": "🚾",
|
|
|
"wheelchair": "♿️",
|
|
|
"parking": "🅿️",
|
|
|
"sa": "🈂️",
|
|
|
"passport_control": "🛂",
|
|
|
"customs": "🛃",
|
|
|
"baggage_claim": "🛄",
|
|
|
"left_luggage": "🛅",
|
|
|
"mens": "🚹",
|
|
|
"womens": "🚺",
|
|
|
"baby_symbol": "🚼",
|
|
|
"restroom": "🚻",
|
|
|
"put_litter_in_its_place": "🚮",
|
|
|
"cinema": "🎦",
|
|
|
"signal_strength": "📶",
|
|
|
"koko": "🈁",
|
|
|
"symbols": "🔣",
|
|
|
"information_source": "ℹ️",
|
|
|
"abc": "🔤",
|
|
|
"abcd": "🔡",
|
|
|
"capital_abcd": "🔠",
|
|
|
"ng": "🆖",
|
|
|
"ok": "🆗",
|
|
|
"up": "🆙",
|
|
|
"cool": "🆒",
|
|
|
"new": "🆕",
|
|
|
"free": "🆓",
|
|
|
"zero": "0️⃣",
|
|
|
"one": "1️⃣",
|
|
|
"two": "2️⃣",
|
|
|
"three": "3️⃣",
|
|
|
"four": "4️⃣",
|
|
|
"five": "5️⃣",
|
|
|
"six": "6️⃣",
|
|
|
"seven": "7️⃣",
|
|
|
"eight": "8️⃣",
|
|
|
"nine": "9️⃣",
|
|
|
"keycap_ten": "🔟",
|
|
|
"hash": "#️⃣",
|
|
|
"asterisk": "*️⃣",
|
|
|
"arrow_forward": "▶️",
|
|
|
"pause_button": "⏸",
|
|
|
"play_or_pause_button": "⏯",
|
|
|
"stop_button": "⏹",
|
|
|
"record_button": "⏺",
|
|
|
"next_track_button": "⏭",
|
|
|
"previous_track_button": "⏮",
|
|
|
"fast_forward": "⏩",
|
|
|
"rewind": "⏪",
|
|
|
"arrow_double_up": "⏫",
|
|
|
"arrow_double_down": "⏬",
|
|
|
"arrow_backward": "◀️",
|
|
|
"arrow_up_small": "🔼",
|
|
|
"arrow_down_small": "🔽",
|
|
|
"arrow_right": "➡️",
|
|
|
"arrow_left": "⬅️",
|
|
|
"arrow_up": "⬆️",
|
|
|
"arrow_down": "⬇️",
|
|
|
"arrow_upper_right": "↗️",
|
|
|
"arrow_lower_right": "↘️",
|
|
|
"arrow_lower_left": "↙️",
|
|
|
"arrow_upper_left": "↖️",
|
|
|
"arrow_up_down": "↕️",
|
|
|
"left_right_arrow": "↔️",
|
|
|
"arrow_right_hook": "↪️",
|
|
|
"leftwards_arrow_with_hook": "↩️",
|
|
|
"arrow_heading_up": "⤴️",
|
|
|
"arrow_heading_down": "⤵️",
|
|
|
"twisted_rightwards_arrows": "🔀",
|
|
|
"repeat": "🔁",
|
|
|
"repeat_one": "🔂",
|
|
|
"arrows_counterclockwise": "🔄",
|
|
|
"arrows_clockwise": "🔃",
|
|
|
"musical_note": "🎵",
|
|
|
"notes": "🎶",
|
|
|
"heavy_plus_sign": "➕",
|
|
|
"heavy_minus_sign": "➖",
|
|
|
"heavy_division_sign": "➗",
|
|
|
"heavy_multiplication_x": "✖️",
|
|
|
"heavy_dollar_sign": "💲",
|
|
|
"currency_exchange": "💱",
|
|
|
"tm": "™️",
|
|
|
"copyright": "©️",
|
|
|
"registered": "®️",
|
|
|
"wavy_dash": "〰️",
|
|
|
"curly_loop": "➰",
|
|
|
"loop": "➿",
|
|
|
"end": "🔚",
|
|
|
"back": "🔙",
|
|
|
"on": "🔛",
|
|
|
"top": "🔝",
|
|
|
"soon": "🔜",
|
|
|
"heavy_check_mark": "✔️",
|
|
|
"ballot_box_with_check": "☑️",
|
|
|
"radio_button": "🔘",
|
|
|
"white_circle": "⚪️",
|
|
|
"black_circle": "⚫️",
|
|
|
"red_circle": "🔴",
|
|
|
"large_blue_circle": "🔵",
|
|
|
"small_red_triangle": "🔺",
|
|
|
"small_red_triangle_down": "🔻",
|
|
|
"small_orange_diamond": "🔸",
|
|
|
"small_blue_diamond": "🔹",
|
|
|
"large_orange_diamond": "🔶",
|
|
|
"large_blue_diamond": "🔷",
|
|
|
"white_square_button": "🔳",
|
|
|
"black_square_button": "🔲",
|
|
|
"black_small_square": "▪️",
|
|
|
"white_small_square": "▫️",
|
|
|
"black_medium_small_square": "◾️",
|
|
|
"white_medium_small_square": "◽️",
|
|
|
"black_medium_square": "◼️",
|
|
|
"white_medium_square": "◻️",
|
|
|
"black_large_square": "⬛️",
|
|
|
"white_large_square": "⬜️",
|
|
|
"speaker": "🔈",
|
|
|
"mute": "🔇",
|
|
|
"sound": "🔉",
|
|
|
"loud_sound": "🔊",
|
|
|
"bell": "🔔",
|
|
|
"no_bell": "🔕",
|
|
|
"mega": "📣",
|
|
|
"loudspeaker": "📢",
|
|
|
"eye_speech_bubble": "👁🗨",
|
|
|
"speech_balloon": "💬",
|
|
|
"thought_balloon": "💭",
|
|
|
"right_anger_bubble": "🗯",
|
|
|
"spades": "♠️",
|
|
|
"clubs": "♣️",
|
|
|
"hearts": "♥️",
|
|
|
"diamonds": "♦️",
|
|
|
"black_joker": "🃏",
|
|
|
"flower_playing_cards": "🎴",
|
|
|
"mahjong": "🀄️",
|
|
|
"clock1": "🕐",
|
|
|
"clock2": "🕑",
|
|
|
"clock3": "🕒",
|
|
|
"clock4": "🕓",
|
|
|
"clock5": "🕔",
|
|
|
"clock6": "🕕",
|
|
|
"clock7": "🕖",
|
|
|
"clock8": "🕗",
|
|
|
"clock9": "🕘",
|
|
|
"clock10": "🕙",
|
|
|
"clock11": "🕚",
|
|
|
"clock12": "🕛",
|
|
|
"clock130": "🕜",
|
|
|
"clock230": "🕝",
|
|
|
"clock330": "🕞",
|
|
|
"clock430": "🕟",
|
|
|
"clock530": "🕠",
|
|
|
"clock630": "🕡",
|
|
|
"clock730": "🕢",
|
|
|
"clock830": "🕣",
|
|
|
"clock930": "🕤",
|
|
|
"clock1030": "🕥",
|
|
|
"clock1130": "🕦",
|
|
|
"clock1230": "🕧",
|
|
|
"white_flag": "🏳️",
|
|
|
"black_flag": "🏴",
|
|
|
"checkered_flag": "🏁",
|
|
|
"triangular_flag_on_post": "🚩",
|
|
|
"rainbow_flag": "🏳️🌈",
|
|
|
"afghanistan": "🇦🇫",
|
|
|
"aland_islands": "🇦🇽",
|
|
|
"albania": "🇦🇱",
|
|
|
"algeria": "🇩🇿",
|
|
|
"american_samoa": "🇦🇸",
|
|
|
"andorra": "🇦🇩",
|
|
|
"angola": "🇦🇴",
|
|
|
"anguilla": "🇦🇮",
|
|
|
"antarctica": "🇦🇶",
|
|
|
"antigua_barbuda": "🇦🇬",
|
|
|
"argentina": "🇦🇷",
|
|
|
"armenia": "🇦🇲",
|
|
|
"aruba": "🇦🇼",
|
|
|
"australia": "🇦🇺",
|
|
|
"austria": "🇦🇹",
|
|
|
"azerbaijan": "🇦🇿",
|
|
|
"bahamas": "🇧🇸",
|
|
|
"bahrain": "🇧🇭",
|
|
|
"bangladesh": "🇧🇩",
|
|
|
"barbados": "🇧🇧",
|
|
|
"belarus": "🇧🇾",
|
|
|
"belgium": "🇧🇪",
|
|
|
"belize": "🇧🇿",
|
|
|
"benin": "🇧🇯",
|
|
|
"bermuda": "🇧🇲",
|
|
|
"bhutan": "🇧🇹",
|
|
|
"bolivia": "🇧🇴",
|
|
|
"caribbean_netherlands": "🇧🇶",
|
|
|
"bosnia_herzegovina": "🇧🇦",
|
|
|
"botswana": "🇧🇼",
|
|
|
"brazil": "🇧🇷",
|
|
|
"british_indian_ocean_territory": "🇮🇴",
|
|
|
"british_virgin_islands": "🇻🇬",
|
|
|
"brunei": "🇧🇳",
|
|
|
"bulgaria": "🇧🇬",
|
|
|
"burkina_faso": "🇧🇫",
|
|
|
"burundi": "🇧🇮",
|
|
|
"cape_verde": "🇨🇻",
|
|
|
"cambodia": "🇰🇭",
|
|
|
"cameroon": "🇨🇲",
|
|
|
"canada": "🇨🇦",
|
|
|
"canary_islands": "🇮🇨",
|
|
|
"cayman_islands": "🇰🇾",
|
|
|
"central_african_republic": "🇨🇫",
|
|
|
"chad": "🇹🇩",
|
|
|
"chile": "🇨🇱",
|
|
|
"cn": "🇨🇳",
|
|
|
"christmas_island": "🇨🇽",
|
|
|
"cocos_islands": "🇨🇨",
|
|
|
"colombia": "🇨🇴",
|
|
|
"comoros": "🇰🇲",
|
|
|
"congo_brazzaville": "🇨🇬",
|
|
|
"congo_kinshasa": "🇨🇩",
|
|
|
"cook_islands": "🇨🇰",
|
|
|
"costa_rica": "🇨🇷",
|
|
|
"cote_divoire": "🇨🇮",
|
|
|
"croatia": "🇭🇷",
|
|
|
"cuba": "🇨🇺",
|
|
|
"curacao": "🇨🇼",
|
|
|
"cyprus": "🇨🇾",
|
|
|
"czech_republic": "🇨🇿",
|
|
|
"denmark": "🇩🇰",
|
|
|
"djibouti": "🇩🇯",
|
|
|
"dominica": "🇩🇲",
|
|
|
"dominican_republic": "🇩🇴",
|
|
|
"ecuador": "🇪🇨",
|
|
|
"egypt": "🇪🇬",
|
|
|
"el_salvador": "🇸🇻",
|
|
|
"equatorial_guinea": "🇬🇶",
|
|
|
"eritrea": "🇪🇷",
|
|
|
"estonia": "🇪🇪",
|
|
|
"ethiopia": "🇪🇹",
|
|
|
"eu": "🇪🇺",
|
|
|
"european_union": "🇪🇺",
|
|
|
"falkland_islands": "🇫🇰",
|
|
|
"faroe_islands": "🇫🇴",
|
|
|
"fiji": "🇫🇯",
|
|
|
"finland": "🇫🇮",
|
|
|
"fr": "🇫🇷",
|
|
|
"french_guiana": "🇬🇫",
|
|
|
"french_polynesia": "🇵🇫",
|
|
|
"french_southern_territories": "🇹🇫",
|
|
|
"gabon": "🇬🇦",
|
|
|
"gambia": "🇬🇲",
|
|
|
"georgia": "🇬🇪",
|
|
|
"de": "🇩🇪",
|
|
|
"ghana": "🇬🇭",
|
|
|
"gibraltar": "🇬🇮",
|
|
|
"greece": "🇬🇷",
|
|
|
"greenland": "🇬🇱",
|
|
|
"grenada": "🇬🇩",
|
|
|
"guadeloupe": "🇬🇵",
|
|
|
"guam": "🇬🇺",
|
|
|
"guatemala": "🇬🇹",
|
|
|
"guernsey": "🇬🇬",
|
|
|
"guinea": "🇬🇳",
|
|
|
"guinea_bissau": "🇬🇼",
|
|
|
"guyana": "🇬🇾",
|
|
|
"haiti": "🇭🇹",
|
|
|
"honduras": "🇭🇳",
|
|
|
"hong_kong": "🇭🇰",
|
|
|
"hungary": "🇭🇺",
|
|
|
"iceland": "🇮🇸",
|
|
|
"india": "🇮🇳",
|
|
|
"indonesia": "🇮🇩",
|
|
|
"iran": "🇮🇷",
|
|
|
"iraq": "🇮🇶",
|
|
|
"ireland": "🇮🇪",
|
|
|
"isle_of_man": "🇮🇲",
|
|
|
"israel": "🇮🇱",
|
|
|
"it": "🇮🇹",
|
|
|
"jamaica": "🇯🇲",
|
|
|
"jp": "🇯🇵",
|
|
|
"crossed_flags": "🎌",
|
|
|
"jersey": "🇯🇪",
|
|
|
"jordan": "🇯🇴",
|
|
|
"kazakhstan": "🇰🇿",
|
|
|
"kenya": "🇰🇪",
|
|
|
"kiribati": "🇰🇮",
|
|
|
"kosovo": "🇽🇰",
|
|
|
"kuwait": "🇰🇼",
|
|
|
"kyrgyzstan": "🇰🇬",
|
|
|
"laos": "🇱🇦",
|
|
|
"latvia": "🇱🇻",
|
|
|
"lebanon": "🇱🇧",
|
|
|
"lesotho": "🇱🇸",
|
|
|
"liberia": "🇱🇷",
|
|
|
"libya": "🇱🇾",
|
|
|
"liechtenstein": "🇱🇮",
|
|
|
"lithuania": "🇱🇹",
|
|
|
"luxembourg": "🇱🇺",
|
|
|
"macau": "🇲🇴",
|
|
|
"macedonia": "🇲🇰",
|
|
|
"madagascar": "🇲🇬",
|
|
|
"malawi": "🇲🇼",
|
|
|
"malaysia": "🇲🇾",
|
|
|
"maldives": "🇲🇻",
|
|
|
"mali": "🇲🇱",
|
|
|
"malta": "🇲🇹",
|
|
|
"marshall_islands": "🇲🇭",
|
|
|
"martinique": "🇲🇶",
|
|
|
"mauritania": "🇲🇷",
|
|
|
"mauritius": "🇲🇺",
|
|
|
"mayotte": "🇾🇹",
|
|
|
"mexico": "🇲🇽",
|
|
|
"micronesia": "🇫🇲",
|
|
|
"moldova": "🇲🇩",
|
|
|
"monaco": "🇲🇨",
|
|
|
"mongolia": "🇲🇳",
|
|
|
"montenegro": "🇲🇪",
|
|
|
"montserrat": "🇲🇸",
|
|
|
"morocco": "🇲🇦",
|
|
|
"mozambique": "🇲🇿",
|
|
|
"myanmar": "🇲🇲",
|
|
|
"namibia": "🇳🇦",
|
|
|
"nauru": "🇳🇷",
|
|
|
"nepal": "🇳🇵",
|
|
|
"netherlands": "🇳🇱",
|
|
|
"new_caledonia": "🇳🇨",
|
|
|
"new_zealand": "🇳🇿",
|
|
|
"nicaragua": "🇳🇮",
|
|
|
"niger": "🇳🇪",
|
|
|
"nigeria": "🇳🇬",
|
|
|
"niue": "🇳🇺",
|
|
|
"norfolk_island": "🇳🇫",
|
|
|
"northern_mariana_islands": "🇲🇵",
|
|
|
"north_korea": "🇰🇵",
|
|
|
"norway": "🇳🇴",
|
|
|
"oman": "🇴🇲",
|
|
|
"pakistan": "🇵🇰",
|
|
|
"palau": "🇵🇼",
|
|
|
"palestinian_territories": "🇵🇸",
|
|
|
"panama": "🇵🇦",
|
|
|
"papua_new_guinea": "🇵🇬",
|
|
|
"paraguay": "🇵🇾",
|
|
|
"peru": "🇵🇪",
|
|
|
"philippines": "🇵🇭",
|
|
|
"pitcairn_islands": "🇵🇳",
|
|
|
"poland": "🇵🇱",
|
|
|
"portugal": "🇵🇹",
|
|
|
"puerto_rico": "🇵🇷",
|
|
|
"qatar": "🇶🇦",
|
|
|
"reunion": "🇷🇪",
|
|
|
"romania": "🇷🇴",
|
|
|
"ru": "🇷🇺",
|
|
|
"rwanda": "🇷🇼",
|
|
|
"st_barthelemy": "🇧🇱",
|
|
|
"st_helena": "🇸🇭",
|
|
|
"st_kitts_nevis": "🇰🇳",
|
|
|
"st_lucia": "🇱🇨",
|
|
|
"st_pierre_miquelon": "🇵🇲",
|
|
|
"st_vincent_grenadines": "🇻🇨",
|
|
|
"samoa": "🇼🇸",
|
|
|
"san_marino": "🇸🇲",
|
|
|
"sao_tome_principe": "🇸🇹",
|
|
|
"saudi_arabia": "🇸🇦",
|
|
|
"senegal": "🇸🇳",
|
|
|
"serbia": "🇷🇸",
|
|
|
"seychelles": "🇸🇨",
|
|
|
"sierra_leone": "🇸🇱",
|
|
|
"singapore": "🇸🇬",
|
|
|
"sint_maarten": "🇸🇽",
|
|
|
"slovakia": "🇸🇰",
|
|
|
"slovenia": "🇸🇮",
|
|
|
"solomon_islands": "🇸🇧",
|
|
|
"somalia": "🇸🇴",
|
|
|
"south_africa": "🇿🇦",
|
|
|
"south_georgia_south_sandwich_islands": "🇬🇸",
|
|
|
"kr": "🇰🇷",
|
|
|
"south_sudan": "🇸🇸",
|
|
|
"es": "🇪🇸",
|
|
|
"sri_lanka": "🇱🇰",
|
|
|
"sudan": "🇸🇩",
|
|
|
"suriname": "🇸🇷",
|
|
|
"swaziland": "🇸🇿",
|
|
|
"sweden": "🇸🇪",
|
|
|
"switzerland": "🇨🇭",
|
|
|
"syria": "🇸🇾",
|
|
|
"taiwan": "🇹🇼",
|
|
|
"tajikistan": "🇹🇯",
|
|
|
"tanzania": "🇹🇿",
|
|
|
"thailand": "🇹🇭",
|
|
|
"timor_leste": "🇹🇱",
|
|
|
"togo": "🇹🇬",
|
|
|
"tokelau": "🇹🇰",
|
|
|
"tonga": "🇹🇴",
|
|
|
"trinidad_tobago": "🇹🇹",
|
|
|
"tunisia": "🇹🇳",
|
|
|
"tr": "🇹🇷",
|
|
|
"turkmenistan": "🇹🇲",
|
|
|
"turks_caicos_islands": "🇹🇨",
|
|
|
"tuvalu": "🇹🇻",
|
|
|
"uganda": "🇺🇬",
|
|
|
"ukraine": "🇺🇦",
|
|
|
"united_arab_emirates": "🇦🇪",
|
|
|
"gb": "🇬🇧",
|
|
|
"uk": "🇬🇧",
|
|
|
"us": "🇺🇸",
|
|
|
"us_virgin_islands": "🇻🇮",
|
|
|
"uruguay": "🇺🇾",
|
|
|
"uzbekistan": "🇺🇿",
|
|
|
"vanuatu": "🇻🇺",
|
|
|
"vatican_city": "🇻🇦",
|
|
|
"venezuela": "🇻🇪",
|
|
|
"vietnam": "🇻🇳",
|
|
|
"wallis_futuna": "🇼🇫",
|
|
|
"western_sahara": "🇪🇭",
|
|
|
"yemen": "🇾🇪",
|
|
|
"zambia": "🇿🇲",
|
|
|
"zimbabwe": "🇿🇼"
|
|
|
}
|
|
|
},{}],2:[function(require,module,exports){
|
|
|
// Emoticons -> Emoji mapping.
|
|
|
//
|
|
|
// (!) Some patterns skipped, to avoid collisions
|
|
|
// without increase matcher complicity. Than can change in future.
|
|
|
//
|
|
|
// Places to look for more emoticons info:
|
|
|
//
|
|
|
// - http://en.wikipedia.org/wiki/List_of_emoticons#Western
|
|
|
// - https://github.com/wooorm/emoticon/blob/master/Support.md
|
|
|
// - http://factoryjoe.com/projects/emoticons/
|
|
|
//
|
|
|
'use strict';
|
|
|
|
|
|
module.exports = {
|
|
|
angry: [ '>:(', '>:-(' ],
|
|
|
blush: [ ':")', ':-")' ],
|
|
|
broken_heart: [ '</3', '<\\3' ],
|
|
|
// :\ and :-\ not used because of conflict with markdown escaping
|
|
|
confused: [ ':/', ':-/' ], // twemoji shows question
|
|
|
cry: [ ":'(", ":'-(", ':,(', ':,-(' ],
|
|
|
frowning: [ ':(', ':-(' ],
|
|
|
heart: [ '<3' ],
|
|
|
imp: [ ']:(', ']:-(' ],
|
|
|
innocent: [ 'o:)', 'O:)', 'o:-)', 'O:-)', '0:)', '0:-)' ],
|
|
|
joy: [ ":')", ":'-)", ':,)', ':,-)', ":'D", ":'-D", ':,D', ':,-D' ],
|
|
|
kissing: [ ':*', ':-*' ],
|
|
|
laughing: [ 'x-)', 'X-)' ],
|
|
|
neutral_face: [ ':|', ':-|' ],
|
|
|
open_mouth: [ ':o', ':-o', ':O', ':-O' ],
|
|
|
rage: [ ':@', ':-@' ],
|
|
|
smile: [ ':D', ':-D' ],
|
|
|
smiley: [ ':)', ':-)' ],
|
|
|
smiling_imp: [ ']:)', ']:-)' ],
|
|
|
sob: [ ":,'(", ":,'-(", ';(', ';-(' ],
|
|
|
stuck_out_tongue: [ ':P', ':-P' ],
|
|
|
sunglasses: [ '8-)', 'B-)' ],
|
|
|
sweat: [ ',:(', ',:-(' ],
|
|
|
sweat_smile: [ ',:)', ',:-)' ],
|
|
|
unamused: [ ':s', ':-S', ':z', ':-Z', ':$', ':-$' ],
|
|
|
wink: [ ';)', ';-)' ]
|
|
|
};
|
|
|
|
|
|
},{}],3:[function(require,module,exports){
|
|
|
// Convert input options to more useable format
|
|
|
// and compile search regexp
|
|
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
|
function quoteRE(str) {
|
|
|
return str.replace(/[.?*+^$[\]\\(){}|-]/g, '\\$&');
|
|
|
}
|
|
|
|
|
|
|
|
|
module.exports = function normalize_opts(options) {
|
|
|
var emojies = options.defs,
|
|
|
shortcuts;
|
|
|
|
|
|
// Filter emojies by whitelist, if needed
|
|
|
if (options.enabled.length) {
|
|
|
emojies = Object.keys(emojies).reduce(function (acc, key) {
|
|
|
if (options.enabled.indexOf(key) >= 0) {
|
|
|
acc[key] = emojies[key];
|
|
|
}
|
|
|
return acc;
|
|
|
}, {});
|
|
|
}
|
|
|
|
|
|
// Flatten shortcuts to simple object: { alias: emoji_name }
|
|
|
shortcuts = Object.keys(options.shortcuts).reduce(function (acc, key) {
|
|
|
// Skip aliases for filtered emojies, to reduce regexp
|
|
|
if (!emojies[key]) { return acc; }
|
|
|
|
|
|
if (Array.isArray(options.shortcuts[key])) {
|
|
|
options.shortcuts[key].forEach(function (alias) {
|
|
|
acc[alias] = key;
|
|
|
});
|
|
|
return acc;
|
|
|
}
|
|
|
|
|
|
acc[options.shortcuts[key]] = key;
|
|
|
return acc;
|
|
|
}, {});
|
|
|
|
|
|
// Compile regexp
|
|
|
var names = Object.keys(emojies)
|
|
|
.map(function (name) { return ':' + name + ':'; })
|
|
|
.concat(Object.keys(shortcuts))
|
|
|
.sort()
|
|
|
.reverse()
|
|
|
.map(function (name) { return quoteRE(name); })
|
|
|
.join('|');
|
|
|
var scanRE = RegExp(names);
|
|
|
var replaceRE = RegExp(names, 'g');
|
|
|
|
|
|
return {
|
|
|
defs: emojies,
|
|
|
shortcuts: shortcuts,
|
|
|
scanRE: scanRE,
|
|
|
replaceRE: replaceRE
|
|
|
};
|
|
|
};
|
|
|
|
|
|
},{}],4:[function(require,module,exports){
|
|
|
'use strict';
|
|
|
|
|
|
module.exports = function emoji_html(tokens, idx /*, options, env */) {
|
|
|
return tokens[idx].content;
|
|
|
};
|
|
|
|
|
|
},{}],5:[function(require,module,exports){
|
|
|
// Emojies & shortcuts replacement logic.
|
|
|
//
|
|
|
// Note: In theory, it could be faster to parse :smile: in inline chain and
|
|
|
// leave only shortcuts here. But, who care...
|
|
|
//
|
|
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
|
module.exports = function create_rule(md, emojies, shortcuts, scanRE, replaceRE) {
|
|
|
var arrayReplaceAt = md.utils.arrayReplaceAt,
|
|
|
ucm = md.utils.lib.ucmicro,
|
|
|
ZPCc = new RegExp([ ucm.Z.source, ucm.P.source, ucm.Cc.source ].join('|'));
|
|
|
|
|
|
function splitTextToken(text, level, Token) {
|
|
|
var token, last_pos = 0, nodes = [];
|
|
|
|
|
|
text.replace(replaceRE, function (match, offset, src) {
|
|
|
var emoji_name;
|
|
|
// Validate emoji name
|
|
|
if (shortcuts.hasOwnProperty(match)) {
|
|
|
// replace shortcut with full name
|
|
|
emoji_name = shortcuts[match];
|
|
|
|
|
|
// Don't allow letters before any shortcut (as in no ":/" in http://)
|
|
|
if (offset > 0 && !ZPCc.test(src[offset - 1])) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
// Don't allow letters after any shortcut
|
|
|
if (offset + match.length < src.length && !ZPCc.test(src[offset + match.length])) {
|
|
|
return;
|
|
|
}
|
|
|
} else {
|
|
|
emoji_name = match.slice(1, -1);
|
|
|
}
|
|
|
|
|
|
// Add new tokens to pending list
|
|
|
if (offset > last_pos) {
|
|
|
token = new Token('text', '', 0);
|
|
|
token.content = text.slice(last_pos, offset);
|
|
|
nodes.push(token);
|
|
|
}
|
|
|
|
|
|
token = new Token('emoji', '', 0);
|
|
|
token.markup = emoji_name;
|
|
|
token.content = emojies[emoji_name];
|
|
|
nodes.push(token);
|
|
|
|
|
|
last_pos = offset + match.length;
|
|
|
});
|
|
|
|
|
|
if (last_pos < text.length) {
|
|
|
token = new Token('text', '', 0);
|
|
|
token.content = text.slice(last_pos);
|
|
|
nodes.push(token);
|
|
|
}
|
|
|
|
|
|
return nodes;
|
|
|
}
|
|
|
|
|
|
return function emoji_replace(state) {
|
|
|
var i, j, l, tokens, token,
|
|
|
blockTokens = state.tokens,
|
|
|
autolinkLevel = 0;
|
|
|
|
|
|
for (j = 0, l = blockTokens.length; j < l; j++) {
|
|
|
if (blockTokens[j].type !== 'inline') { continue; }
|
|
|
tokens = blockTokens[j].children;
|
|
|
|
|
|
// We scan from the end, to keep position when new tags added.
|
|
|
// Use reversed logic in links start/end match
|
|
|
for (i = tokens.length - 1; i >= 0; i--) {
|
|
|
token = tokens[i];
|
|
|
|
|
|
if (token.type === 'link_open' || token.type === 'link_close') {
|
|
|
if (token.info === 'auto') { autolinkLevel -= token.nesting; }
|
|
|
}
|
|
|
|
|
|
if (token.type === 'text' && autolinkLevel === 0 && scanRE.test(token.content)) {
|
|
|
// replace current node
|
|
|
blockTokens[j].children = tokens = arrayReplaceAt(
|
|
|
tokens, i, splitTextToken(token.content, token.level, state.Token)
|
|
|
);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
};
|
|
|
|
|
|
},{}],6:[function(require,module,exports){
|
|
|
'use strict';
|
|
|
|
|
|
|
|
|
var emojies_defs = require('./lib/data/full.json');
|
|
|
var emojies_shortcuts = require('./lib/data/shortcuts');
|
|
|
var emoji_html = require('./lib/render');
|
|
|
var emoji_replace = require('./lib/replace');
|
|
|
var normalize_opts = require('./lib/normalize_opts');
|
|
|
|
|
|
|
|
|
module.exports = function emoji_plugin(md, options) {
|
|
|
var defaults = {
|
|
|
defs: emojies_defs,
|
|
|
shortcuts: emojies_shortcuts,
|
|
|
enabled: []
|
|
|
};
|
|
|
|
|
|
var opts = normalize_opts(md.utils.assign({}, defaults, options || {}));
|
|
|
|
|
|
md.renderer.rules.emoji = emoji_html;
|
|
|
|
|
|
md.core.ruler.push('emoji', emoji_replace(md, opts.defs, opts.shortcuts, opts.scanRE, opts.replaceRE));
|
|
|
};
|
|
|
|
|
|
},{"./lib/data/full.json":1,"./lib/data/shortcuts":2,"./lib/normalize_opts":3,"./lib/render":4,"./lib/replace":5}]},{},[6])(6)
|
|
|
}); |