mirror of
https://github.com/jgm/pandoc.git
synced 2026-10-29 17:52:33 +08:00
Wrap emojis in span nodes (#4759)
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.
This commit is contained in:
committed by
John MacFarlane
parent
ef07db6cef
commit
ec30fb37c1
@@ -0,0 +1,25 @@
|
||||
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>
|
||||
```
|
||||
+1
-1
@@ -38,7 +38,7 @@ gfm tests:
|
||||
% pandoc -f gfm -t native
|
||||
My:thumbsup:emoji:heart:
|
||||
^D
|
||||
[Para [Str "My\128077emoji\10084\65039"]]
|
||||
[Para [Str "My",Span ("",["emoji"],[("data-emoji","thumbsup")]) [Str "\128077"],Str "emoji",Span ("",["emoji"],[("data-emoji","heart")]) [Str "\10084\65039"]]]
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user