1{-# LANGUAGE OverloadedStrings #-}
2{- |
3   Module      : Text.Pandoc.Emoji
4   Copyright   : Copyright (C) 2015 John MacFarlane
5   License     : GNU GPL, version 2 or above
6
7   Maintainer  : John MacFarlane <jgm@berkeley.edu>
8   Stability   : alpha
9   Portability : portable
10
11Emoji symbol lookup from canonical string identifier.
12-}
13module Text.Pandoc.Emoji ( emojis, emojiToInline ) where
14import qualified Text.Emoji as E
15import Text.Pandoc.Definition (Inline (Span, Str))
16import Data.Text (Text)
17import qualified Data.Map as M
18
19emojis :: M.Map Text Text
20emojis = M.fromList E.emojis
21
22emojiToInline :: Text -> Maybe Inline
23emojiToInline emojikey = makeSpan <$> E.emojiFromAlias emojikey
24  where makeSpan = Span ("", ["emoji"], [("data-emoji", emojikey)]) . (:[]) . Str
25