ryohey / EmojiText

πŸ˜ƒ Render Custom Emoji in Text

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EmojiText

Render Custom Emoji in Text. Supports local and remote emojis. Remote emojis are loaded and cached using Nuke

Usage

Remote emoji

EmojiText(verbatim: "Hello :my_emoji:",
          emojis: [RemoteEmoji(shortcode: "my_emoji", url: /* URL to emoji */)])

Local emoji

EmojiText(verbatim: "Hello :my_emoji:",
          emojis: [LocalEmoji(shortcode: "my_emoji", image: /* some UIImage or NSImage */)])

SF Symbol

EmojiText(verbatim: "Hello Moon & Starts :moon.stars:",
          emojis: [SFSymbolEmoji(shortcode: "moon.stars")])

Markdown

Also supports Markdown

EmojiText(markdown: "**Hello** *World* :my_emoji:",
          emojis: [RemoteEmoji(shortcode: "my_emoji", url: /* URL to emoji */)])

Configuration

Remote emojis are replaced by a placeholder image when loading. Default is the SF Symbol square.dashed but you can overide the placeholder image with

.placeholderEmoji(systemName: /* SF Symbol */)

or

.placeholderEmoji(image: /* some UIImage or NSImage */)

Remote emojis use ImagePipeline.shared from Nuke to load them, but you can provide a custom pipeline with

.environment(\.emojiImagePipeline, ImagePipeline())

License

See LICENSE

About

πŸ˜ƒ Render Custom Emoji in Text

License:Apache License 2.0


Languages

Language:Swift 100.0%