Files: f9490b57823c88d2d4e1cdc8495b8ab60d63862f / book / html / simple-emoji.js
712 bytesRaw
1 | var nest = require('depnest') |
2 | var htmlEscape = require('html-escape') |
3 | |
4 | exports.needs = nest({ |
5 | 'emoji.sync.url': 'first' |
6 | }) |
7 | |
8 | exports.gives = nest('book.html.simpleEmoji') |
9 | |
10 | exports.create = function (api) { |
11 | return nest('book.html.simpleEmoji', simpleMarkdown) |
12 | |
13 | function renderEmoji (emoji, url) { |
14 | if (!url) return ':' + emoji + ':' |
15 | return ` |
16 | <img |
17 | src="${htmlEscape(url)}" |
18 | alt=":${htmlEscape(emoji)}:" |
19 | title=":${htmlEscape(emoji)}:" |
20 | class="emoji" |
21 | > |
22 | ` |
23 | } |
24 | |
25 | function simpleMarkdown(text) { |
26 | if (text.startsWith(':')) |
27 | return renderEmoji(text, api.emoji.sync.url(text.match(/:([^:]*)/)[1])) |
28 | else |
29 | return '<span>' + text + '</span>' |
30 | } |
31 | } |
32 |
Built with git-ssb-web