====== Custom Emojis (very rough draft) ====== The **Custom Emojis** extension allows users to create and publish "emoji packs," which are sets of small images that can then be included inline in notes (- and other locations??? bio, display name?). Emoji packs and the emojis contained within are identified by a globally unique ID (what kind? uuid?? does it even need this???) along with the usual object URI, allowing them to be cloned to multiple instances if desired without duplication (though this is not necessary, and a user from any instance can use emojis from any other instance). ===== Schema for emoji packs ===== These are [[:objects:extension|extension objects]]. * type: "extension" * self: uri required * extension: "https://pawpub.entities.org.uk/extension/custom-emojis" * packId: string required((**Must not** be changed when cloning the pack)) * name: string required * description: string required * creator: uri(actor) required((Even if the pack has been cloned this should still refer to the original creator)) * created: timestamp required * modified: timestamp optional * originalUri: uri(extension) optional((Used to specify where the pack originally came from, if it was cloned)) * icon: string optional((Refers to the shortcode of one of the emojis in the pack, to be used as an icon or thumbnail for the pack itself. If unset, an arbitrary emoji from the pack should be chosen.)) * emojis: array(object) required * shortcode: string required((Should be human readable but quicker to type than the description)) * description: string optional((Used as a text alternative when the image cannot be displayed)) * href: uri required [URI to the image] * keywords: array(string) optional default=[]((Alternative names that may be typed in to search for this emoji, for example if the shortcode was "fox_sad" the keywords might include "unhappy", "cry", etc.)) ===== Schema for inline emojis in notes ===== TODO