Commit eb408e8545d033be2ffe5456e27eb7972717e2d4
Render name-mapped mentions
cel committed on 6/2/2017, 8:52:17 AMParent: a6f218a9377c5f74cbf2e54ab1d6c114a2a36434
Files changed
render.js | changed |
render.js | ||
---|---|---|
@@ -28,8 +28,9 @@ | ||
28 | 28 … | return this.opts.base + "channel/" + href.slice(1); |
29 | 29 … | case "%": |
30 | 30 … | return this.opts.msg_base + encodeURIComponent(href); |
31 | 31 … | case "@": |
32 … | + href = this.opts.mentions[href.substr(1)] || href; | |
32 | 33 … | return this.opts.feed_base + encodeURIComponent(href); |
33 | 34 … | case "&": |
34 | 35 … | return this.opts.blob_base + encodeURIComponent(href); |
35 | 36 … | } |
@@ -52,13 +53,16 @@ | ||
52 | 53 … | }; |
53 | 54 … | |
54 | 55 … | function renderEmoji(emoji) { |
55 | 56 … | var opts = this.renderer.opts; |
56 | - return emoji in emojis | |
57 … | + var mentions = opts.mentions; | |
58 … | + var url = mentions[emoji] | |
59 … | + ? opts.blob_base + encodeURIComponent(mentions[emoji]) | |
60 … | + : emoji in emojis && opts.emoji_base + escape(emoji) + '.png'; | |
61 … | + return url | |
57 | 62 … | ? '<img src="' + |
58 | - opts.emoji_base + | |
59 | - escape(emoji) + | |
60 | - '.png"' + | |
63 … | + url + | |
64 … | + '"' + | |
61 | 65 … | ' alt=":' + |
62 | 66 … | escape(emoji) + |
63 | 67 … | ':"' + |
64 | 68 … | ' title=":' + |
@@ -454,8 +458,12 @@ | ||
454 | 458 … | else return renderDefault(c); |
455 | 459 … | } |
456 | 460 … | |
457 | 461 … | function renderPost(opts, c) { |
462 … | + opts.mentions = {}; | |
463 … | + if (Array.isArray(c.mentions)) c.mentions.forEach(function (link) { | |
464 … | + if (link && link.name && link.link) opts.mentions[link.name] = link.link; | |
465 … | + }); | |
458 | 466 … | return '<section>' + marked(String(c.text), opts.marked) + "</section>"; |
459 | 467 … | } |
460 | 468 … | |
461 | 469 … | function renderDefault(c) { |
Built with git-ssb-web