ec30fb37c1
Text.Pandoc.Emoji now exports `emojiToInline`, which returns a Span inline containing the emoji character and some attributes with metadata (class `emoji`, attribute `data-emoji` with emoji name). Previously, emojis (as supported in Markdown and CommonMark readers, e.g "😄") were simply translated into the corresponding unicode code point. By wrapping them in Span nodes, we make it possible to do special handling such as giving them a special font in HTML output. We also open up the possibility of treating them differently when the `--ascii` option is selected (though that is not part of this commit). Closes #4743.
25 lines
871 B
Markdown
25 lines
871 B
Markdown
Test that emojis are wrapped in Span
|
||
|
||
```
|
||
% pandoc -f commonmark+emoji -t native
|
||
My:thumbsup:emoji:heart:
|
||
^D
|
||
[Para [Str "My",Span ("",["emoji"],[("data-emoji","thumbsup")]) [Str "\128077"],Str "emoji",Span ("",["emoji"],[("data-emoji","heart")]) [Str "\10084\65039"]]]
|
||
```
|
||
|
||
```
|
||
% pandoc -f markdown+emoji -t native
|
||
My:thumbsup:emoji:heart:
|
||
^D
|
||
[Para [Str "My",Span ("",["emoji"],[("data-emoji","thumbsup")]) [Str "\128077"],Str "emoji",Span ("",["emoji"],[("data-emoji","heart")]) [Str "\10084\65039"]]]
|
||
```
|
||
|
||
```
|
||
% pandoc -f commonmark+emoji -t html
|
||
:zero: header
|
||
=============
|
||
My:thumbsup:emoji:heart:x :hearts: xyz
|
||
^D
|
||
<h1><span class="emoji" data-emoji="zero">0️⃣</span> header</h1>
|
||
<p>My<span class="emoji" data-emoji="thumbsup">👍</span>emoji<span class="emoji" data-emoji="heart">❤️</span>x <span class="emoji" data-emoji="hearts">♥️</span> xyz</p>
|
||
```
|