Commit 9d1adf94d2c4611eca74cab2ef5baf9a8fbe28dd
Merge branch 'master' of ssb://%MeCTQrz9uszf9EZoTnKCeFeIedhnKWuB3JHW2l1g9NA=.sha256 into render_rss
Angelo DiNardi committed on 6/9/2017, 7:52:41 PMParent: cf66c7398b3ea4b26de20ddc0cb1e983384b150a
Parent: eb408e8545d033be2ffe5456e27eb7972717e2d4
Files changed
index.js | changed |
render.js | changed |
index.js | ||
---|---|---|
@@ -183,15 +183,15 @@ | ||
183 | 183 | } |
184 | 184 | |
185 | 185 | function serveFeeds(req, res, following, channelSubscriptions, feedId, name) { |
186 | 186 | pull( |
187 | - sbot.createLogStream({ reverse: true, limit: 2500 }), | |
187 | + sbot.createLogStream({ reverse: true, limit: 5000 }), | |
188 | 188 | pull.filter((msg) => { |
189 | 189 | return !msg.value || |
190 | 190 | (msg.value.author in following || |
191 | 191 | msg.value.content.channel in channelSubscriptions) |
192 | 192 | }), |
193 | - pull.take(100), | |
193 | + pull.take(150), | |
194 | 194 | pull.collect(function (err, logs) { |
195 | 195 | if (err) return respond(res, 500, err.stack || err) |
196 | 196 | res.writeHead(200, { |
197 | 197 | 'Content-Type': ctype("html") |
@@ -272,9 +272,9 @@ | ||
272 | 272 | var format = formatMsgs(id, ext, opts) |
273 | 273 | if (format === null) return respond(res, 415, 'Invalid format') |
274 | 274 | |
275 | 275 | pull( |
276 | - sbot.links({dest: id, values: true, rel: 'root'}), | |
276 | + sbot.links({dest: id, values: true }), | |
277 | 277 | includeRoot && prepend(getMsg, id), |
278 | 278 | pull.unique('key'), |
279 | 279 | pull.collect(function (err, links) { |
280 | 280 | if (err) return respond(res, 500, err.stack || err) |
render.js | ||
---|---|---|
@@ -31,8 +31,9 @@ | ||
31 | 31 | return this.opts.base + "channel/" + href.slice(1); |
32 | 32 | case "%": |
33 | 33 | return this.opts.msg_base + encodeURIComponent(href); |
34 | 34 | case "@": |
35 | + href = this.opts.mentions[href.substr(1)] || href; | |
35 | 36 | return this.opts.feed_base + encodeURIComponent(href); |
36 | 37 | case "&": |
37 | 38 | return this.opts.blob_base + encodeURIComponent(href); |
38 | 39 | } |
@@ -55,13 +56,16 @@ | ||
55 | 56 | }; |
56 | 57 | |
57 | 58 | function renderEmoji(emoji) { |
58 | 59 | var opts = this.renderer.opts; |
59 | - return emoji in emojis | |
60 | + var mentions = opts.mentions; | |
61 | + var url = mentions[emoji] | |
62 | + ? opts.blob_base + encodeURIComponent(mentions[emoji]) | |
63 | + : emoji in emojis && opts.emoji_base + escape(emoji) + '.png'; | |
64 | + return url | |
60 | 65 | ? '<img src="' + |
61 | - opts.emoji_base + | |
62 | - escape(emoji) + | |
63 | - '.png"' + | |
66 | + url + | |
67 | + '"' + | |
64 | 68 | ' alt=":' + |
65 | 69 | escape(emoji) + |
66 | 70 | ':"' + |
67 | 71 | ' title=":' + |
@@ -353,9 +357,9 @@ | ||
353 | 357 | ' href="' + opts.base + |
354 | 358 | escape(msg.value.author) + |
355 | 359 | '"' + |
356 | 360 | ">" + msg.author.name + "</a>" + |
357 | - msgTimestamp(msg, name) + | |
361 | + msgTimestamp(msg, opts.base + name) + | |
358 | 362 | '</figcaption>' + |
359 | 363 | '</figure>' + |
360 | 364 | '</header>' + |
361 | 365 | render(opts, c) + |
@@ -445,15 +449,15 @@ | ||
445 | 449 | '</item>' |
446 | 450 | ); |
447 | 451 | } |
448 | 452 | |
449 | -function msgTimestamp(msg, name) { | |
453 | +function msgTimestamp(msg, link) { | |
450 | 454 | var date = new Date(msg.value.timestamp); |
451 | 455 | var isoStr = date.toISOString(); |
452 | 456 | return ( |
453 | 457 | '<time class="ssb-timestamp" datetime="' + isoStr + '">' + |
454 | 458 | '<a ' + |
455 | - 'href="#' + name + '" ' + | |
459 | + 'href="' + link + '" ' + | |
456 | 460 | 'title="' + isoStr + '" ' + |
457 | 461 | '>' + formatDate(date) + '</a>' + |
458 | 462 | '</time>' |
459 | 463 | ); |
@@ -560,8 +564,12 @@ | ||
560 | 564 | else return renderDefault(c); |
561 | 565 | } |
562 | 566 | |
563 | 567 | function renderPost(opts, c) { |
568 | + opts.mentions = {}; | |
569 | + if (Array.isArray(c.mentions)) c.mentions.forEach(function (link) { | |
570 | + if (link && link.name && link.link) opts.mentions[link.name] = link.link; | |
571 | + }); | |
564 | 572 | return '<section>' + marked(String(c.text), opts.marked) + "</section>"; |
565 | 573 | } |
566 | 574 | |
567 | 575 | function renderDefault(c) { |
Built with git-ssb-web