{"id":13747354,"url":"https://github.com/janlelis/unicode-emoji","last_synced_at":"2025-10-10T22:57:38.844Z","repository":{"id":46560856,"uuid":"87630424","full_name":"janlelis/unicode-emoji","owner":"janlelis","description":"Up-to-date Emoji Regex in Ruby 💥","archived":false,"fork":false,"pushed_at":"2023-10-01T18:28:33.000Z","size":659,"stargazers_count":142,"open_issues_count":1,"forks_count":14,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-04-14T05:58:21.123Z","etag":null,"topics":["emoji","emoji-unicode","hacktoberfest","regex","ruby","sequence","unicode","unicode-data"],"latest_commit_sha":null,"homepage":"https://character.construction","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/janlelis.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"MIT-LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-08T11:54:20.000Z","updated_at":"2024-06-18T15:18:30.856Z","dependencies_parsed_at":"2024-06-18T15:18:26.402Z","dependency_job_id":"1c357a68-7c08-4cc5-b84f-b2d4d623cc5f","html_url":"https://github.com/janlelis/unicode-emoji","commit_stats":{"total_commits":120,"total_committers":7,"mean_commits":"17.142857142857142","dds":0.4833333333333333,"last_synced_commit":"6ee1324857c10027f864f5600504434f9baf604d"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janlelis%2Funicode-emoji","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janlelis%2Funicode-emoji/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janlelis%2Funicode-emoji/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janlelis%2Funicode-emoji/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/janlelis","download_url":"https://codeload.github.com/janlelis/unicode-emoji/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224842678,"owners_count":17379013,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["emoji","emoji-unicode","hacktoberfest","regex","ruby","sequence","unicode","unicode-data"],"created_at":"2024-08-03T06:01:25.882Z","updated_at":"2025-10-10T22:57:38.831Z","avatar_url":"https://github.com/janlelis.png","language":"Ruby","funding_links":[],"categories":["Ruby"],"sub_categories":[],"readme":"# Unicode::Emoji [![[version]](https://badge.fury.io/rb/unicode-emoji.svg)](https://badge.fury.io/rb/unicode-emoji)  [![[ci]](https://github.com/janlelis/unicode-emoji/workflows/Test/badge.svg)](https://github.com/janlelis/unicode-emoji/actions?query=workflow%3ATest)\n\nProvides various sophisticated regular expressions to work with Emoji in strings,\nincorporating the latest Unicode / Emoji standards.\n\nAdditional features:\n\n- A categorized list of Emoji (RGI: Recommended for General Interchange)\n- Retrieve Emoji properties info about specific codepoints (Emoji_Modifier, Emoji_Presentation, etc.)\n\nEmoji version: **17.0** (September 2025)\n\nCLDR version (used for sub-region flags): **47** (March 2025)\n\n## Gemfile\n\n```ruby\ngem \"unicode-emoji\"\n```\n\n## Usage – Regex Matching\n\nThe gem includes multiple Emoji regexes, which are compiled out of various Emoji Unicode data sources.\n\n```ruby\nrequire \"unicode/emoji\"\n\nstring = \"String which contains all types of Emoji sequences:\n\n- Basic Emoji: 😴\n- Textual Emoji with Emoji variation (VS16): ▶️\n- Emoji with skin tone modifier: 🛌🏽\n- Region flag: 🇵🇹\n- Sub-Region flag: 🏴󠁧󠁢󠁳󠁣󠁴󠁿\n- Keycap sequence: 2️⃣\n- Skin tone modifier: 🏻\n- Sequence using ZWJ (zero width joiner): 🤾🏽‍♀️\n\"\n\nstring.scan(Unicode::Emoji::REGEX) # =\u003e [\"😴\", \"▶️\", \"🛌🏽\", \"🇵🇹\", \"🏴󠁧󠁢󠁳󠁣󠁴󠁿\", \"2️⃣\", \"🏻\", \"🤾🏽‍♀️\"]\n```\n\nDepending on your exact usecase, you can choose between multiple levels of Emoji detection:\n\n### Main Regexes\n\nRegex                         | Description | Example Matches | Example Non-Matches\n------------------------------|-------------|-----------------|--------------------\n`Unicode::Emoji::REGEX`       | **Use this one if unsure!** Matches (non-textual) Basic Emoji and all kinds of *recommended* Emoji sequences (RGI/FQE) | `😴`, `▶️`, `🛌🏽`, `🇵🇹`, `2️⃣`, `🏴󠁧󠁢󠁳󠁣󠁴󠁿`, `🤾🏽‍♀️`, `🏻` |  `🤾🏽‍♀`, `🏌‍♂️`, `😴︎`, `▶`, `🇵🇵`, `🏴󠁧󠁢󠁡󠁧󠁢󠁿`, `🤠‍🤢`, `1`, `1⃣`\n`Unicode::Emoji::REGEX_VALID` | Matches (non-textual) Basic Emoji and all kinds of *valid* Emoji sequences | `😴`, `▶️`, `🛌🏽`, `🇵🇹`, `2️⃣`, `🏴󠁧󠁢󠁳󠁣󠁴󠁿`, `🏴󠁧󠁢󠁡󠁧󠁢󠁿`, `🤾🏽‍♀️`, `🤾🏽‍♀` ,`🏌‍♂️`, `🤠‍🤢`, `🏻` | `😴︎`, `▶`, `🇵🇵`, `1`, `1⃣`\n`Unicode::Emoji::REGEX_WELL_FORMED` | Matches (non-textual) Basic Emoji and all kinds of *well-formed* Emoji sequences | `😴`, `▶️`, `🛌🏽`, `🇵🇹`, `2️⃣`, `🏴󠁧󠁢󠁳󠁣󠁴󠁿`, `🏴󠁧󠁢󠁡󠁧󠁢󠁿`, `🤾🏽‍♀️`, `🤾🏽‍♀`,`🏌‍♂️` , `🤠‍🤢`,  `🇵🇵`, `🏻` | `😴︎`, `▶`, `1`, `1⃣`\n`Unicode::Emoji::REGEX_POSSIBLE` | Matches all singleton Emoji, all kinds of Emoji sequences, and even non-Emoji singleton components like digits. Only exception: Unqualified keycap sequences are not matched | `😴`, `▶️`, `🛌🏽`, `🇵🇹`, `2️⃣`, `🏴󠁧󠁢󠁳󠁣󠁴󠁿`, `🏴󠁧󠁢󠁡󠁧󠁢󠁿`, `🤾🏽‍♀️`, `🤾🏽‍♀`, `🏌‍♂️`, `🤠‍🤢`,  `🇵🇵`, `😴︎`, `▶`, `🏻`, `1` | `1⃣`\n\n#### Include Text Emoji\n\nBy default, textual Emoji (emoji characters with text variation selector or those that have a default text presentation) will not be included in the default regexes (except in `REGEX_POSSIBLE`). However, if you wish to match for them too, you can include them in your regex by appending the `_INCLUDE_TEXT` suffix:\n\nRegex                         | Description | Example Matches | Example Non-Matches\n------------------------------|-------------|-----------------|--------------------\n`Unicode::Emoji::REGEX_INCLUDE_TEXT`       | `REGEX` + `REGEX_TEXT` | `😴`, `▶️`, `🛌🏽`, `🇵🇹`, `2️⃣`, `🏴󠁧󠁢󠁳󠁣󠁴󠁿`, `🤾🏽‍♀️`, `😴︎`, `▶`, `1⃣` , `🏻`| `🤾🏽‍♀`, `🏌‍♂️`, `🇵🇵`, `🏴󠁧󠁢󠁡󠁧󠁢󠁿`, `🤠‍🤢`, `1`\n`Unicode::Emoji::REGEX_VALID_INCLUDE_TEXT` | `REGEX_VALID` + `REGEX_TEXT` | `😴`, `▶️`, `🛌🏽`, `🇵🇹`, `2️⃣`, `🏴󠁧󠁢󠁳󠁣󠁴󠁿`, `🏴󠁧󠁢󠁡󠁧󠁢󠁿`, `🤾🏽‍♀️`, `🤾🏽‍♀`, `🏌‍♂️`, `🤠‍🤢`, `😴︎`, `▶`, `1⃣` , `🏻` | `🇵🇵`, `1`\n`Unicode::Emoji::REGEX_WELL_FORMED_INCLUDE_TEXT` | `REGEX_WELL_FORMED` + `REGEX_TEXT` | `😴`, `▶️`, `🛌🏽`, `🇵🇹`, `2️⃣`, `🏴󠁧󠁢󠁳󠁣󠁴󠁿`, `🏴󠁧󠁢󠁡󠁧󠁢󠁿`, `🤾🏽‍♀️`, `🤾🏽‍♀`, `🏌‍♂️`, `🤠‍🤢`,  `🇵🇵`, `😴︎`, `▶`, `1⃣` , `🏻` | `1`\n\n#### Minimally-qualified and Unqualified Sequences\n\nRegex                         | Description | Example Matches | Example Non-Matches\n------------------------------|-------------|-----------------|--------------------\n`Unicode::Emoji::REGEX_INCLUDE_MQE` | Like `REGEX`, but additionally includes Emoji with missing Emoji Presentation Variation Selectors, where the first partial Emoji has all required Variation Selectors | `😴`, `▶️`, `🛌🏽`, `🇵🇹`, `2️⃣`, `🏴󠁧󠁢󠁳󠁣󠁴󠁿`, `🤾🏽‍♀️`, `🤾🏽‍♀`, `🏻` | `🏌‍♂️`, `😴︎`, `▶`, `🇵🇵`, `🏴󠁧󠁢󠁡󠁧󠁢󠁿`, `🤠‍🤢`, `1`, `1⃣`\n`Unicode::Emoji::REGEX_INCLUDE_MQE_UQE` | Like `REGEX`, but additionally includes Emoji with missing Emoji Presentation Variation Selectors | `😴`, `▶️`, `🛌🏽`, `🇵🇹`, `2️⃣`, `🏴󠁧󠁢󠁳󠁣󠁴󠁿`, `🤾🏽‍♀️`, `🤾🏽‍♀`, `🏌‍♂️`, `🏻` | `😴︎`, `▶`, `🇵🇵`, `🏴󠁧󠁢󠁡󠁧󠁢󠁿`, `🤠‍🤢`, `1`, `1⃣`\n\n[List of MQE and UQE Emoji sequences](https://character.construction/unqualified-emoji)\n\n#### Singleton Regexes\n\nMatches only simple one-codepoint (+ optional variation selector) Emoji:\n\nRegex                         | Description | Example Matches | Example Non-Matches\n------------------------------|-------------|-----------------|--------------------\n`Unicode::Emoji::REGEX_BASIC` | Matches (non-textual) Basic Emoji, but no sequences at all | `😴`, `▶️`, `🏻` | `😴︎`, `▶`, `🛌🏽`, `🇵🇹`, `🇵🇵`,`2️⃣`, `🏴󠁧󠁢󠁳󠁣󠁴󠁿`, `🏴󠁧󠁢󠁡󠁧󠁢󠁿`, `🤾🏽‍♀️`, `🤾🏽‍♀`, `🏌‍♂️`, `🤠‍🤢`, `1`\n`Unicode::Emoji::REGEX_TEXT`  | Matches only textual singleton Emoji | `😴︎`, `▶` | `😴`, `▶️`, `🏻`, `🛌🏽`, `🇵🇹`, `🇵🇵`,`2️⃣`, `🏴󠁧󠁢󠁳󠁣󠁴󠁿`, `🏴󠁧󠁢󠁡󠁧󠁢󠁿`, `🤾🏽‍♀️`, `🤾🏽‍♀`, `🏌‍♂️`, `🤠‍🤢`, `1`\n\nHere is a list of all Emoji that can be matched using the two regexes: [character.construction/emoji-vs-text](https://character.construction/emoji-vs-text). The `REGEX_BASIC` regex also matches [visual Emoji components](https://character.construction/emoji-components) (skin tone modifiers and hair components).\n\nWhile `REGEX_BASIC` is part of the above regexes, `REGEX_TEXT` is only included in the `*_INCLUDE_TEXT` or `*_UQE` variants.\n\n### Comparison \n\n1) Fully-qualified RGI Emoji ZWJ sequence\n2) Minimally-qualified RGI Emoji ZWJ sequence (lacks Emoji Presentation Selectors, but not in the first Emoji character)\n3) Unqualified RGI Emoji ZWJ sequence (lacks Emoji Presentation Selector, including in the first Emoji character). Unqualified Emoji include all basic Emoji in Text Presentation (see column 11/12).\n4) Non-RGI Emoji ZWJ sequence\n5) Valid Region made from a pair of Regional Indicators\n6) Any Region made from a pair of Regional Indicators\n7) RGI Flag Emoji Tag Sequences (England, Scotland, Wales)\n8) Valid Flag Emoji Tag Sequences (any known subdivision)\n9) Any Emoji Tag Sequences (any tag sequence with any base)\n10) Basic Default Emoji Presentation Characters or Text characters with Emoji Presentation Selector\n11) Basic Default Text Presentation Characters or Basic Emoji with Text Presentation Selector\n12) Non-Emoji (unqualified) keycap\n\nRegex | 1 RGI/FQE | 2 RGI/MQE | 3 RGI/UQE | 4 Non-RGI | 5 Valid Re­gion | 6 Any Re­gion | 7 RGI Tag | 8 Valid Tag | 9 Any Tag | 10 Basic Emoji | 11 Basic Text | 12 Text Key­cap\n-|-|-|-|-|-|-|-|-|-|-|-|-\nREGEX                          | ✅ | ❌ | ❌    | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌\nREGEX INCLUDE TEXT             | ✅ | ❌ | ❌    | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅\nREGEX INCLUDE MQE              | ✅ | ✅ | ❌    | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌\nREGEX INCLUDE MQE UQE          | ✅ | ✅ | ✅    | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅\nREGEX VALID                    | ✅ | ✅ | (✅)¹ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌\nREGEX VALID INCLUDE TEXT       | ✅ | ✅ | ✅    | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅\nREGEX WELL FORMED              | ✅ | ✅ | (✅)¹ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌\nREGEX WELL FORMED INCLUDE TEXT | ✅ | ✅ | ✅    | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅\nREGEX POSSIBLE                 | ✅ | ✅ | ✅    | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌\nREGEX BASIC                    | ❌ | ❌ | ❌    | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌\nREGEX TEXT                     | ❌ | ❌ | ❌    | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅\n\n¹ Matches all unqualified Emoji, except for textual singleton Emoji (see columns 11, 12)\n\nSee [spec files](/spec) for detailed examples about which regex matches which kind of Emoji.\n\n### Picking the Right Emoji Regex\n\n- Usually you just want `REGEX` (recommended Emoji set, RGI)\n- Use `REGEX_INCLUDE_MQE` or `REGEX_INCLUDE_MQE_UQE` if you want to catch Emoji sequences with missing Variation Selectors.\n- If you want broader matching (any ZWJ sequences, more sub-region flags), choose `REGEX_VALID`\n- If you need to match any region flag and any tag sequence, choose `REGEX_WELL_FORMED`\n- Use the `_INCLUDE_TEXT` suffix with any of the above base regexes, if you want to also match basic textual Emoji\n- And finally, there is also the option to use `REGEX_POSSIBLE`, which is a simplified test for possible Emoji, comparable to `REGEX_WELL_FORMED*`. It might contain false positives, however, the regex is less complex and [suggested in the Unicode standard itself](https://www.unicode.org/reports/tr51/#EBNF_and_Regex) as a first check.\n\n### Examples\n\nDesc | Emoji | Escaped | `REGEX` (RGI/FQE) | `REGEX_INCLUDE_MQE` (RGI/MQE) | `REGEX_VALID` | `REGEX_WELL_FORMED` / `REGEX_POSSIBLE`\n-----|-------|---------|---------------|-----------------------|-----------------------------------|-----------------\nRGI ZWJ Sequence   | 🤾🏽‍♀️ | `\\u{1F93E 1F3FD 200D 2640 FE0F}` | ✅ | ✅ | ✅ | ✅\nRGI ZWJ Sequence MQE | 🤾🏽‍♀ | `\\u{1F93E 1F3FD 200D 2640}` | ❌ | ✅ | ✅ | ✅\nValid ZWJ Sequence, Non-RGI | 🤠‍🤢 | `\\u{1F920 200D 1F922}` | ❌ | ❌  | ✅ | ✅\nKnown Region       | 🇵🇹 | `\\u{1F1F5 1F1F9}` | ✅ | ✅ | ✅ | ✅\nUnknown Region     | 🇵🇵 | `\\u{1F1F5 1F1F5}` | ❌ | ❌  | ❌  | ✅\nRGI Tag Sequence   | 🏴󠁧󠁢󠁳󠁣󠁴󠁿 | `\\u{1F3F4 E0067 E0062 E0073 E0063 E0074 E007F}` | ✅ | ✅ | ✅ | ✅\nValid Tag Sequence | 🏴󠁧󠁢󠁡󠁧󠁢󠁿 | `\\u{1F3F4 E0067 E0062 E0061 E0067 E0062 E007F}` | ❌ | ❌  | ✅ | ✅\nWell-formed Tag Sequence | 😴󠁧󠁢󠁡󠁡󠁡󠁿 | `\\u{1F634 E0067 E0062 E0061 E0061 E0061 E007F}` | ❌ | ❌  | ❌  | ✅\n\nPlease see [the standard](https://www.unicode.org/reports/tr51/#Emoji_Sets) for more details, examples, explanations.\n\nMore info about valid vs. recommended Emoji can also be found in this [blog article on Emojipedia](https://blog.emojipedia.org/unicode-behind-the-curtain/).\n\n### Emoji Property Regexes\n\nRuby includes native regex Emoji properties, as listed in the following table. You can also opt-in to use the `*_PROP_*` regexes to get the Emoji support level of this gem (instead of Ruby's). [Which Emoji version does Ruby support?](https://idiosyncratic-ruby.com/73-unicode-version-mapping.html#ruby--emoji)\n\nGem Regex (`Unicode::Emoji`'s Emoji support level) | Native Regex (Ruby's Emoji support level)\n---------------------------------------------------|------------------------------------------\n`Unicode::Emoji::REGEX_PROP_EMOJI`         | `/\\p{Emoji}/`\n`Unicode::Emoji::REGEX_PROP_MODIFIER`      | `/\\p{EMod}/`\n`Unicode::Emoji::REGEX_PROP_MODIFIER_BASE` | `/\\p{EBase}/`\n`Unicode::Emoji::REGEX_PROP_COMPONENT`     | `/\\p{EComp}/`\n`Unicode::Emoji::REGEX_PROP_PRESENTATION`  | `/\\p{EPres}/`\n`Unicode::Emoji::REGEX_TEXT_PRESENTATION`  | `/[\\p{Emoji}\u0026\u0026\\P{EPres}]/`\n\n#### Extended Pictographic Regex\n\n`Unicode::Emoji::REGEX_PICTO` matches single codepoints with the **Extended_Pictographic** property. For example, it will match `✀` BLACK SAFETY SCISSORS.\n\n`Unicode::Emoji::REGEX_PICTO_NO_EMOJI` matches single codepoints with the **Extended_Pictographic** property, but excludes Emoji characters.\n\nSee [character.construction/picto](https://character.construction/picto) for a list of all non-Emoji pictographic characters.\n\n## Usage – List\n\nUse `Unicode::Emoji::LIST` or the **list** method to get a ordered and categorized list of Emoji:\n\n```ruby\nUnicode::Emoji.list.keys\n# =\u003e [\"Smileys \u0026 Emotion\", \"People \u0026 Body\", \"Component\", \"Animals \u0026 Nature\", \"Food \u0026 Drink\", \"Travel \u0026 Places\", \"Activities\", \"Objects\", \"Symbols\", \"Flags\"]\n\nUnicode::Emoji.list(\"Food \u0026 Drink\").keys\n# =\u003e [\"food-fruit\", \"food-vegetable\", \"food-prepared\", \"food-asian\", \"food-marine\", \"food-sweet\", \"drink\", \"dishware\"]\n\nUnicode::Emoji.list(\"Food \u0026 Drink\", \"food-asian\")\n=\u003e [\"🍱\", \"🍘\", \"🍙\", \"🍚\", \"🍛\", \"🍜\", \"🍝\", \"🍠\", \"🍢\", \"🍣\", \"🍤\", \"🍥\", \"🥮\", \"🍡\", \"🥟\", \"🥠\", \"🥡\"]\n```\n\nPlease note that categories might change with future versions of the Emoji standard, although this has not happened often.\n\nA list of all Emoji (generated from this gem) can be found at [character.construction/emoji](https://character.construction/emoji).\n\n## Usage – Properties Data\n\nAllows you to access the codepoint data for a single character form Unicode's [emoji-data.txt](https://www.unicode.org/Public/16.0.0/ucd/emoji/emoji-data.txt) file:\n\n```ruby\nrequire \"unicode/emoji\"\n\nUnicode::Emoji.properties \"☝\" # =\u003e [\"Emoji\", \"Emoji_Modifier_Base\"]\n```\n\n## Also See\n\n- [Unicode® Technical Standard #51](https://www.unicode.org/reports/tr51/)\n- [Emoji categories](https://unicode.org/emoji/charts/emoji-ordering.html)\n- Ruby gem which displays [Emoji sequence names](https://github.com/janlelis/unicode-sequence_name) ([as website](https://character.construction/name))\n- Part of [unicode-x](https://github.com/janlelis/unicode-x)\n\n## MIT\n\n- Copyright (C) 2017-2025 Jan Lelis \u003chttps://janlelis.com\u003e. Released under the MIT license.\n- Unicode data: https://www.unicode.org/copyright.html#Exhibit1\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanlelis%2Funicode-emoji","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjanlelis%2Funicode-emoji","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanlelis%2Funicode-emoji/lists"}