|
|
/*
|
|
|
THIS IS A GENERATED/BUNDLED FILE BY ROLLUP
|
|
|
if you want to view the source visit the plugins github repository
|
|
|
*/
|
|
|
|
|
|
'use strict';
|
|
|
|
|
|
var obsidian = require('obsidian');
|
|
|
|
|
|
/*! *****************************************************************************
|
|
|
Copyright (c) Microsoft Corporation.
|
|
|
|
|
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
|
purpose with or without fee is hereby granted.
|
|
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
|
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
|
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
|
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
|
PERFORMANCE OF THIS SOFTWARE.
|
|
|
***************************************************************************** */
|
|
|
|
|
|
function __awaiter(thisArg, _arguments, P, generator) {
|
|
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
|
});
|
|
|
}
|
|
|
|
|
|
// Generated from: https://api.github.com/emojis
|
|
|
const emoji = {
|
|
|
":100:": "💯",
|
|
|
":1234:": "🔢",
|
|
|
":+1:": "👍",
|
|
|
":-1:": "👎",
|
|
|
":1st_place_medal:": "🥇",
|
|
|
":2nd_place_medal:": "🥈",
|
|
|
":3rd_place_medal:": "🥉",
|
|
|
":8ball:": "🎱",
|
|
|
":a:": "🅰",
|
|
|
":ab:": "🆎",
|
|
|
":abacus:": "🧮",
|
|
|
":abc:": "🔤",
|
|
|
":abcd:": "🔡",
|
|
|
":accept:": "🉑",
|
|
|
":accordion:": "🪗",
|
|
|
":adhesive_bandage:": "🩹",
|
|
|
":adult:": "🧑",
|
|
|
":aerial_tramway:": "🚡",
|
|
|
":afghanistan:": "🇦🇫",
|
|
|
":airplane:": "✈",
|
|
|
":aland_islands:": "🇦🇽",
|
|
|
":alarm_clock:": "⏰",
|
|
|
":albania:": "🇦🇱",
|
|
|
":alembic:": "⚗",
|
|
|
":algeria:": "🇩🇿",
|
|
|
":alien:": "👽",
|
|
|
":ambulance:": "🚑",
|
|
|
":american_samoa:": "🇦🇸",
|
|
|
":amphora:": "🏺",
|
|
|
":anatomical_heart:": "🫀",
|
|
|
":anchor:": "⚓",
|
|
|
":andorra:": "🇦🇩",
|
|
|
":angel:": "👼",
|
|
|
":anger:": "💢",
|
|
|
":angola:": "🇦🇴",
|
|
|
":angry:": "😠",
|
|
|
":anguilla:": "🇦🇮",
|
|
|
":anguished:": "😧",
|
|
|
":ant:": "🐜",
|
|
|
":antarctica:": "🇦🇶",
|
|
|
":antigua_barbuda:": "🇦🇬",
|
|
|
":apple:": "🍎",
|
|
|
":aquarius:": "♒",
|
|
|
":argentina:": "🇦🇷",
|
|
|
":aries:": "♈",
|
|
|
":armenia:": "🇦🇲",
|
|
|
":arrow_backward:": "◀",
|
|
|
":arrow_double_down:": "⏬",
|
|
|
":arrow_double_up:": "⏫",
|
|
|
":arrow_down:": "⬇",
|
|
|
":arrow_down_small:": "🔽",
|
|
|
":arrow_forward:": "▶",
|
|
|
":arrow_heading_down:": "⤵",
|
|
|
":arrow_heading_up:": "⤴",
|
|
|
":arrow_left:": "⬅",
|
|
|
":arrow_lower_left:": "↙",
|
|
|
":arrow_lower_right:": "↘",
|
|
|
":arrow_right:": "➡",
|
|
|
":arrow_right_hook:": "↪",
|
|
|
":arrow_up:": "⬆",
|
|
|
":arrow_up_down:": "↕",
|
|
|
":arrow_up_small:": "🔼",
|
|
|
":arrow_upper_left:": "↖",
|
|
|
":arrow_upper_right:": "↗",
|
|
|
":arrows_clockwise:": "🔃",
|
|
|
":arrows_counterclockwise:": "🔄",
|
|
|
":art:": "🎨",
|
|
|
":articulated_lorry:": "🚛",
|
|
|
":artificial_satellite:": "🛰",
|
|
|
":artist:": "🧑🎨",
|
|
|
":aruba:": "🇦🇼",
|
|
|
":ascension_island:": "🇦🇨",
|
|
|
":asterisk:": "*⃣",
|
|
|
":astonished:": "😲",
|
|
|
":astronaut:": "🧑🚀",
|
|
|
":athletic_shoe:": "👟",
|
|
|
":atm:": "🏧",
|
|
|
":atom_symbol:": "⚛",
|
|
|
":australia:": "🇦🇺",
|
|
|
":austria:": "🇦🇹",
|
|
|
":auto_rickshaw:": "🛺",
|
|
|
":avocado:": "🥑",
|
|
|
":axe:": "🪓",
|
|
|
":azerbaijan:": "🇦🇿",
|
|
|
":b:": "🅱",
|
|
|
":baby:": "👶",
|
|
|
":baby_bottle:": "🍼",
|
|
|
":baby_chick:": "🐤",
|
|
|
":baby_symbol:": "🚼",
|
|
|
":back:": "🔙",
|
|
|
":bacon:": "🥓",
|
|
|
":badger:": "🦡",
|
|
|
":badminton:": "🏸",
|
|
|
":bagel:": "🥯",
|
|
|
":baggage_claim:": "🛄",
|
|
|
":baguette_bread:": "🥖",
|
|
|
":bahamas:": "🇧🇸",
|
|
|
":bahrain:": "🇧🇭",
|
|
|
":balance_scale:": "⚖",
|
|
|
":bald_man:": "👨🦲",
|
|
|
":bald_woman:": "👩🦲",
|
|
|
":ballet_shoes:": "🩰",
|
|
|
":balloon:": "🎈",
|
|
|
":ballot_box:": "🗳",
|
|
|
":ballot_box_with_check:": "☑",
|
|
|
":bamboo:": "🎍",
|
|
|
":banana:": "🍌",
|
|
|
":bangbang:": "‼",
|
|
|
":bangladesh:": "🇧🇩",
|
|
|
":banjo:": "🪕",
|
|
|
":bank:": "🏦",
|
|
|
":bar_chart:": "📊",
|
|
|
":barbados:": "🇧🇧",
|
|
|
":barber:": "💈",
|
|
|
":baseball:": "⚾",
|
|
|
":basket:": "🧺",
|
|
|
":basketball:": "🏀",
|
|
|
":basketball_man:": "⛹♂",
|
|
|
":basketball_woman:": "⛹♀",
|
|
|
":bat:": "🦇",
|
|
|
":bath:": "🛀",
|
|
|
":bathtub:": "🛁",
|
|
|
":battery:": "🔋",
|
|
|
":beach_umbrella:": "🏖",
|
|
|
":bear:": "🐻",
|
|
|
":bearded_person:": "🧔",
|
|
|
":beaver:": "🦫",
|
|
|
":bed:": "🛏",
|
|
|
":bee:": "🐝",
|
|
|
":beer:": "🍺",
|
|
|
":beers:": "🍻",
|
|
|
":beetle:": "🪲",
|
|
|
":beginner:": "🔰",
|
|
|
":belarus:": "🇧🇾",
|
|
|
":belgium:": "🇧🇪",
|
|
|
":belize:": "🇧🇿",
|
|
|
":bell:": "🔔",
|
|
|
":bell_pepper:": "🫑",
|
|
|
":bellhop_bell:": "🛎",
|
|
|
":benin:": "🇧🇯",
|
|
|
":bento:": "🍱",
|
|
|
":bermuda:": "🇧🇲",
|
|
|
":beverage_box:": "🧃",
|
|
|
":bhutan:": "🇧🇹",
|
|
|
":bicyclist:": "🚴",
|
|
|
":bike:": "🚲",
|
|
|
":biking_man:": "🚴♂",
|
|
|
":biking_woman:": "🚴♀",
|
|
|
":bikini:": "👙",
|
|
|
":billed_cap:": "🧢",
|
|
|
":biohazard:": "☣",
|
|
|
":bird:": "🐦",
|
|
|
":birthday:": "🎂",
|
|
|
":bison:": "🦬",
|
|
|
":black_cat:": "🐈⬛",
|
|
|
":black_circle:": "⚫",
|
|
|
":black_flag:": "🏴",
|
|
|
":black_heart:": "🖤",
|
|
|
":black_joker:": "🃏",
|
|
|
":black_large_square:": "⬛",
|
|
|
":black_medium_small_square:": "◾",
|
|
|
":black_medium_square:": "◼",
|
|
|
":black_nib:": "✒",
|
|
|
":black_small_square:": "▪",
|
|
|
":black_square_button:": "🔲",
|
|
|
":blond_haired_man:": "👱♂",
|
|
|
":blond_haired_person:": "👱",
|
|
|
":blond_haired_woman:": "👱♀",
|
|
|
":blonde_woman:": "👱♀",
|
|
|
":blossom:": "🌼",
|
|
|
":blowfish:": "🐡",
|
|
|
":blue_book:": "📘",
|
|
|
":blue_car:": "🚙",
|
|
|
":blue_heart:": "💙",
|
|
|
":blue_square:": "🟦",
|
|
|
":blueberries:": "🫐",
|
|
|
":blush:": "😊",
|
|
|
":boar:": "🐗",
|
|
|
":boat:": "⛵",
|
|
|
":bolivia:": "🇧🇴",
|
|
|
":bomb:": "💣",
|
|
|
":bone:": "🦴",
|
|
|
":book:": "📖",
|
|
|
":bookmark:": "🔖",
|
|
|
":bookmark_tabs:": "📑",
|
|
|
":books:": "📚",
|
|
|
":boom:": "💥",
|
|
|
":boomerang:": "🪃",
|
|
|
":boot:": "👢",
|
|
|
":bosnia_herzegovina:": "🇧🇦",
|
|
|
":botswana:": "🇧🇼",
|
|
|
":bouncing_ball_man:": "⛹♂",
|
|
|
":bouncing_ball_person:": "⛹",
|
|
|
":bouncing_ball_woman:": "⛹♀",
|
|
|
":bouquet:": "💐",
|
|
|
":bouvet_island:": "🇧🇻",
|
|
|
":bow:": "🙇",
|
|
|
":bow_and_arrow:": "🏹",
|
|
|
":bowing_man:": "🙇♂",
|
|
|
":bowing_woman:": "🙇♀",
|
|
|
":bowl_with_spoon:": "🥣",
|
|
|
":bowling:": "🎳",
|
|
|
":boxing_glove:": "🥊",
|
|
|
":boy:": "👦",
|
|
|
":brain:": "🧠",
|
|
|
":brazil:": "🇧🇷",
|
|
|
":bread:": "🍞",
|
|
|
":breast_feeding:": "🤱",
|
|
|
":bricks:": "🧱",
|
|
|
":bride_with_veil:": "👰♀",
|
|
|
":bridge_at_night:": "🌉",
|
|
|
":briefcase:": "💼",
|
|
|
":british_indian_ocean_territory:": "🇮🇴",
|
|
|
":british_virgin_islands:": "🇻🇬",
|
|
|
":broccoli:": "🥦",
|
|
|
":broken_heart:": "💔",
|
|
|
":broom:": "🧹",
|
|
|
":brown_circle:": "🟤",
|
|
|
":brown_heart:": "🤎",
|
|
|
":brown_square:": "🟫",
|
|
|
":brunei:": "🇧🇳",
|
|
|
":bubble_tea:": "🧋",
|
|
|
":bucket:": "🪣",
|
|
|
":bug:": "🐛",
|
|
|
":building_construction:": "🏗",
|
|
|
":bulb:": "💡",
|
|
|
":bulgaria:": "🇧🇬",
|
|
|
":bullettrain_front:": "🚅",
|
|
|
":bullettrain_side:": "🚄",
|
|
|
":burkina_faso:": "🇧🇫",
|
|
|
":burrito:": "🌯",
|
|
|
":burundi:": "🇧🇮",
|
|
|
":bus:": "🚌",
|
|
|
":business_suit_levitating:": "🕴",
|
|
|
":busstop:": "🚏",
|
|
|
":bust_in_silhouette:": "👤",
|
|
|
":busts_in_silhouette:": "👥",
|
|
|
":butter:": "🧈",
|
|
|
":butterfly:": "🦋",
|
|
|
":cactus:": "🌵",
|
|
|
":cake:": "🍰",
|
|
|
":calendar:": "📆",
|
|
|
":call_me_hand:": "🤙",
|
|
|
":calling:": "📲",
|
|
|
":cambodia:": "🇰🇭",
|
|
|
":camel:": "🐫",
|
|
|
":camera:": "📷",
|
|
|
":camera_flash:": "📸",
|
|
|
":cameroon:": "🇨🇲",
|
|
|
":camping:": "🏕",
|
|
|
":canada:": "🇨🇦",
|
|
|
":canary_islands:": "🇮🇨",
|
|
|
":cancer:": "♋",
|
|
|
":candle:": "🕯",
|
|
|
":candy:": "🍬",
|
|
|
":canned_food:": "🥫",
|
|
|
":canoe:": "🛶",
|
|
|
":cape_verde:": "🇨🇻",
|
|
|
":capital_abcd:": "🔠",
|
|
|
":capricorn:": "♑",
|
|
|
":car:": "🚗",
|
|
|
":card_file_box:": "🗃",
|
|
|
":card_index:": "📇",
|
|
|
":card_index_dividers:": "🗂",
|
|
|
":caribbean_netherlands:": "🇧🇶",
|
|
|
":carousel_horse:": "🎠",
|
|
|
":carpentry_saw:": "🪚",
|
|
|
":carrot:": "🥕",
|
|
|
":cartwheeling:": "🤸",
|
|
|
":cat:": "🐱",
|
|
|
":cat2:": "🐈",
|
|
|
":cayman_islands:": "🇰🇾",
|
|
|
":cd:": "💿",
|
|
|
":central_african_republic:": "🇨🇫",
|
|
|
":ceuta_melilla:": "🇪🇦",
|
|
|
":chad:": "🇹🇩",
|
|
|
":chains:": "⛓",
|
|
|
":chair:": "🪑",
|
|
|
":champagne:": "🍾",
|
|
|
":chart:": "💹",
|
|
|
":chart_with_downwards_trend:": "📉",
|
|
|
":chart_with_upwards_trend:": "📈",
|
|
|
":checkered_flag:": "🏁",
|
|
|
":cheese:": "🧀",
|
|
|
":cherries:": "🍒",
|
|
|
":cherry_blossom:": "🌸",
|
|
|
":chess_pawn:": "♟",
|
|
|
":chestnut:": "🌰",
|
|
|
":chicken:": "🐔",
|
|
|
":child:": "🧒",
|
|
|
":children_crossing:": "🚸",
|
|
|
":chile:": "🇨🇱",
|
|
|
":chipmunk:": "🐿",
|
|
|
":chocolate_bar:": "🍫",
|
|
|
":chopsticks:": "🥢",
|
|
|
":christmas_island:": "🇨🇽",
|
|
|
":christmas_tree:": "🎄",
|
|
|
":church:": "⛪",
|
|
|
":cinema:": "🎦",
|
|
|
":circus_tent:": "🎪",
|
|
|
":city_sunrise:": "🌇",
|
|
|
":city_sunset:": "🌆",
|
|
|
":cityscape:": "🏙",
|
|
|
":cl:": "🆑",
|
|
|
":clamp:": "🗜",
|
|
|
":clap:": "👏",
|
|
|
":clapper:": "🎬",
|
|
|
":classical_building:": "🏛",
|
|
|
":climbing:": "🧗",
|
|
|
":climbing_man:": "🧗♂",
|
|
|
":climbing_woman:": "🧗♀",
|
|
|
":clinking_glasses:": "🥂",
|
|
|
":clipboard:": "📋",
|
|
|
":clipperton_island:": "🇨🇵",
|
|
|
":clock1:": "🕐",
|
|
|
":clock10:": "🕙",
|
|
|
":clock1030:": "🕥",
|
|
|
":clock11:": "🕚",
|
|
|
":clock1130:": "🕦",
|
|
|
":clock12:": "🕛",
|
|
|
":clock1230:": "🕧",
|
|
|
":clock130:": "🕜",
|
|
|
":clock2:": "🕑",
|
|
|
":clock230:": "🕝",
|
|
|
":clock3:": "🕒",
|
|
|
":clock330:": "🕞",
|
|
|
":clock4:": "🕓",
|
|
|
":clock430:": "🕟",
|
|
|
":clock5:": "🕔",
|
|
|
":clock530:": "🕠",
|
|
|
":clock6:": "🕕",
|
|
|
":clock630:": "🕡",
|
|
|
":clock7:": "🕖",
|
|
|
":clock730:": "🕢",
|
|
|
":clock8:": "🕗",
|
|
|
":clock830:": "🕣",
|
|
|
":clock9:": "🕘",
|
|
|
":clock930:": "🕤",
|
|
|
":closed_book:": "📕",
|
|
|
":closed_lock_with_key:": "🔐",
|
|
|
":closed_umbrella:": "🌂",
|
|
|
":cloud:": "☁",
|
|
|
":cloud_with_lightning:": "🌩",
|
|
|
":cloud_with_lightning_and_rain:": "⛈",
|
|
|
":cloud_with_rain:": "🌧",
|
|
|
":cloud_with_snow:": "🌨",
|
|
|
":clown_face:": "🤡",
|
|
|
":clubs:": "♣",
|
|
|
":cn:": "🇨🇳",
|
|
|
":coat:": "🧥",
|
|
|
":cockroach:": "🪳",
|
|
|
":cocktail:": "🍸",
|
|
|
":coconut:": "🥥",
|
|
|
":cocos_islands:": "🇨🇨",
|
|
|
":coffee:": "☕",
|
|
|
":coffin:": "⚰",
|
|
|
":coin:": "🪙",
|
|
|
":cold_face:": "🥶",
|
|
|
":cold_sweat:": "😰",
|
|
|
":collision:": "💥",
|
|
|
":colombia:": "🇨🇴",
|
|
|
":comet:": "☄",
|
|
|
":comoros:": "🇰🇲",
|
|
|
":compass:": "🧭",
|
|
|
":computer:": "💻",
|
|
|
":computer_mouse:": "🖱",
|
|
|
":confetti_ball:": "🎊",
|
|
|
":confounded:": "😖",
|
|
|
":confused:": "😕",
|
|
|
":congo_brazzaville:": "🇨🇬",
|
|
|
":congo_kinshasa:": "🇨🇩",
|
|
|
":congratulations:": "㊗",
|
|
|
":construction:": "🚧",
|
|
|
":construction_worker:": "👷",
|
|
|
":construction_worker_man:": "👷♂",
|
|
|
":construction_worker_woman:": "👷♀",
|
|
|
":control_knobs:": "🎛",
|
|
|
":convenience_store:": "🏪",
|
|
|
":cook:": "🧑🍳",
|
|
|
":cook_islands:": "🇨🇰",
|
|
|
":cookie:": "🍪",
|
|
|
":cool:": "🆒",
|
|
|
":cop:": "👮",
|
|
|
":copyright:": "©",
|
|
|
":corn:": "🌽",
|
|
|
":costa_rica:": "🇨🇷",
|
|
|
":cote_divoire:": "🇨🇮",
|
|
|
":couch_and_lamp:": "🛋",
|
|
|
":couple:": "👫",
|
|
|
":couple_with_heart:": "💑",
|
|
|
":couple_with_heart_man_man:": "👨❤👨",
|
|
|
":couple_with_heart_woman_man:": "👩❤👨",
|
|
|
":couple_with_heart_woman_woman:": "👩❤👩",
|
|
|
":couplekiss:": "💏",
|
|
|
":couplekiss_man_man:": "👨❤💋👨",
|
|
|
":couplekiss_man_woman:": "👩❤💋👨",
|
|
|
":couplekiss_woman_woman:": "👩❤💋👩",
|
|
|
":cow:": "🐮",
|
|
|
":cow2:": "🐄",
|
|
|
":cowboy_hat_face:": "🤠",
|
|
|
":crab:": "🦀",
|
|
|
":crayon:": "🖍",
|
|
|
":credit_card:": "💳",
|
|
|
":crescent_moon:": "🌙",
|
|
|
":cricket:": "🦗",
|
|
|
":cricket_game:": "🏏",
|
|
|
":croatia:": "🇭🇷",
|
|
|
":crocodile:": "🐊",
|
|
|
":croissant:": "🥐",
|
|
|
":crossed_fingers:": "🤞",
|
|
|
":crossed_flags:": "🎌",
|
|
|
":crossed_swords:": "⚔",
|
|
|
":crown:": "👑",
|
|
|
":cry:": "😢",
|
|
|
":crying_cat_face:": "😿",
|
|
|
":crystal_ball:": "🔮",
|
|
|
":cuba:": "🇨🇺",
|
|
|
":cucumber:": "🥒",
|
|
|
":cup_with_straw:": "🥤",
|
|
|
":cupcake:": "🧁",
|
|
|
":cupid:": "💘",
|
|
|
":curacao:": "🇨🇼",
|
|
|
":curling_stone:": "🥌",
|
|
|
":curly_haired_man:": "👨🦱",
|
|
|
":curly_haired_woman:": "👩🦱",
|
|
|
":curly_loop:": "➰",
|
|
|
":currency_exchange:": "💱",
|
|
|
":curry:": "🍛",
|
|
|
":cursing_face:": "🤬",
|
|
|
":custard:": "🍮",
|
|
|
":customs:": "🛃",
|
|
|
":cut_of_meat:": "🥩",
|
|
|
":cyclone:": "🌀",
|
|
|
":cyprus:": "🇨🇾",
|
|
|
":czech_republic:": "🇨🇿",
|
|
|
":dagger:": "🗡",
|
|
|
":dancer:": "💃",
|
|
|
":dancers:": "👯",
|
|
|
":dancing_men:": "👯♂",
|
|
|
":dancing_women:": "👯♀",
|
|
|
":dango:": "🍡",
|
|
|
":dark_sunglasses:": "🕶",
|
|
|
":dart:": "🎯",
|
|
|
":dash:": "💨",
|
|
|
":date:": "📅",
|
|
|
":de:": "🇩🇪",
|
|
|
":deaf_man:": "🧏♂",
|
|
|
":deaf_person:": "🧏",
|
|
|
":deaf_woman:": "🧏♀",
|
|
|
":deciduous_tree:": "🌳",
|
|
|
":deer:": "🦌",
|
|
|
":denmark:": "🇩🇰",
|
|
|
":department_store:": "🏬",
|
|
|
":derelict_house:": "🏚",
|
|
|
":desert:": "🏜",
|
|
|
":desert_island:": "🏝",
|
|
|
":desktop_computer:": "🖥",
|
|
|
":detective:": "🕵",
|
|
|
":diamond_shape_with_a_dot_inside:": "💠",
|
|
|
":diamonds:": "♦",
|
|
|
":diego_garcia:": "🇩🇬",
|
|
|
":disappointed:": "😞",
|
|
|
":disappointed_relieved:": "😥",
|
|
|
":disguised_face:": "🥸",
|
|
|
":diving_mask:": "🤿",
|
|
|
":diya_lamp:": "🪔",
|
|
|
":dizzy:": "💫",
|
|
|
":dizzy_face:": "😵",
|
|
|
":djibouti:": "🇩🇯",
|
|
|
":dna:": "🧬",
|
|
|
":do_not_litter:": "🚯",
|
|
|
":dodo:": "🦤",
|
|
|
":dog:": "🐶",
|
|
|
":dog2:": "🐕",
|
|
|
":dollar:": "💵",
|
|
|
":dolls:": "🎎",
|
|
|
":dolphin:": "🐬",
|
|
|
":dominica:": "🇩🇲",
|
|
|
":dominican_republic:": "🇩🇴",
|
|
|
":door:": "🚪",
|
|
|
":doughnut:": "🍩",
|
|
|
":dove:": "🕊",
|
|
|
":dragon:": "🐉",
|
|
|
":dragon_face:": "🐲",
|
|
|
":dress:": "👗",
|
|
|
":dromedary_camel:": "🐪",
|
|
|
":drooling_face:": "🤤",
|
|
|
":drop_of_blood:": "🩸",
|
|
|
":droplet:": "💧",
|
|
|
":drum:": "🥁",
|
|
|
":duck:": "🦆",
|
|
|
":dumpling:": "🥟",
|
|
|
":dvd:": "📀",
|
|
|
":e-mail:": "📧",
|
|
|
":eagle:": "🦅",
|
|
|
":ear:": "👂",
|
|
|
":ear_of_rice:": "🌾",
|
|
|
":ear_with_hearing_aid:": "🦻",
|
|
|
":earth_africa:": "🌍",
|
|
|
":earth_americas:": "🌎",
|
|
|
":earth_asia:": "🌏",
|
|
|
":ecuador:": "🇪🇨",
|
|
|
":egg:": "🥚",
|
|
|
":eggplant:": "🍆",
|
|
|
":egypt:": "🇪🇬",
|
|
|
":eight:": "8⃣",
|
|
|
":eight_pointed_black_star:": "✴",
|
|
|
":eight_spoked_asterisk:": "✳",
|
|
|
":eject_button:": "⏏",
|
|
|
":el_salvador:": "🇸🇻",
|
|
|
":electric_plug:": "🔌",
|
|
|
":elephant:": "🐘",
|
|
|
":elevator:": "🛗",
|
|
|
":elf:": "🧝",
|
|
|
":elf_man:": "🧝♂",
|
|
|
":elf_woman:": "🧝♀",
|
|
|
":email:": "📧",
|
|
|
":end:": "🔚",
|
|
|
":england:": "🏴",
|
|
|
":envelope:": "✉",
|
|
|
":envelope_with_arrow:": "📩",
|
|
|
":equatorial_guinea:": "🇬🇶",
|
|
|
":eritrea:": "🇪🇷",
|
|
|
":es:": "🇪🇸",
|
|
|
":estonia:": "🇪🇪",
|
|
|
":ethiopia:": "🇪🇹",
|
|
|
":eu:": "🇪🇺",
|
|
|
":euro:": "💶",
|
|
|
":european_castle:": "🏰",
|
|
|
":european_post_office:": "🏤",
|
|
|
":european_union:": "🇪🇺",
|
|
|
":evergreen_tree:": "🌲",
|
|
|
":exclamation:": "❗",
|
|
|
":exploding_head:": "🤯",
|
|
|
":expressionless:": "😑",
|
|
|
":eye:": "👁",
|
|
|
":eye_speech_bubble:": "👁🗨",
|
|
|
":eyeglasses:": "👓",
|
|
|
":eyes:": "👀",
|
|
|
":face_exhaling:": "😮💨",
|
|
|
":face_in_clouds:": "😶🌫",
|
|
|
":face_with_head_bandage:": "🤕",
|
|
|
":face_with_spiral_eyes:": "😵💫",
|
|
|
":face_with_thermometer:": "🤒",
|
|
|
":facepalm:": "🤦",
|
|
|
":facepunch:": "👊",
|
|
|
":factory:": "🏭",
|
|
|
":factory_worker:": "🧑🏭",
|
|
|
":fairy:": "🧚",
|
|
|
":fairy_man:": "🧚♂",
|
|
|
":fairy_woman:": "🧚♀",
|
|
|
":falafel:": "🧆",
|
|
|
":falkland_islands:": "🇫🇰",
|
|
|
":fallen_leaf:": "🍂",
|
|
|
":family:": "👪",
|
|
|
":family_man_boy:": "👨👦",
|
|
|
":family_man_boy_boy:": "👨👦👦",
|
|
|
":family_man_girl:": "👨👧",
|
|
|
":family_man_girl_boy:": "👨👧👦",
|
|
|
":family_man_girl_girl:": "👨👧👧",
|
|
|
":family_man_man_boy:": "👨👨👦",
|
|
|
":family_man_man_boy_boy:": "👨👨👦👦",
|
|
|
":family_man_man_girl:": "👨👨👧",
|
|
|
":family_man_man_girl_boy:": "👨👨👧👦",
|
|
|
":family_man_man_girl_girl:": "👨👨👧👧",
|
|
|
":family_man_woman_boy:": "👨👩👦",
|
|
|
":family_man_woman_boy_boy:": "👨👩👦👦",
|
|
|
":family_man_woman_girl:": "👨👩👧",
|
|
|
":family_man_woman_girl_boy:": "👨👩👧👦",
|
|
|
":family_man_woman_girl_girl:": "👨👩👧👧",
|
|
|
":family_woman_boy:": "👩👦",
|
|
|
":family_woman_boy_boy:": "👩👦👦",
|
|
|
":family_woman_girl:": "👩👧",
|
|
|
":family_woman_girl_boy:": "👩👧👦",
|
|
|
":family_woman_girl_girl:": "👩👧👧",
|
|
|
":family_woman_woman_boy:": "👩👩👦",
|
|
|
":family_woman_woman_boy_boy:": "👩👩👦👦",
|
|
|
":family_woman_woman_girl:": "👩👩👧",
|
|
|
":family_woman_woman_girl_boy:": "👩👩👧👦",
|
|
|
":family_woman_woman_girl_girl:": "👩👩👧👧",
|
|
|
":farmer:": "🧑🌾",
|
|
|
":faroe_islands:": "🇫🇴",
|
|
|
":fast_forward:": "⏩",
|
|
|
":fax:": "📠",
|
|
|
":fearful:": "😨",
|
|
|
":feather:": "🪶",
|
|
|
":feet:": "🐾",
|
|
|
":female_detective:": "🕵♀",
|
|
|
":female_sign:": "♀",
|
|
|
":ferris_wheel:": "🎡",
|
|
|
":ferry:": "⛴",
|
|
|
":field_hockey:": "🏑",
|
|
|
":fiji:": "🇫🇯",
|
|
|
":file_cabinet:": "🗄",
|
|
|
":file_folder:": "📁",
|
|
|
":film_projector:": "📽",
|
|
|
":film_strip:": "🎞",
|
|
|
":finland:": "🇫🇮",
|
|
|
":fire:": "🔥",
|
|
|
":fire_engine:": "🚒",
|
|
|
":fire_extinguisher:": "🧯",
|
|
|
":firecracker:": "🧨",
|
|
|
":firefighter:": "🧑🚒",
|
|
|
":fireworks:": "🎆",
|
|
|
":first_quarter_moon:": "🌓",
|
|
|
":first_quarter_moon_with_face:": "🌛",
|
|
|
":fish:": "🐟",
|
|
|
":fish_cake:": "🍥",
|
|
|
":fishing_pole_and_fish:": "🎣",
|
|
|
":fist:": "✊",
|
|
|
":fist_left:": "🤛",
|
|
|
":fist_oncoming:": "👊",
|
|
|
":fist_raised:": "✊",
|
|
|
":fist_right:": "🤜",
|
|
|
":five:": "5⃣",
|
|
|
":flags:": "🎏",
|
|
|
":flamingo:": "🦩",
|
|
|
":flashlight:": "🔦",
|
|
|
":flat_shoe:": "🥿",
|
|
|
":flatbread:": "🫓",
|
|
|
":fleur_de_lis:": "⚜",
|
|
|
":flight_arrival:": "🛬",
|
|
|
":flight_departure:": "🛫",
|
|
|
":flipper:": "🐬",
|
|
|
":floppy_disk:": "💾",
|
|
|
":flower_playing_cards:": "🎴",
|
|
|
":flushed:": "😳",
|
|
|
":fly:": "🪰",
|
|
|
":flying_disc:": "🥏",
|
|
|
":flying_saucer:": "🛸",
|
|
|
":fog:": "🌫",
|
|
|
":foggy:": "🌁",
|
|
|
":fondue:": "🫕",
|
|
|
":foot:": "🦶",
|
|
|
":football:": "🏈",
|
|
|
":footprints:": "👣",
|
|
|
":fork_and_knife:": "🍴",
|
|
|
":fortune_cookie:": "🥠",
|
|
|
":fountain:": "⛲",
|
|
|
":fountain_pen:": "🖋",
|
|
|
":four:": "4⃣",
|
|
|
":four_leaf_clover:": "🍀",
|
|
|
":fox_face:": "🦊",
|
|
|
":fr:": "🇫🇷",
|
|
|
":framed_picture:": "🖼",
|
|
|
":free:": "🆓",
|
|
|
":french_guiana:": "🇬🇫",
|
|
|
":french_polynesia:": "🇵🇫",
|
|
|
":french_southern_territories:": "🇹🇫",
|
|
|
":fried_egg:": "🍳",
|
|
|
":fried_shrimp:": "🍤",
|
|
|
":fries:": "🍟",
|
|
|
":frog:": "🐸",
|
|
|
":frowning:": "😦",
|
|
|
":frowning_face:": "☹",
|
|
|
":frowning_man:": "🙍♂",
|
|
|
":frowning_person:": "🙍",
|
|
|
":frowning_woman:": "🙍♀",
|
|
|
":fu:": "🖕",
|
|
|
":fuelpump:": "⛽",
|
|
|
":full_moon:": "🌕",
|
|
|
":full_moon_with_face:": "🌝",
|
|
|
":funeral_urn:": "⚱",
|
|
|
":gabon:": "🇬🇦",
|
|
|
":gambia:": "🇬🇲",
|
|
|
":game_die:": "🎲",
|
|
|
":garlic:": "🧄",
|
|
|
":gb:": "🇬🇧",
|
|
|
":gear:": "⚙",
|
|
|
":gem:": "💎",
|
|
|
":gemini:": "♊",
|
|
|
":genie:": "🧞",
|
|
|
":genie_man:": "🧞♂",
|
|
|
":genie_woman:": "🧞♀",
|
|
|
":georgia:": "🇬🇪",
|
|
|
":ghana:": "🇬🇭",
|
|
|
":ghost:": "👻",
|
|
|
":gibraltar:": "🇬🇮",
|
|
|
":gift:": "🎁",
|
|
|
":gift_heart:": "💝",
|
|
|
":giraffe:": "🦒",
|
|
|
":girl:": "👧",
|
|
|
":globe_with_meridians:": "🌐",
|
|
|
":gloves:": "🧤",
|
|
|
":goal_net:": "🥅",
|
|
|
":goat:": "🐐",
|
|
|
":goggles:": "🥽",
|
|
|
":golf:": "⛳",
|
|
|
":golfing:": "🏌",
|
|
|
":golfing_man:": "🏌♂",
|
|
|
":golfing_woman:": "🏌♀",
|
|
|
":gorilla:": "🦍",
|
|
|
":grapes:": "🍇",
|
|
|
":greece:": "🇬🇷",
|
|
|
":green_apple:": "🍏",
|
|
|
":green_book:": "📗",
|
|
|
":green_circle:": "🟢",
|
|
|
":green_heart:": "💚",
|
|
|
":green_salad:": "🥗",
|
|
|
":green_square:": "🟩",
|
|
|
":greenland:": "🇬🇱",
|
|
|
":grenada:": "🇬🇩",
|
|
|
":grey_exclamation:": "❕",
|
|
|
":grey_question:": "❔",
|
|
|
":grimacing:": "😬",
|
|
|
":grin:": "😁",
|
|
|
":grinning:": "😀",
|
|
|
":guadeloupe:": "🇬🇵",
|
|
|
":guam:": "🇬🇺",
|
|
|
":guard:": "💂",
|
|
|
":guardsman:": "💂♂",
|
|
|
":guardswoman:": "💂♀",
|
|
|
":guatemala:": "🇬🇹",
|
|
|
":guernsey:": "🇬🇬",
|
|
|
":guide_dog:": "🦮",
|
|
|
":guinea:": "🇬🇳",
|
|
|
":guinea_bissau:": "🇬🇼",
|
|
|
":guitar:": "🎸",
|
|
|
":gun:": "🔫",
|
|
|
":guyana:": "🇬🇾",
|
|
|
":haircut:": "💇",
|
|
|
":haircut_man:": "💇♂",
|
|
|
":haircut_woman:": "💇♀",
|
|
|
":haiti:": "🇭🇹",
|
|
|
":hamburger:": "🍔",
|
|
|
":hammer:": "🔨",
|
|
|
":hammer_and_pick:": "⚒",
|
|
|
":hammer_and_wrench:": "🛠",
|
|
|
":hamster:": "🐹",
|
|
|
":hand:": "✋",
|
|
|
":hand_over_mouth:": "🤭",
|
|
|
":handbag:": "👜",
|
|
|
":handball_person:": "🤾",
|
|
|
":handshake:": "🤝",
|
|
|
":hankey:": "💩",
|
|
|
":hash:": "#⃣",
|
|
|
":hatched_chick:": "🐥",
|
|
|
":hatching_chick:": "🐣",
|
|
|
":headphones:": "🎧",
|
|
|
":headstone:": "🪦",
|
|
|
":health_worker:": "🧑⚕",
|
|
|
":hear_no_evil:": "🙉",
|
|
|
":heard_mcdonald_islands:": "🇭🇲",
|
|
|
":heart:": "❤",
|
|
|
":heart_decoration:": "💟",
|
|
|
":heart_eyes:": "😍",
|
|
|
":heart_eyes_cat:": "😻",
|
|
|
":heart_on_fire:": "❤🔥",
|
|
|
":heartbeat:": "💓",
|
|
|
":heartpulse:": "💗",
|
|
|
":hearts:": "♥",
|
|
|
":heavy_check_mark:": "✔",
|
|
|
":heavy_division_sign:": "➗",
|
|
|
":heavy_dollar_sign:": "💲",
|
|
|
":heavy_exclamation_mark:": "❗",
|
|
|
":heavy_heart_exclamation:": "❣",
|
|
|
":heavy_minus_sign:": "➖",
|
|
|
":heavy_multiplication_x:": "✖",
|
|
|
":heavy_plus_sign:": "➕",
|
|
|
":hedgehog:": "🦔",
|
|
|
":helicopter:": "🚁",
|
|
|
":herb:": "🌿",
|
|
|
":hibiscus:": "🌺",
|
|
|
":high_brightness:": "🔆",
|
|
|
":high_heel:": "👠",
|
|
|
":hiking_boot:": "🥾",
|
|
|
":hindu_temple:": "🛕",
|
|
|
":hippopotamus:": "🦛",
|
|
|
":hocho:": "🔪",
|
|
|
":hole:": "🕳",
|
|
|
":honduras:": "🇭🇳",
|
|
|
":honey_pot:": "🍯",
|
|
|
":honeybee:": "🐝",
|
|
|
":hong_kong:": "🇭🇰",
|
|
|
":hook:": "🪝",
|
|
|
":horse:": "🐴",
|
|
|
":horse_racing:": "🏇",
|
|
|
":hospital:": "🏥",
|
|
|
":hot_face:": "🥵",
|
|
|
":hot_pepper:": "🌶",
|
|
|
":hotdog:": "🌭",
|
|
|
":hotel:": "🏨",
|
|
|
":hotsprings:": "♨",
|
|
|
":hourglass:": "⌛",
|
|
|
":hourglass_flowing_sand:": "⏳",
|
|
|
":house:": "🏠",
|
|
|
":house_with_garden:": "🏡",
|
|
|
":houses:": "🏘",
|
|
|
":hugs:": "🤗",
|
|
|
":hungary:": "🇭🇺",
|
|
|
":hushed:": "😯",
|
|
|
":hut:": "🛖",
|
|
|
":ice_cream:": "🍨",
|
|
|
":ice_cube:": "🧊",
|
|
|
":ice_hockey:": "🏒",
|
|
|
":ice_skate:": "⛸",
|
|
|
":icecream:": "🍦",
|
|
|
":iceland:": "🇮🇸",
|
|
|
":id:": "🆔",
|
|
|
":ideograph_advantage:": "🉐",
|
|
|
":imp:": "👿",
|
|
|
":inbox_tray:": "📥",
|
|
|
":incoming_envelope:": "📨",
|
|
|
":india:": "🇮🇳",
|
|
|
":indonesia:": "🇮🇩",
|
|
|
":infinity:": "♾",
|
|
|
":information_desk_person:": "💁",
|
|
|
":information_source:": "ℹ",
|
|
|
":innocent:": "😇",
|
|
|
":interrobang:": "⁉",
|
|
|
":iphone:": "📱",
|
|
|
":iran:": "🇮🇷",
|
|
|
":iraq:": "🇮🇶",
|
|
|
":ireland:": "🇮🇪",
|
|
|
":isle_of_man:": "🇮🇲",
|
|
|
":israel:": "🇮🇱",
|
|
|
":it:": "🇮🇹",
|
|
|
":izakaya_lantern:": "🏮",
|
|
|
":jack_o_lantern:": "🎃",
|
|
|
":jamaica:": "🇯🇲",
|
|
|
":japan:": "🗾",
|
|
|
":japanese_castle:": "🏯",
|
|
|
":japanese_goblin:": "👺",
|
|
|
":japanese_ogre:": "👹",
|
|
|
":jeans:": "👖",
|
|
|
":jersey:": "🇯🇪",
|
|
|
":jigsaw:": "🧩",
|
|
|
":jordan:": "🇯🇴",
|
|
|
":joy:": "😂",
|
|
|
":joy_cat:": "😹",
|
|
|
":joystick:": "🕹",
|
|
|
":jp:": "🇯🇵",
|
|
|
":judge:": "🧑⚖",
|
|
|
":juggling_person:": "🤹",
|
|
|
":kaaba:": "🕋",
|
|
|
":kangaroo:": "🦘",
|
|
|
":kazakhstan:": "🇰🇿",
|
|
|
":kenya:": "🇰🇪",
|
|
|
":key:": "🔑",
|
|
|
":keyboard:": "⌨",
|
|
|
":keycap_ten:": "🔟",
|
|
|
":kick_scooter:": "🛴",
|
|
|
":kimono:": "👘",
|
|
|
":kiribati:": "🇰🇮",
|
|
|
":kiss:": "💋",
|
|
|
":kissing:": "😗",
|
|
|
":kissing_cat:": "😽",
|
|
|
":kissing_closed_eyes:": "😚",
|
|
|
":kissing_heart:": "😘",
|
|
|
":kissing_smiling_eyes:": "😙",
|
|
|
":kite:": "🪁",
|
|
|
":kiwi_fruit:": "🥝",
|
|
|
":kneeling_man:": "🧎♂",
|
|
|
":kneeling_person:": "🧎",
|
|
|
":kneeling_woman:": "🧎♀",
|
|
|
":knife:": "🔪",
|
|
|
":knot:": "🪢",
|
|
|
":koala:": "🐨",
|
|
|
":koko:": "🈁",
|
|
|
":kosovo:": "🇽🇰",
|
|
|
":kr:": "🇰🇷",
|
|
|
":kuwait:": "🇰🇼",
|
|
|
":kyrgyzstan:": "🇰🇬",
|
|
|
":lab_coat:": "🥼",
|
|
|
":label:": "🏷",
|
|
|
":lacrosse:": "🥍",
|
|
|
":ladder:": "🪜",
|
|
|
":lady_beetle:": "🐞",
|
|
|
":lantern:": "🏮",
|
|
|
":laos:": "🇱🇦",
|
|
|
":large_blue_circle:": "🔵",
|
|
|
":large_blue_diamond:": "🔷",
|
|
|
":large_orange_diamond:": "🔶",
|
|
|
":last_quarter_moon:": "🌗",
|
|
|
":last_quarter_moon_with_face:": "🌜",
|
|
|
":latin_cross:": "✝",
|
|
|
":latvia:": "🇱🇻",
|
|
|
":laughing:": "😆",
|
|
|
":leafy_green:": "🥬",
|
|
|
":leaves:": "🍃",
|
|
|
":lebanon:": "🇱🇧",
|
|
|
":ledger:": "📒",
|
|
|
":left_luggage:": "🛅",
|
|
|
":left_right_arrow:": "↔",
|
|
|
":left_speech_bubble:": "🗨",
|
|
|
":leftwards_arrow_with_hook:": "↩",
|
|
|
":leg:": "🦵",
|
|
|
":lemon:": "🍋",
|
|
|
":leo:": "♌",
|
|
|
":leopard:": "🐆",
|
|
|
":lesotho:": "🇱🇸",
|
|
|
":level_slider:": "🎚",
|
|
|
":liberia:": "🇱🇷",
|
|
|
":libra:": "♎",
|
|
|
":libya:": "🇱🇾",
|
|
|
":liechtenstein:": "🇱🇮",
|
|
|
":light_rail:": "🚈",
|
|
|
":link:": "🔗",
|
|
|
":lion:": "🦁",
|
|
|
":lips:": "👄",
|
|
|
":lipstick:": "💄",
|
|
|
":lithuania:": "🇱🇹",
|
|
|
":lizard:": "🦎",
|
|
|
":llama:": "🦙",
|
|
|
":lobster:": "🦞",
|
|
|
":lock:": "🔒",
|
|
|
":lock_with_ink_pen:": "🔏",
|
|
|
":lollipop:": "🍭",
|
|
|
":long_drum:": "🪘",
|
|
|
":loop:": "➿",
|
|
|
":lotion_bottle:": "🧴",
|
|
|
":lotus_position:": "🧘",
|
|
|
":lotus_position_man:": "🧘♂",
|
|
|
":lotus_position_woman:": "🧘♀",
|
|
|
":loud_sound:": "🔊",
|
|
|
":loudspeaker:": "📢",
|
|
|
":love_hotel:": "🏩",
|
|
|
":love_letter:": "💌",
|
|
|
":love_you_gesture:": "🤟",
|
|
|
":low_brightness:": "🔅",
|
|
|
":luggage:": "🧳",
|
|
|
":lungs:": "🫁",
|
|
|
":luxembourg:": "🇱🇺",
|
|
|
":lying_face:": "🤥",
|
|
|
":m:": "Ⓜ",
|
|
|
":macau:": "🇲🇴",
|
|
|
":macedonia:": "🇲🇰",
|
|
|
":madagascar:": "🇲🇬",
|
|
|
":mag:": "🔍",
|
|
|
":mag_right:": "🔎",
|
|
|
":mage:": "🧙",
|
|
|
":mage_man:": "🧙♂",
|
|
|
":mage_woman:": "🧙♀",
|
|
|
":magic_wand:": "🪄",
|
|
|
":magnet:": "🧲",
|
|
|
":mahjong:": "🀄",
|
|
|
":mailbox:": "📫",
|
|
|
":mailbox_closed:": "📪",
|
|
|
":mailbox_with_mail:": "📬",
|
|
|
":mailbox_with_no_mail:": "📭",
|
|
|
":malawi:": "🇲🇼",
|
|
|
":malaysia:": "🇲🇾",
|
|
|
":maldives:": "🇲🇻",
|
|
|
":male_detective:": "🕵♂",
|
|
|
":male_sign:": "♂",
|
|
|
":mali:": "🇲🇱",
|
|
|
":malta:": "🇲🇹",
|
|
|
":mammoth:": "🦣",
|
|
|
":man:": "👨",
|
|
|
":man_artist:": "👨🎨",
|
|
|
":man_astronaut:": "👨🚀",
|
|
|
":man_beard:": "🧔♂",
|
|
|
":man_cartwheeling:": "🤸♂",
|
|
|
":man_cook:": "👨🍳",
|
|
|
":man_dancing:": "🕺",
|
|
|
":man_facepalming:": "🤦♂",
|
|
|
":man_factory_worker:": "👨🏭",
|
|
|
":man_farmer:": "👨🌾",
|
|
|
":man_feeding_baby:": "👨🍼",
|
|
|
":man_firefighter:": "👨🚒",
|
|
|
":man_health_worker:": "👨⚕",
|
|
|
":man_in_manual_wheelchair:": "👨🦽",
|
|
|
":man_in_motorized_wheelchair:": "👨🦼",
|
|
|
":man_in_tuxedo:": "🤵♂",
|
|
|
":man_judge:": "👨⚖",
|
|
|
":man_juggling:": "🤹♂",
|
|
|
":man_mechanic:": "👨🔧",
|
|
|
":man_office_worker:": "👨💼",
|
|
|
":man_pilot:": "👨✈",
|
|
|
":man_playing_handball:": "🤾♂",
|
|
|
":man_playing_water_polo:": "🤽♂",
|
|
|
":man_scientist:": "👨🔬",
|
|
|
":man_shrugging:": "🤷♂",
|
|
|
":man_singer:": "👨🎤",
|
|
|
":man_student:": "👨🎓",
|
|
|
":man_teacher:": "👨🏫",
|
|
|
":man_technologist:": "👨💻",
|
|
|
":man_with_gua_pi_mao:": "👲",
|
|
|
":man_with_probing_cane:": "👨🦯",
|
|
|
":man_with_turban:": "👳♂",
|
|
|
":man_with_veil:": "👰♂",
|
|
|
":mandarin:": "🍊",
|
|
|
":mango:": "🥭",
|
|
|
":mans_shoe:": "👞",
|
|
|
":mantelpiece_clock:": "🕰",
|
|
|
":manual_wheelchair:": "🦽",
|
|
|
":maple_leaf:": "🍁",
|
|
|
":marshall_islands:": "🇲🇭",
|
|
|
":martial_arts_uniform:": "🥋",
|
|
|
":martinique:": "🇲🇶",
|
|
|
":mask:": "😷",
|
|
|
":massage:": "💆",
|
|
|
":massage_man:": "💆♂",
|
|
|
":massage_woman:": "💆♀",
|
|
|
":mate:": "🧉",
|
|
|
":mauritania:": "🇲🇷",
|
|
|
":mauritius:": "🇲🇺",
|
|
|
":mayotte:": "🇾🇹",
|
|
|
":meat_on_bone:": "🍖",
|
|
|
":mechanic:": "🧑🔧",
|
|
|
":mechanical_arm:": "🦾",
|
|
|
":mechanical_leg:": "🦿",
|
|
|
":medal_military:": "🎖",
|
|
|
":medal_sports:": "🏅",
|
|
|
":medical_symbol:": "⚕",
|
|
|
":mega:": "📣",
|
|
|
":melon:": "🍈",
|
|
|
":memo:": "📝",
|
|
|
":men_wrestling:": "🤼♂",
|
|
|
":mending_heart:": "❤🩹",
|
|
|
":menorah:": "🕎",
|
|
|
":mens:": "🚹",
|
|
|
":mermaid:": "🧜♀",
|
|
|
":merman:": "🧜♂",
|
|
|
":merperson:": "🧜",
|
|
|
":metal:": "🤘",
|
|
|
":metro:": "🚇",
|
|
|
":mexico:": "🇲🇽",
|
|
|
":microbe:": "🦠",
|
|
|
":micronesia:": "🇫🇲",
|
|
|
":microphone:": "🎤",
|
|
|
":microscope:": "🔬",
|
|
|
":middle_finger:": "🖕",
|
|
|
":military_helmet:": "🪖",
|
|
|
":milk_glass:": "🥛",
|
|
|
":milky_way:": "🌌",
|
|
|
":minibus:": "🚐",
|
|
|
":minidisc:": "💽",
|
|
|
":mirror:": "🪞",
|
|
|
":mobile_phone_off:": "📴",
|
|
|
":moldova:": "🇲🇩",
|
|
|
":monaco:": "🇲🇨",
|
|
|
":money_mouth_face:": "🤑",
|
|
|
":money_with_wings:": "💸",
|
|
|
":moneybag:": "💰",
|
|
|
":mongolia:": "🇲🇳",
|
|
|
":monkey:": "🐒",
|
|
|
":monkey_face:": "🐵",
|
|
|
":monocle_face:": "🧐",
|
|
|
":monorail:": "🚝",
|
|
|
":montenegro:": "🇲🇪",
|
|
|
":montserrat:": "🇲🇸",
|
|
|
":moon:": "🌔",
|
|
|
":moon_cake:": "🥮",
|
|
|
":morocco:": "🇲🇦",
|
|
|
":mortar_board:": "🎓",
|
|
|
":mosque:": "🕌",
|
|
|
":mosquito:": "🦟",
|
|
|
":motor_boat:": "🛥",
|
|
|
":motor_scooter:": "🛵",
|
|
|
":motorcycle:": "🏍",
|
|
|
":motorized_wheelchair:": "🦼",
|
|
|
":motorway:": "🛣",
|
|
|
":mount_fuji:": "🗻",
|
|
|
":mountain:": "⛰",
|
|
|
":mountain_bicyclist:": "🚵",
|
|
|
":mountain_biking_man:": "🚵♂",
|
|
|
":mountain_biking_woman:": "🚵♀",
|
|
|
":mountain_cableway:": "🚠",
|
|
|
":mountain_railway:": "🚞",
|
|
|
":mountain_snow:": "🏔",
|
|
|
":mouse:": "🐭",
|
|
|
":mouse2:": "🐁",
|
|
|
":mouse_trap:": "🪤",
|
|
|
":movie_camera:": "🎥",
|
|
|
":moyai:": "🗿",
|
|
|
":mozambique:": "🇲🇿",
|
|
|
":mrs_claus:": "🤶",
|
|
|
":muscle:": "💪",
|
|
|
":mushroom:": "🍄",
|
|
|
":musical_keyboard:": "🎹",
|
|
|
":musical_note:": "🎵",
|
|
|
":musical_score:": "🎼",
|
|
|
":mute:": "🔇",
|
|
|
":mx_claus:": "🧑🎄",
|
|
|
":myanmar:": "🇲🇲",
|
|
|
":nail_care:": "💅",
|
|
|
":name_badge:": "📛",
|
|
|
":namibia:": "🇳🇦",
|
|
|
":national_park:": "🏞",
|
|
|
":nauru:": "🇳🇷",
|
|
|
":nauseated_face:": "🤢",
|
|
|
":nazar_amulet:": "🧿",
|
|
|
":necktie:": "👔",
|
|
|
":negative_squared_cross_mark:": "❎",
|
|
|
":nepal:": "🇳🇵",
|
|
|
":nerd_face:": "🤓",
|
|
|
":nesting_dolls:": "🪆",
|
|
|
":netherlands:": "🇳🇱",
|
|
|
":neutral_face:": "😐",
|
|
|
":new:": "🆕",
|
|
|
":new_caledonia:": "🇳🇨",
|
|
|
":new_moon:": "🌑",
|
|
|
":new_moon_with_face:": "🌚",
|
|
|
":new_zealand:": "🇳🇿",
|
|
|
":newspaper:": "📰",
|
|
|
":newspaper_roll:": "🗞",
|
|
|
":next_track_button:": "⏭",
|
|
|
":ng:": "🆖",
|
|
|
":ng_man:": "🙅♂",
|
|
|
":ng_woman:": "🙅♀",
|
|
|
":nicaragua:": "🇳🇮",
|
|
|
":niger:": "🇳🇪",
|
|
|
":nigeria:": "🇳🇬",
|
|
|
":night_with_stars:": "🌃",
|
|
|
":nine:": "9⃣",
|
|
|
":ninja:": "🥷",
|
|
|
":niue:": "🇳🇺",
|
|
|
":no_bell:": "🔕",
|
|
|
":no_bicycles:": "🚳",
|
|
|
":no_entry:": "⛔",
|
|
|
":no_entry_sign:": "🚫",
|
|
|
":no_good:": "🙅",
|
|
|
":no_good_man:": "🙅♂",
|
|
|
":no_good_woman:": "🙅♀",
|
|
|
":no_mobile_phones:": "📵",
|
|
|
":no_mouth:": "😶",
|
|
|
":no_pedestrians:": "🚷",
|
|
|
":no_smoking:": "🚭",
|
|
|
":non-potable_water:": "🚱",
|
|
|
":norfolk_island:": "🇳🇫",
|
|
|
":north_korea:": "🇰🇵",
|
|
|
":northern_mariana_islands:": "🇲🇵",
|
|
|
":norway:": "🇳🇴",
|
|
|
":nose:": "👃",
|
|
|
":notebook:": "📓",
|
|
|
":notebook_with_decorative_cover:": "📔",
|
|
|
":notes:": "🎶",
|
|
|
":nut_and_bolt:": "🔩",
|
|
|
":o:": "⭕",
|
|
|
":o2:": "🅾",
|
|
|
":ocean:": "🌊",
|
|
|
":octopus:": "🐙",
|
|
|
":oden:": "🍢",
|
|
|
":office:": "🏢",
|
|
|
":office_worker:": "🧑💼",
|
|
|
":oil_drum:": "🛢",
|
|
|
":ok:": "🆗",
|
|
|
":ok_hand:": "👌",
|
|
|
":ok_man:": "🙆♂",
|
|
|
":ok_person:": "🙆",
|
|
|
":ok_woman:": "🙆♀",
|
|
|
":old_key:": "🗝",
|
|
|
":older_adult:": "🧓",
|
|
|
":older_man:": "👴",
|
|
|
":older_woman:": "👵",
|
|
|
":olive:": "🫒",
|
|
|
":om:": "🕉",
|
|
|
":oman:": "🇴🇲",
|
|
|
":on:": "🔛",
|
|
|
":oncoming_automobile:": "🚘",
|
|
|
":oncoming_bus:": "🚍",
|
|
|
":oncoming_police_car:": "🚔",
|
|
|
":oncoming_taxi:": "🚖",
|
|
|
":one:": "1⃣",
|
|
|
":one_piece_swimsuit:": "🩱",
|
|
|
":onion:": "🧅",
|
|
|
":open_book:": "📖",
|
|
|
":open_file_folder:": "📂",
|
|
|
":open_hands:": "👐",
|
|
|
":open_mouth:": "😮",
|
|
|
":open_umbrella:": "☂",
|
|
|
":ophiuchus:": "⛎",
|
|
|
":orange:": "🍊",
|
|
|
":orange_book:": "📙",
|
|
|
":orange_circle:": "🟠",
|
|
|
":orange_heart:": "🧡",
|
|
|
":orange_square:": "🟧",
|
|
|
":orangutan:": "🦧",
|
|
|
":orthodox_cross:": "☦",
|
|
|
":otter:": "🦦",
|
|
|
":outbox_tray:": "📤",
|
|
|
":owl:": "🦉",
|
|
|
":ox:": "🐂",
|
|
|
":oyster:": "🦪",
|
|
|
":package:": "📦",
|
|
|
":page_facing_up:": "📄",
|
|
|
":page_with_curl:": "📃",
|
|
|
":pager:": "📟",
|
|
|
":paintbrush:": "🖌",
|
|
|
":pakistan:": "🇵🇰",
|
|
|
":palau:": "🇵🇼",
|
|
|
":palestinian_territories:": "🇵🇸",
|
|
|
":palm_tree:": "🌴",
|
|
|
":palms_up_together:": "🤲",
|
|
|
":panama:": "🇵🇦",
|
|
|
":pancakes:": "🥞",
|
|
|
":panda_face:": "🐼",
|
|
|
":paperclip:": "📎",
|
|
|
":paperclips:": "🖇",
|
|
|
":papua_new_guinea:": "🇵🇬",
|
|
|
":parachute:": "🪂",
|
|
|
":paraguay:": "🇵🇾",
|
|
|
":parasol_on_ground:": "⛱",
|
|
|
":parking:": "🅿",
|
|
|
":parrot:": "🦜",
|
|
|
":part_alternation_mark:": "〽",
|
|
|
":partly_sunny:": "⛅",
|
|
|
":partying_face:": "🥳",
|
|
|
":passenger_ship:": "🛳",
|
|
|
":passport_control:": "🛂",
|
|
|
":pause_button:": "⏸",
|
|
|
":paw_prints:": "🐾",
|
|
|
":peace_symbol:": "☮",
|
|
|
":peach:": "🍑",
|
|
|
":peacock:": "🦚",
|
|
|
":peanuts:": "🥜",
|
|
|
":pear:": "🍐",
|
|
|
":pen:": "🖊",
|
|
|
":pencil:": "📝",
|
|
|
":pencil2:": "✏",
|
|
|
":penguin:": "🐧",
|
|
|
":pensive:": "😔",
|
|
|
":people_holding_hands:": "🧑🤝🧑",
|
|
|
":people_hugging:": "🫂",
|
|
|
":performing_arts:": "🎭",
|
|
|
":persevere:": "😣",
|
|
|
":person_bald:": "🧑🦲",
|
|
|
":person_curly_hair:": "🧑🦱",
|
|
|
":person_feeding_baby:": "🧑🍼",
|
|
|
":person_fencing:": "🤺",
|
|
|
":person_in_manual_wheelchair:": "🧑🦽",
|
|
|
":person_in_motorized_wheelchair:": "🧑🦼",
|
|
|
":person_in_tuxedo:": "🤵",
|
|
|
":person_red_hair:": "🧑🦰",
|
|
|
":person_white_hair:": "🧑🦳",
|
|
|
":person_with_probing_cane:": "🧑🦯",
|
|
|
":person_with_turban:": "👳",
|
|
|
":person_with_veil:": "👰",
|
|
|
":peru:": "🇵🇪",
|
|
|
":petri_dish:": "🧫",
|
|
|
":philippines:": "🇵🇭",
|
|
|
":phone:": "☎",
|
|
|
":pick:": "⛏",
|
|
|
":pickup_truck:": "🛻",
|
|
|
":pie:": "🥧",
|
|
|
":pig:": "🐷",
|
|
|
":pig2:": "🐖",
|
|
|
":pig_nose:": "🐽",
|
|
|
":pill:": "💊",
|
|
|
":pilot:": "🧑✈",
|
|
|
":pinata:": "🪅",
|
|
|
":pinched_fingers:": "🤌",
|
|
|
":pinching_hand:": "🤏",
|
|
|
":pineapple:": "🍍",
|
|
|
":ping_pong:": "🏓",
|
|
|
":pirate_flag:": "🏴☠",
|
|
|
":pisces:": "♓",
|
|
|
":pitcairn_islands:": "🇵🇳",
|
|
|
":pizza:": "🍕",
|
|
|
":placard:": "🪧",
|
|
|
":place_of_worship:": "🛐",
|
|
|
":plate_with_cutlery:": "🍽",
|
|
|
":play_or_pause_button:": "⏯",
|
|
|
":pleading_face:": "🥺",
|
|
|
":plunger:": "🪠",
|
|
|
":point_down:": "👇",
|
|
|
":point_left:": "👈",
|
|
|
":point_right:": "👉",
|
|
|
":point_up:": "☝",
|
|
|
":point_up_2:": "👆",
|
|
|
":poland:": "🇵🇱",
|
|
|
":polar_bear:": "🐻❄",
|
|
|
":police_car:": "🚓",
|
|
|
":police_officer:": "👮",
|
|
|
":policeman:": "👮♂",
|
|
|
":policewoman:": "👮♀",
|
|
|
":poodle:": "🐩",
|
|
|
":poop:": "💩",
|
|
|
":popcorn:": "🍿",
|
|
|
":portugal:": "🇵🇹",
|
|
|
":post_office:": "🏣",
|
|
|
":postal_horn:": "📯",
|
|
|
":postbox:": "📮",
|
|
|
":potable_water:": "🚰",
|
|
|
":potato:": "🥔",
|
|
|
":potted_plant:": "🪴",
|
|
|
":pouch:": "👝",
|
|
|
":poultry_leg:": "🍗",
|
|
|
":pound:": "💷",
|
|
|
":pout:": "😡",
|
|
|
":pouting_cat:": "😾",
|
|
|
":pouting_face:": "🙎",
|
|
|
":pouting_man:": "🙎♂",
|
|
|
":pouting_woman:": "🙎♀",
|
|
|
":pray:": "🙏",
|
|
|
":prayer_beads:": "📿",
|
|
|
":pregnant_woman:": "🤰",
|
|
|
":pretzel:": "🥨",
|
|
|
":previous_track_button:": "⏮",
|
|
|
":prince:": "🤴",
|
|
|
":princess:": "👸",
|
|
|
":printer:": "🖨",
|
|
|
":probing_cane:": "🦯",
|
|
|
":puerto_rico:": "🇵🇷",
|
|
|
":punch:": "👊",
|
|
|
":purple_circle:": "🟣",
|
|
|
":purple_heart:": "💜",
|
|
|
":purple_square:": "🟪",
|
|
|
":purse:": "👛",
|
|
|
":pushpin:": "📌",
|
|
|
":put_litter_in_its_place:": "🚮",
|
|
|
":qatar:": "🇶🇦",
|
|
|
":question:": "❓",
|
|
|
":rabbit:": "🐰",
|
|
|
":rabbit2:": "🐇",
|
|
|
":raccoon:": "🦝",
|
|
|
":racehorse:": "🐎",
|
|
|
":racing_car:": "🏎",
|
|
|
":radio:": "📻",
|
|
|
":radio_button:": "🔘",
|
|
|
":radioactive:": "☢",
|
|
|
":rage:": "😡",
|
|
|
":railway_car:": "🚃",
|
|
|
":railway_track:": "🛤",
|
|
|
":rainbow:": "🌈",
|
|
|
":rainbow_flag:": "🏳🌈",
|
|
|
":raised_back_of_hand:": "🤚",
|
|
|
":raised_eyebrow:": "🤨",
|
|
|
":raised_hand:": "✋",
|
|
|
":raised_hand_with_fingers_splayed:": "🖐",
|
|
|
":raised_hands:": "🙌",
|
|
|
":raising_hand:": "🙋",
|
|
|
":raising_hand_man:": "🙋♂",
|
|
|
":raising_hand_woman:": "🙋♀",
|
|
|
":ram:": "🐏",
|
|
|
":ramen:": "🍜",
|
|
|
":rat:": "🐀",
|
|
|
":razor:": "🪒",
|
|
|
":receipt:": "🧾",
|
|
|
":record_button:": "⏺",
|
|
|
":recycle:": "♻",
|
|
|
":red_car:": "🚗",
|
|
|
":red_circle:": "🔴",
|
|
|
":red_envelope:": "🧧",
|
|
|
":red_haired_man:": "👨🦰",
|
|
|
":red_haired_woman:": "👩🦰",
|
|
|
":red_square:": "🟥",
|
|
|
":registered:": "®",
|
|
|
":relaxed:": "☺",
|
|
|
":relieved:": "😌",
|
|
|
":reminder_ribbon:": "🎗",
|
|
|
":repeat:": "🔁",
|
|
|
":repeat_one:": "🔂",
|
|
|
":rescue_worker_helmet:": "⛑",
|
|
|
":restroom:": "🚻",
|
|
|
":reunion:": "🇷🇪",
|
|
|
":revolving_hearts:": "💞",
|
|
|
":rewind:": "⏪",
|
|
|
":rhinoceros:": "🦏",
|
|
|
":ribbon:": "🎀",
|
|
|
":rice:": "🍚",
|
|
|
":rice_ball:": "🍙",
|
|
|
":rice_cracker:": "🍘",
|
|
|
":rice_scene:": "🎑",
|
|
|
":right_anger_bubble:": "🗯",
|
|
|
":ring:": "💍",
|
|
|
":ringed_planet:": "🪐",
|
|
|
":robot:": "🤖",
|
|
|
":rock:": "🪨",
|
|
|
":rocket:": "🚀",
|
|
|
":rofl:": "🤣",
|
|
|
":roll_eyes:": "🙄",
|
|
|
":roll_of_paper:": "🧻",
|
|
|
":roller_coaster:": "🎢",
|
|
|
":roller_skate:": "🛼",
|
|
|
":romania:": "🇷🇴",
|
|
|
":rooster:": "🐓",
|
|
|
":rose:": "🌹",
|
|
|
":rosette:": "🏵",
|
|
|
":rotating_light:": "🚨",
|
|
|
":round_pushpin:": "📍",
|
|
|
":rowboat:": "🚣",
|
|
|
":rowing_man:": "🚣♂",
|
|
|
":rowing_woman:": "🚣♀",
|
|
|
":ru:": "🇷🇺",
|
|
|
":rugby_football:": "🏉",
|
|
|
":runner:": "🏃",
|
|
|
":running:": "🏃",
|
|
|
":running_man:": "🏃♂",
|
|
|
":running_shirt_with_sash:": "🎽",
|
|
|
":running_woman:": "🏃♀",
|
|
|
":rwanda:": "🇷🇼",
|
|
|
":sa:": "🈂",
|
|
|
":safety_pin:": "🧷",
|
|
|
":safety_vest:": "🦺",
|
|
|
":sagittarius:": "♐",
|
|
|
":sailboat:": "⛵",
|
|
|
":sake:": "🍶",
|
|
|
":salt:": "🧂",
|
|
|
":samoa:": "🇼🇸",
|
|
|
":san_marino:": "🇸🇲",
|
|
|
":sandal:": "👡",
|
|
|
":sandwich:": "🥪",
|
|
|
":santa:": "🎅",
|
|
|
":sao_tome_principe:": "🇸🇹",
|
|
|
":sari:": "🥻",
|
|
|
":sassy_man:": "💁♂",
|
|
|
":sassy_woman:": "💁♀",
|
|
|
":satellite:": "📡",
|
|
|
":satisfied:": "😆",
|
|
|
":saudi_arabia:": "🇸🇦",
|
|
|
":sauna_man:": "🧖♂",
|
|
|
":sauna_person:": "🧖",
|
|
|
":sauna_woman:": "🧖♀",
|
|
|
":sauropod:": "🦕",
|
|
|
":saxophone:": "🎷",
|
|
|
":scarf:": "🧣",
|
|
|
":school:": "🏫",
|
|
|
":school_satchel:": "🎒",
|
|
|
":scientist:": "🧑🔬",
|
|
|
":scissors:": "✂",
|
|
|
":scorpion:": "🦂",
|
|
|
":scorpius:": "♏",
|
|
|
":scotland:": "🏴",
|
|
|
":scream:": "😱",
|
|
|
":scream_cat:": "🙀",
|
|
|
":screwdriver:": "🪛",
|
|
|
":scroll:": "📜",
|
|
|
":seal:": "🦭",
|
|
|
":seat:": "💺",
|
|
|
":secret:": "㊙",
|
|
|
":see_no_evil:": "🙈",
|
|
|
":seedling:": "🌱",
|
|
|
":selfie:": "🤳",
|
|
|
":senegal:": "🇸🇳",
|
|
|
":serbia:": "🇷🇸",
|
|
|
":service_dog:": "🐕🦺",
|
|
|
":seven:": "7⃣",
|
|
|
":sewing_needle:": "🪡",
|
|
|
":seychelles:": "🇸🇨",
|
|
|
":shallow_pan_of_food:": "🥘",
|
|
|
":shamrock:": "☘",
|
|
|
":shark:": "🦈",
|
|
|
":shaved_ice:": "🍧",
|
|
|
":sheep:": "🐑",
|
|
|
":shell:": "🐚",
|
|
|
":shield:": "🛡",
|
|
|
":shinto_shrine:": "⛩",
|
|
|
":ship:": "🚢",
|
|
|
":shirt:": "👕",
|
|
|
":shit:": "💩",
|
|
|
":shoe:": "👞",
|
|
|
":shopping:": "🛍",
|
|
|
":shopping_cart:": "🛒",
|
|
|
":shorts:": "🩳",
|
|
|
":shower:": "🚿",
|
|
|
":shrimp:": "🦐",
|
|
|
":shrug:": "🤷",
|
|
|
":shushing_face:": "🤫",
|
|
|
":sierra_leone:": "🇸🇱",
|
|
|
":signal_strength:": "📶",
|
|
|
":singapore:": "🇸🇬",
|
|
|
":singer:": "🧑🎤",
|
|
|
":sint_maarten:": "🇸🇽",
|
|
|
":six:": "6⃣",
|
|
|
":six_pointed_star:": "🔯",
|
|
|
":skateboard:": "🛹",
|
|
|
":ski:": "🎿",
|
|
|
":skier:": "⛷",
|
|
|
":skull:": "💀",
|
|
|
":skull_and_crossbones:": "☠",
|
|
|
":skunk:": "🦨",
|
|
|
":sled:": "🛷",
|
|
|
":sleeping:": "😴",
|
|
|
":sleeping_bed:": "🛌",
|
|
|
":sleepy:": "😪",
|
|
|
":slightly_frowning_face:": "🙁",
|
|
|
":slightly_smiling_face:": "🙂",
|
|
|
":slot_machine:": "🎰",
|
|
|
":sloth:": "🦥",
|
|
|
":slovakia:": "🇸🇰",
|
|
|
":slovenia:": "🇸🇮",
|
|
|
":small_airplane:": "🛩",
|
|
|
":small_blue_diamond:": "🔹",
|
|
|
":small_orange_diamond:": "🔸",
|
|
|
":small_red_triangle:": "🔺",
|
|
|
":small_red_triangle_down:": "🔻",
|
|
|
":smile:": "😄",
|
|
|
":smile_cat:": "😸",
|
|
|
":smiley:": "😃",
|
|
|
":smiley_cat:": "😺",
|
|
|
":smiling_face_with_tear:": "🥲",
|
|
|
":smiling_face_with_three_hearts:": "🥰",
|
|
|
":smiling_imp:": "😈",
|
|
|
":smirk:": "😏",
|
|
|
":smirk_cat:": "😼",
|
|
|
":smoking:": "🚬",
|
|
|
":snail:": "🐌",
|
|
|
":snake:": "🐍",
|
|
|
":sneezing_face:": "🤧",
|
|
|
":snowboarder:": "🏂",
|
|
|
":snowflake:": "❄",
|
|
|
":snowman:": "⛄",
|
|
|
":snowman_with_snow:": "☃",
|
|
|
":soap:": "🧼",
|
|
|
":sob:": "😭",
|
|
|
":soccer:": "⚽",
|
|
|
":socks:": "🧦",
|
|
|
":softball:": "🥎",
|
|
|
":solomon_islands:": "🇸🇧",
|
|
|
":somalia:": "🇸🇴",
|
|
|
":soon:": "🔜",
|
|
|
":sos:": "🆘",
|
|
|
":sound:": "🔉",
|
|
|
":south_africa:": "🇿🇦",
|
|
|
":south_georgia_south_sandwich_islands:": "🇬🇸",
|
|
|
":south_sudan:": "🇸🇸",
|
|
|
":space_invader:": "👾",
|
|
|
":spades:": "♠",
|
|
|
":spaghetti:": "🍝",
|
|
|
":sparkle:": "❇",
|
|
|
":sparkler:": "🎇",
|
|
|
":sparkles:": "✨",
|
|
|
":sparkling_heart:": "💖",
|
|
|
":speak_no_evil:": "🙊",
|
|
|
":speaker:": "🔈",
|
|
|
":speaking_head:": "🗣",
|
|
|
":speech_balloon:": "💬",
|
|
|
":speedboat:": "🚤",
|
|
|
":spider:": "🕷",
|
|
|
":spider_web:": "🕸",
|
|
|
":spiral_calendar:": "🗓",
|
|
|
":spiral_notepad:": "🗒",
|
|
|
":sponge:": "🧽",
|
|
|
":spoon:": "🥄",
|
|
|
":squid:": "🦑",
|
|
|
":sri_lanka:": "🇱🇰",
|
|
|
":st_barthelemy:": "🇧🇱",
|
|
|
":st_helena:": "🇸🇭",
|
|
|
":st_kitts_nevis:": "🇰🇳",
|
|
|
":st_lucia:": "🇱🇨",
|
|
|
":st_martin:": "🇲🇫",
|
|
|
":st_pierre_miquelon:": "🇵🇲",
|
|
|
":st_vincent_grenadines:": "🇻🇨",
|
|
|
":stadium:": "🏟",
|
|
|
":standing_man:": "🧍♂",
|
|
|
":standing_person:": "🧍",
|
|
|
":standing_woman:": "🧍♀",
|
|
|
":star:": "⭐",
|
|
|
":star2:": "🌟",
|
|
|
":star_and_crescent:": "☪",
|
|
|
":star_of_david:": "✡",
|
|
|
":star_struck:": "🤩",
|
|
|
":stars:": "🌠",
|
|
|
":station:": "🚉",
|
|
|
":statue_of_liberty:": "🗽",
|
|
|
":steam_locomotive:": "🚂",
|
|
|
":stethoscope:": "🩺",
|
|
|
":stew:": "🍲",
|
|
|
":stop_button:": "⏹",
|
|
|
":stop_sign:": "🛑",
|
|
|
":stopwatch:": "⏱",
|
|
|
":straight_ruler:": "📏",
|
|
|
":strawberry:": "🍓",
|
|
|
":stuck_out_tongue:": "😛",
|
|
|
":stuck_out_tongue_closed_eyes:": "😝",
|
|
|
":stuck_out_tongue_winking_eye:": "😜",
|
|
|
":student:": "🧑🎓",
|
|
|
":studio_microphone:": "🎙",
|
|
|
":stuffed_flatbread:": "🥙",
|
|
|
":sudan:": "🇸🇩",
|
|
|
":sun_behind_large_cloud:": "🌥",
|
|
|
":sun_behind_rain_cloud:": "🌦",
|
|
|
":sun_behind_small_cloud:": "🌤",
|
|
|
":sun_with_face:": "🌞",
|
|
|
":sunflower:": "🌻",
|
|
|
":sunglasses:": "😎",
|
|
|
":sunny:": "☀",
|
|
|
":sunrise:": "🌅",
|
|
|
":sunrise_over_mountains:": "🌄",
|
|
|
":superhero:": "🦸",
|
|
|
":superhero_man:": "🦸♂",
|
|
|
":superhero_woman:": "🦸♀",
|
|
|
":supervillain:": "🦹",
|
|
|
":supervillain_man:": "🦹♂",
|
|
|
":supervillain_woman:": "🦹♀",
|
|
|
":surfer:": "🏄",
|
|
|
":surfing_man:": "🏄♂",
|
|
|
":surfing_woman:": "🏄♀",
|
|
|
":suriname:": "🇸🇷",
|
|
|
":sushi:": "🍣",
|
|
|
":suspension_railway:": "🚟",
|
|
|
":svalbard_jan_mayen:": "🇸🇯",
|
|
|
":swan:": "🦢",
|
|
|
":swaziland:": "🇸🇿",
|
|
|
":sweat:": "😓",
|
|
|
":sweat_drops:": "💦",
|
|
|
":sweat_smile:": "😅",
|
|
|
":sweden:": "🇸🇪",
|
|
|
":sweet_potato:": "🍠",
|
|
|
":swim_brief:": "🩲",
|
|
|
":swimmer:": "🏊",
|
|
|
":swimming_man:": "🏊♂",
|
|
|
":swimming_woman:": "🏊♀",
|
|
|
":switzerland:": "🇨🇭",
|
|
|
":symbols:": "🔣",
|
|
|
":synagogue:": "🕍",
|
|
|
":syria:": "🇸🇾",
|
|
|
":syringe:": "💉",
|
|
|
":t-rex:": "🦖",
|
|
|
":taco:": "🌮",
|
|
|
":tada:": "🎉",
|
|
|
":taiwan:": "🇹🇼",
|
|
|
":tajikistan:": "🇹🇯",
|
|
|
":takeout_box:": "🥡",
|
|
|
":tamale:": "🫔",
|
|
|
":tanabata_tree:": "🎋",
|
|
|
":tangerine:": "🍊",
|
|
|
":tanzania:": "🇹🇿",
|
|
|
":taurus:": "♉",
|
|
|
":taxi:": "🚕",
|
|
|
":tea:": "🍵",
|
|
|
":teacher:": "🧑🏫",
|
|
|
":teapot:": "🫖",
|
|
|
":technologist:": "🧑💻",
|
|
|
":teddy_bear:": "🧸",
|
|
|
":telephone:": "☎",
|
|
|
":telephone_receiver:": "📞",
|
|
|
":telescope:": "🔭",
|
|
|
":tennis:": "🎾",
|
|
|
":tent:": "⛺",
|
|
|
":test_tube:": "🧪",
|
|
|
":thailand:": "🇹🇭",
|
|
|
":thermometer:": "🌡",
|
|
|
":thinking:": "🤔",
|
|
|
":thong_sandal:": "🩴",
|
|
|
":thought_balloon:": "💭",
|
|
|
":thread:": "🧵",
|
|
|
":three:": "3⃣",
|
|
|
":thumbsdown:": "👎",
|
|
|
":thumbsup:": "👍",
|
|
|
":ticket:": "🎫",
|
|
|
":tickets:": "🎟",
|
|
|
":tiger:": "🐯",
|
|
|
":tiger2:": "🐅",
|
|
|
":timer_clock:": "⏲",
|
|
|
":timor_leste:": "🇹🇱",
|
|
|
":tipping_hand_man:": "💁♂",
|
|
|
":tipping_hand_person:": "💁",
|
|
|
":tipping_hand_woman:": "💁♀",
|
|
|
":tired_face:": "😫",
|
|
|
":tm:": "™",
|
|
|
":togo:": "🇹🇬",
|
|
|
":toilet:": "🚽",
|
|
|
":tokelau:": "🇹🇰",
|
|
|
":tokyo_tower:": "🗼",
|
|
|
":tomato:": "🍅",
|
|
|
":tonga:": "🇹🇴",
|
|
|
":tongue:": "👅",
|
|
|
":toolbox:": "🧰",
|
|
|
":tooth:": "🦷",
|
|
|
":toothbrush:": "🪥",
|
|
|
":top:": "🔝",
|
|
|
":tophat:": "🎩",
|
|
|
":tornado:": "🌪",
|
|
|
":tr:": "🇹🇷",
|
|
|
":trackball:": "🖲",
|
|
|
":tractor:": "🚜",
|
|
|
":traffic_light:": "🚥",
|
|
|
":train:": "🚋",
|
|
|
":train2:": "🚆",
|
|
|
":tram:": "🚊",
|
|
|
":transgender_flag:": "🏳⚧",
|
|
|
":transgender_symbol:": "⚧",
|
|
|
":triangular_flag_on_post:": "🚩",
|
|
|
":triangular_ruler:": "📐",
|
|
|
":trident:": "🔱",
|
|
|
":trinidad_tobago:": "🇹🇹",
|
|
|
":tristan_da_cunha:": "🇹🇦",
|
|
|
":triumph:": "😤",
|
|
|
":trolleybus:": "🚎",
|
|
|
":trophy:": "🏆",
|
|
|
":tropical_drink:": "🍹",
|
|
|
":tropical_fish:": "🐠",
|
|
|
":truck:": "🚚",
|
|
|
":trumpet:": "🎺",
|
|
|
":tshirt:": "👕",
|
|
|
":tulip:": "🌷",
|
|
|
":tumbler_glass:": "🥃",
|
|
|
":tunisia:": "🇹🇳",
|
|
|
":turkey:": "🦃",
|
|
|
":turkmenistan:": "🇹🇲",
|
|
|
":turks_caicos_islands:": "🇹🇨",
|
|
|
":turtle:": "🐢",
|
|
|
":tuvalu:": "🇹🇻",
|
|
|
":tv:": "📺",
|
|
|
":twisted_rightwards_arrows:": "🔀",
|
|
|
":two:": "2⃣",
|
|
|
":two_hearts:": "💕",
|
|
|
":two_men_holding_hands:": "👬",
|
|
|
":two_women_holding_hands:": "👭",
|
|
|
":u5272:": "🈹",
|
|
|
":u5408:": "🈴",
|
|
|
":u55b6:": "🈺",
|
|
|
":u6307:": "🈯",
|
|
|
":u6708:": "🈷",
|
|
|
":u6709:": "🈶",
|
|
|
":u6e80:": "🈵",
|
|
|
":u7121:": "🈚",
|
|
|
":u7533:": "🈸",
|
|
|
":u7981:": "🈲",
|
|
|
":u7a7a:": "🈳",
|
|
|
":uganda:": "🇺🇬",
|
|
|
":uk:": "🇬🇧",
|
|
|
":ukraine:": "🇺🇦",
|
|
|
":umbrella:": "☔",
|
|
|
":unamused:": "😒",
|
|
|
":underage:": "🔞",
|
|
|
":unicorn:": "🦄",
|
|
|
":united_arab_emirates:": "🇦🇪",
|
|
|
":united_nations:": "🇺🇳",
|
|
|
":unlock:": "🔓",
|
|
|
":up:": "🆙",
|
|
|
":upside_down_face:": "🙃",
|
|
|
":uruguay:": "🇺🇾",
|
|
|
":us:": "🇺🇸",
|
|
|
":us_outlying_islands:": "🇺🇲",
|
|
|
":us_virgin_islands:": "🇻🇮",
|
|
|
":uzbekistan:": "🇺🇿",
|
|
|
":v:": "✌",
|
|
|
":vampire:": "🧛",
|
|
|
":vampire_man:": "🧛♂",
|
|
|
":vampire_woman:": "🧛♀",
|
|
|
":vanuatu:": "🇻🇺",
|
|
|
":vatican_city:": "🇻🇦",
|
|
|
":venezuela:": "🇻🇪",
|
|
|
":vertical_traffic_light:": "🚦",
|
|
|
":vhs:": "📼",
|
|
|
":vibration_mode:": "📳",
|
|
|
":video_camera:": "📹",
|
|
|
":video_game:": "🎮",
|
|
|
":vietnam:": "🇻🇳",
|
|
|
":violin:": "🎻",
|
|
|
":virgo:": "♍",
|
|
|
":volcano:": "🌋",
|
|
|
":volleyball:": "🏐",
|
|
|
":vomiting_face:": "🤮",
|
|
|
":vs:": "🆚",
|
|
|
":vulcan_salute:": "🖖",
|
|
|
":waffle:": "🧇",
|
|
|
":wales:": "🏴",
|
|
|
":walking:": "🚶",
|
|
|
":walking_man:": "🚶♂",
|
|
|
":walking_woman:": "🚶♀",
|
|
|
":wallis_futuna:": "🇼🇫",
|
|
|
":waning_crescent_moon:": "🌘",
|
|
|
":waning_gibbous_moon:": "🌖",
|
|
|
":warning:": "⚠",
|
|
|
":wastebasket:": "🗑",
|
|
|
":watch:": "⌚",
|
|
|
":water_buffalo:": "🐃",
|
|
|
":water_polo:": "🤽",
|
|
|
":watermelon:": "🍉",
|
|
|
":wave:": "👋",
|
|
|
":wavy_dash:": "〰",
|
|
|
":waxing_crescent_moon:": "🌒",
|
|
|
":waxing_gibbous_moon:": "🌔",
|
|
|
":wc:": "🚾",
|
|
|
":weary:": "😩",
|
|
|
":wedding:": "💒",
|
|
|
":weight_lifting:": "🏋",
|
|
|
":weight_lifting_man:": "🏋♂",
|
|
|
":weight_lifting_woman:": "🏋♀",
|
|
|
":western_sahara:": "🇪🇭",
|
|
|
":whale:": "🐳",
|
|
|
":whale2:": "🐋",
|
|
|
":wheel_of_dharma:": "☸",
|
|
|
":wheelchair:": "♿",
|
|
|
":white_check_mark:": "✅",
|
|
|
":white_circle:": "⚪",
|
|
|
":white_flag:": "🏳",
|
|
|
":white_flower:": "💮",
|
|
|
":white_haired_man:": "👨🦳",
|
|
|
":white_haired_woman:": "👩🦳",
|
|
|
":white_heart:": "🤍",
|
|
|
":white_large_square:": "⬜",
|
|
|
":white_medium_small_square:": "◽",
|
|
|
":white_medium_square:": "◻",
|
|
|
":white_small_square:": "▫",
|
|
|
":white_square_button:": "🔳",
|
|
|
":wilted_flower:": "🥀",
|
|
|
":wind_chime:": "🎐",
|
|
|
":wind_face:": "🌬",
|
|
|
":window:": "🪟",
|
|
|
":wine_glass:": "🍷",
|
|
|
":wink:": "😉",
|
|
|
":wolf:": "🐺",
|
|
|
":woman:": "👩",
|
|
|
":woman_artist:": "👩🎨",
|
|
|
":woman_astronaut:": "👩🚀",
|
|
|
":woman_beard:": "🧔♀",
|
|
|
":woman_cartwheeling:": "🤸♀",
|
|
|
":woman_cook:": "👩🍳",
|
|
|
":woman_dancing:": "💃",
|
|
|
":woman_facepalming:": "🤦♀",
|
|
|
":woman_factory_worker:": "👩🏭",
|
|
|
":woman_farmer:": "👩🌾",
|
|
|
":woman_feeding_baby:": "👩🍼",
|
|
|
":woman_firefighter:": "👩🚒",
|
|
|
":woman_health_worker:": "👩⚕",
|
|
|
":woman_in_manual_wheelchair:": "👩🦽",
|
|
|
":woman_in_motorized_wheelchair:": "👩🦼",
|
|
|
":woman_in_tuxedo:": "🤵♀",
|
|
|
":woman_judge:": "👩⚖",
|
|
|
":woman_juggling:": "🤹♀",
|
|
|
":woman_mechanic:": "👩🔧",
|
|
|
":woman_office_worker:": "👩💼",
|
|
|
":woman_pilot:": "👩✈",
|
|
|
":woman_playing_handball:": "🤾♀",
|
|
|
":woman_playing_water_polo:": "🤽♀",
|
|
|
":woman_scientist:": "👩🔬",
|
|
|
":woman_shrugging:": "🤷♀",
|
|
|
":woman_singer:": "👩🎤",
|
|
|
":woman_student:": "👩🎓",
|
|
|
":woman_teacher:": "👩🏫",
|
|
|
":woman_technologist:": "👩💻",
|
|
|
":woman_with_headscarf:": "🧕",
|
|
|
":woman_with_probing_cane:": "👩🦯",
|
|
|
":woman_with_turban:": "👳♀",
|
|
|
":woman_with_veil:": "👰♀",
|
|
|
":womans_clothes:": "👚",
|
|
|
":womans_hat:": "👒",
|
|
|
":women_wrestling:": "🤼♀",
|
|
|
":womens:": "🚺",
|
|
|
":wood:": "🪵",
|
|
|
":woozy_face:": "🥴",
|
|
|
":world_map:": "🗺",
|
|
|
":worm:": "🪱",
|
|
|
":worried:": "😟",
|
|
|
":wrench:": "🔧",
|
|
|
":wrestling:": "🤼",
|
|
|
":writing_hand:": "✍",
|
|
|
":x:": "❌",
|
|
|
":yarn:": "🧶",
|
|
|
":yawning_face:": "🥱",
|
|
|
":yellow_circle:": "🟡",
|
|
|
":yellow_heart:": "💛",
|
|
|
":yellow_square:": "🟨",
|
|
|
":yemen:": "🇾🇪",
|
|
|
":yen:": "💴",
|
|
|
":yin_yang:": "☯",
|
|
|
":yo_yo:": "🪀",
|
|
|
":yum:": "😋",
|
|
|
":zambia:": "🇿🇲",
|
|
|
":zany_face:": "🤪",
|
|
|
":zap:": "⚡",
|
|
|
":zebra:": "🦓",
|
|
|
":zero:": "0⃣",
|
|
|
":zimbabwe:": "🇿🇼",
|
|
|
":zipper_mouth_face:": "🤐",
|
|
|
":zombie:": "🧟",
|
|
|
":zombie_man:": "🧟♂",
|
|
|
":zombie_woman:": "🧟♀",
|
|
|
":zzz:": "💤"
|
|
|
};
|
|
|
|
|
|
class EmojiMarkdownPostProcessor {
|
|
|
static emojiReplace(shortcode, el) {
|
|
|
var _a;
|
|
|
if ((typeof el.tagName === "string") && (el.tagName.indexOf("CODE") !== -1 || el.tagName.indexOf("MJX") !== -1)) {
|
|
|
return false;
|
|
|
}
|
|
|
if (el.hasChildNodes()) {
|
|
|
el.childNodes.forEach((child) => this.emojiReplace(shortcode, child));
|
|
|
}
|
|
|
else {
|
|
|
el.textContent = el.textContent.replace(shortcode, (_a = emoji[shortcode]) !== null && _a !== void 0 ? _a : shortcode);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
EmojiMarkdownPostProcessor.emojiProcessor = (el) => {
|
|
|
var _a;
|
|
|
(_a = el.innerText.match(/[:][^\s:][^ \n:]*[:]/g)) === null || _a === void 0 ? void 0 : _a.forEach((e) => EmojiMarkdownPostProcessor.emojiReplace(e, el));
|
|
|
};
|
|
|
|
|
|
const DEFAULT_SETTINGS = {
|
|
|
immediateReplace: true,
|
|
|
suggester: true,
|
|
|
};
|
|
|
class EmojiPluginSettingTab extends obsidian.PluginSettingTab {
|
|
|
constructor(app, plugin) {
|
|
|
super(app, plugin);
|
|
|
this.plugin = plugin;
|
|
|
}
|
|
|
display() {
|
|
|
let { containerEl } = this;
|
|
|
containerEl.empty();
|
|
|
containerEl.createEl('h2', { text: 'Emoji Shortcodes Plugin' });
|
|
|
new obsidian.Setting(containerEl)
|
|
|
.setName('Immediate Emoji Replace')
|
|
|
.setDesc('If this is turned on, Emoji shortcodes will be immediately replaced after typing. Otherwise they are still stored as a shortcode and you only see the Emoji in Preview Mode.')
|
|
|
.addToggle(cb => {
|
|
|
cb.setValue(this.plugin.settings.immediateReplace)
|
|
|
.onChange((value) => __awaiter(this, void 0, void 0, function* () {
|
|
|
this.plugin.settings.immediateReplace = value;
|
|
|
yield this.plugin.saveSettings();
|
|
|
}));
|
|
|
});
|
|
|
new obsidian.Setting(containerEl)
|
|
|
.setName('Emoji Suggester')
|
|
|
.setDesc('If this is turned on, a Suggester will appear everytime you type : followed by a letter. This will help you insert Emojis. (Doesn\'t work on mobile)')
|
|
|
.addToggle(cb => {
|
|
|
cb.setValue(this.plugin.settings.suggester)
|
|
|
.onChange((value) => __awaiter(this, void 0, void 0, function* () {
|
|
|
this.plugin.settings.suggester = value;
|
|
|
yield this.plugin.saveSettings();
|
|
|
}));
|
|
|
});
|
|
|
new obsidian.Setting(containerEl)
|
|
|
.setName('Donate')
|
|
|
.setDesc('If you like this Plugin, consider donating to support continued development:')
|
|
|
.addButton((bt) => {
|
|
|
bt.buttonEl.outerHTML = `<a href="https://www.buymeacoffee.com/phibr0"><img src="https://img.buymeacoffee.com/button-api/?text=Buy me a coffee&emoji=&slug=phibr0&button_colour=5F7FFF&font_colour=ffffff&font_family=Inter&outline_colour=000000&coffee_colour=FFDD00"></a>`;
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function checkForInputBlock(cmEditor, cursorPos) {
|
|
|
const tokenType = cmEditor.getTokenAt(cursorPos, true).type;
|
|
|
return (typeof (tokenType) !== "string") || (tokenType.indexOf("code") === -1 && tokenType.indexOf("math") === -1); // "code" matches "inline-code" or "codeblock"
|
|
|
}
|
|
|
|
|
|
const wrapAround = (value, size) => {
|
|
|
return ((value % size) + size) % size;
|
|
|
};
|
|
|
class Suggest {
|
|
|
constructor(owner, containerEl, scope) {
|
|
|
this.owner = owner;
|
|
|
this.containerEl = containerEl;
|
|
|
containerEl.on("click", ".suggestion-item", this.onSuggestionClick.bind(this));
|
|
|
containerEl.on("mousemove", ".suggestion-item", this.onSuggestionMouseover.bind(this));
|
|
|
scope.register([], "ArrowUp", (event) => {
|
|
|
if (!event.isComposing) {
|
|
|
this.setSelectedItem(this.selectedItem - 1, true);
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
scope.register([], "ArrowDown", (event) => {
|
|
|
if (!event.isComposing) {
|
|
|
this.setSelectedItem(this.selectedItem + 1, true);
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
const selectItem = (event) => {
|
|
|
if (!event.isComposing) {
|
|
|
return this.useSelectedItem(event);
|
|
|
}
|
|
|
};
|
|
|
scope.register([], "Enter", selectItem);
|
|
|
scope.register(["Shift"], "Enter", selectItem);
|
|
|
}
|
|
|
onSuggestionClick(event, el) {
|
|
|
event.preventDefault();
|
|
|
const item = this.suggestions.indexOf(el);
|
|
|
this.setSelectedItem(item, false);
|
|
|
this.useSelectedItem(event);
|
|
|
}
|
|
|
onSuggestionMouseover(_event, el) {
|
|
|
const item = this.suggestions.indexOf(el);
|
|
|
this.setSelectedItem(item, false);
|
|
|
}
|
|
|
setSuggestions(values) {
|
|
|
this.containerEl.empty();
|
|
|
const suggestionEls = [];
|
|
|
values.forEach((value) => {
|
|
|
const suggestionEl = this.containerEl.createDiv("suggestion-item ES-suggestion-item");
|
|
|
this.owner.renderSuggestion(value, suggestionEl);
|
|
|
suggestionEls.push(suggestionEl);
|
|
|
});
|
|
|
this.values = values;
|
|
|
this.suggestions = suggestionEls;
|
|
|
this.setSelectedItem(0, false);
|
|
|
}
|
|
|
useSelectedItem(event) {
|
|
|
const currentValue = this.values[this.selectedItem];
|
|
|
if (currentValue) {
|
|
|
this.owner.selectSuggestion(currentValue, event);
|
|
|
return false;
|
|
|
}
|
|
|
else {
|
|
|
//@ts-ignore
|
|
|
this.owner.close();
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
|
setSelectedItem(selectedIndex, scrollIntoView) {
|
|
|
const normalizedIndex = wrapAround(selectedIndex, this.suggestions.length);
|
|
|
const prevSelectedSuggestion = this.suggestions[this.selectedItem];
|
|
|
const selectedSuggestion = this.suggestions[normalizedIndex];
|
|
|
prevSelectedSuggestion === null || prevSelectedSuggestion === void 0 ? void 0 : prevSelectedSuggestion.removeClass("is-selected");
|
|
|
selectedSuggestion === null || selectedSuggestion === void 0 ? void 0 : selectedSuggestion.addClass("is-selected");
|
|
|
this.selectedItem = normalizedIndex;
|
|
|
if (scrollIntoView) {
|
|
|
selectedSuggestion.scrollIntoView(false);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function checkForInputPhrase(cmEditor, pos, phrase) {
|
|
|
const from = {
|
|
|
line: pos.line,
|
|
|
ch: pos.ch - phrase.length,
|
|
|
};
|
|
|
if (cmEditor.getRange(from, pos) === phrase) {
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
|
function isCursorBeforePos(pos, cursor) {
|
|
|
if (pos.line === cursor.line) {
|
|
|
return cursor.ch < pos.ch;
|
|
|
}
|
|
|
return cursor.line < pos.line;
|
|
|
}
|
|
|
class CodeMirrorSuggest {
|
|
|
constructor(app, triggerPhrase) {
|
|
|
this.triggerPhrase = triggerPhrase;
|
|
|
this.app = app;
|
|
|
this.scope = new obsidian.Scope();
|
|
|
this.suggestEl = createDiv("suggestion-container");
|
|
|
const suggestion = this.suggestEl.createDiv({ cls: "suggestion" });
|
|
|
this.suggest = new Suggest(this, suggestion, this.scope);
|
|
|
this.scope.register([], "Escape", this.close.bind(this));
|
|
|
this.scope.register([], " ", this.close.bind(this));
|
|
|
addEventListener("ES-replaced", () => {
|
|
|
this.close();
|
|
|
});
|
|
|
}
|
|
|
update(cmEditor, changeObj) {
|
|
|
var _a;
|
|
|
if (this.cmEditor !== cmEditor) {
|
|
|
(_a = this.suggestEl) === null || _a === void 0 ? void 0 : _a.detach();
|
|
|
}
|
|
|
this.cmEditor = cmEditor;
|
|
|
const cursorPos = cmEditor.getCursor();
|
|
|
// autosuggest is open
|
|
|
if (this.suggestEl.parentNode) {
|
|
|
if (isCursorBeforePos(this.startPos, cursorPos) || cmEditor.getLine(cursorPos.line).substring(0, cursorPos.ch).endsWith("::")) {
|
|
|
this.close();
|
|
|
return false;
|
|
|
}
|
|
|
this.attachAtCursor();
|
|
|
}
|
|
|
else {
|
|
|
if (changeObj.text.length === 1 && // ignore multi-cursors
|
|
|
checkForInputPhrase(this.cmEditor, cursorPos, this.triggerPhrase) &&
|
|
|
checkForInputBlock(this.cmEditor, cursorPos) &&
|
|
|
!document.querySelector(".suggestion-container") // don't trigger multiple autosuggests
|
|
|
) {
|
|
|
this.startPos = cursorPos;
|
|
|
this.open();
|
|
|
this.attachAtCursor();
|
|
|
}
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
getStartPos() {
|
|
|
return {
|
|
|
line: this.startPos.line,
|
|
|
ch: this.startPos.ch - this.triggerPhrase.length,
|
|
|
};
|
|
|
}
|
|
|
getInputStr() {
|
|
|
// return string from / to cursor
|
|
|
const cursor = this.cmEditor.getCursor();
|
|
|
const line = this.cmEditor.getLine(cursor.line);
|
|
|
return line.substring(this.startPos.ch, cursor.ch);
|
|
|
}
|
|
|
attachAtCursor() {
|
|
|
const inputStr = this.getInputStr();
|
|
|
const suggestions = this.getSuggestions(inputStr);
|
|
|
this.suggest.setSuggestions(suggestions);
|
|
|
this.cmEditor.addWidget(this.cmEditor.getCursor(), this.suggestEl, true);
|
|
|
}
|
|
|
open() {
|
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
|
this.app.keymap.pushScope(this.scope);
|
|
|
}
|
|
|
close() {
|
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
|
this.app.keymap.popScope(this.scope);
|
|
|
this.startPos = null;
|
|
|
this.suggest.setSuggestions([]);
|
|
|
this.suggestEl.detach();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//This Code, including codemirror-suggest.ts and suggest.ts are modified copies of nl-dates (https://github.com/argenos/nldates-obsidian)
|
|
|
class EmojiSuggest extends CodeMirrorSuggest {
|
|
|
constructor(app, plugin) {
|
|
|
super(app, ":");
|
|
|
this.plugin = plugin;
|
|
|
}
|
|
|
getSuggestions(inputStr) {
|
|
|
const suggestions = this.getEmojiSuggestions(inputStr);
|
|
|
if (inputStr.trim() && suggestions.length) {
|
|
|
return suggestions;
|
|
|
}
|
|
|
else {
|
|
|
if (inputStr === " ") {
|
|
|
this.close();
|
|
|
return;
|
|
|
}
|
|
|
return [];
|
|
|
}
|
|
|
}
|
|
|
getEmojiSuggestions(inputStr) {
|
|
|
return Object.keys(emoji).filter((value) => value.startsWith(":" + inputStr));
|
|
|
}
|
|
|
renderSuggestion(suggestion, el) {
|
|
|
const outer = el.createDiv({ cls: "ES-suggester-container" });
|
|
|
outer.createDiv({ cls: "ES-shortcode" }).setText(this.cap(suggestion.replace(/:/g, "").replace(/_/g, " ")));
|
|
|
outer.createDiv({ cls: "ES-emoji" }).setText(emoji[suggestion]);
|
|
|
}
|
|
|
selectSuggestion(suggestion, _) {
|
|
|
const cursorPos = this.cmEditor.getCursor();
|
|
|
const line = cursorPos.line;
|
|
|
const start = this.cmEditor.getLine(line).substring(0, cursorPos.ch).lastIndexOf(":");
|
|
|
this.cmEditor.replaceRange(this.plugin.settings.immediateReplace ? emoji[suggestion] : suggestion, { ch: start, line: line }, cursorPos);
|
|
|
this.close();
|
|
|
}
|
|
|
cap(string) {
|
|
|
const words = string.split(" ");
|
|
|
return words.map((word) => {
|
|
|
return word[0].toUpperCase() + word.substring(1);
|
|
|
}).join(" ");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
class EmojiShortcodesPlugin extends obsidian.Plugin {
|
|
|
constructor() {
|
|
|
super(...arguments);
|
|
|
this.autosuggestHandler = (cmEditor, changeObj) => {
|
|
|
var _a;
|
|
|
if (obsidian.Platform.isDesktop && this.settings.suggester) {
|
|
|
return (_a = this.autosuggest) === null || _a === void 0 ? void 0 : _a.update(cmEditor, changeObj);
|
|
|
}
|
|
|
else {
|
|
|
return false;
|
|
|
}
|
|
|
};
|
|
|
this.replaceHandler = (cm) => {
|
|
|
var _a;
|
|
|
if (this.settings.immediateReplace) {
|
|
|
const cursorPos = cm.getCursor();
|
|
|
const lineNr = cursorPos.line;
|
|
|
if (checkForInputBlock(cm, cursorPos) === false) {
|
|
|
return false;
|
|
|
}
|
|
|
const lineText = cm.getLine(lineNr).substring(0, cursorPos.ch);
|
|
|
const match = (_a = lineText.match(/:\w+?:$/gm)) === null || _a === void 0 ? void 0 : _a.first();
|
|
|
if (match && emoji[match]) {
|
|
|
dispatchEvent(new Event("ES-replaced"));
|
|
|
cm.replaceRange(emoji[match], { line: lineNr, ch: lineText.length - match.length }, cursorPos);
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
}
|
|
|
onload() {
|
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
|
yield this.loadSettings();
|
|
|
this.addSettingTab(new EmojiPluginSettingTab(this.app, this));
|
|
|
this.autosuggest = new EmojiSuggest(this.app, this);
|
|
|
this.registerMarkdownPostProcessor(EmojiMarkdownPostProcessor.emojiProcessor);
|
|
|
this.registerCodeMirror((cm) => {
|
|
|
if (obsidian.Platform.isDesktop) {
|
|
|
cm.on("cursorActivity", this.replaceHandler);
|
|
|
}
|
|
|
cm.on("change", this.autosuggestHandler);
|
|
|
});
|
|
|
});
|
|
|
}
|
|
|
onunload() {
|
|
|
this.app.workspace.iterateCodeMirrors((cm) => {
|
|
|
cm.off("change", this.autosuggestHandler);
|
|
|
cm.off("cursorActivity", this.replaceHandler);
|
|
|
});
|
|
|
}
|
|
|
loadSettings() {
|
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
|
this.settings = Object.assign({}, DEFAULT_SETTINGS, yield this.loadData());
|
|
|
});
|
|
|
}
|
|
|
saveSettings() {
|
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
|
yield this.saveData(this.settings);
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
module.exports = EmojiShortcodesPlugin;
|
|
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsInNyYy9lbW9qaUxpc3QudHMiLCJzcmMvbWFya2Rvd25Qb3N0UHJvY2Vzc29yLnRzIiwic3JjL3NldHRpbmdzLnRzIiwic3JjL3V0aWwudHMiLCJzcmMvc3VnZ2VzdC9zdWdnZXN0LnRzIiwic3JjL3N1Z2dlc3QvY29kZW1pcnJvci1zdWdnZXN0LnRzIiwic3JjL3N1Z2dlc3QvZW1vamktc3VnZ2VzdC50cyIsInNyYy9tYWluLnRzIl0sInNvdXJjZXNDb250ZW50IjpudWxsLCJuYW1lcyI6WyJQbHVnaW5TZXR0aW5nVGFiIiwiU2V0dGluZyIsIlNjb3BlIiwiUGx1Z2luIiwiUGxhdGZvcm0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF1REE7QUFDTyxTQUFTLFNBQVMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUU7QUFDN0QsSUFBSSxTQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEtBQUssWUFBWSxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7QUFDaEgsSUFBSSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7QUFDL0QsUUFBUSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENB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
|