Skip custom emojis which don't match emoji regexp

Otherwise, emojis containing forbidden symbols (for example, `-`)
appear in "emoji selector" on admin/new page, but are not replaced
with emoji image on submit.

Also add a note to documentation mentioning allowed characters.
main
Alexey Shpakovsky 2022-11-22 19:15:27 +01:00 committed by Thomas Sileo
parent 2cc4eda143
commit d9b9f596d3
2 changed files with 3 additions and 0 deletions

View File

@ -23,6 +23,8 @@ def _load_emojis(root_dir: Path, base_url: str) -> None:
mt = mimetypes.guess_type(emoji.name)[0] mt = mimetypes.guess_type(emoji.name)[0]
if mt and mt.startswith("image/"): if mt and mt.startswith("image/"):
name = emoji.name.split(".")[0] name = emoji.name.split(".")[0]
if not re.match(EMOJI_REGEX, f':{name}:'):
continue
ap_emoji: "RawObject" = { ap_emoji: "RawObject" = {
"type": "Emoji", "type": "Emoji",
"name": f":{name}:", "name": f":{name}:",

View File

@ -113,6 +113,7 @@ You can copy/paste them from [getemoji.com](https://getemoji.com/).
#### Custom emoji #### Custom emoji
You can add custom emoji in the `data/custom_emoji` directory and they will be picked automatically. You can add custom emoji in the `data/custom_emoji` directory and they will be picked automatically.
Do not use exotic characters in filename - only letters, numbers, and underscore symbol `_` are allowed.
#### Custom CSS #### Custom CSS