git ssb

0+

Daan Patchwork / ssb-viewer



forked from cel / ssb-viewer

Commit 9d1adf94d2c4611eca74cab2ef5baf9a8fbe28dd

Merge branch 'master' of ssb://%MeCTQrz9uszf9EZoTnKCeFeIedhnKWuB3JHW2l1g9NA=.sha256 into render_rss

Angelo DiNardi committed on 6/9/2017, 7:52:41 PM
Parent: cf66c7398b3ea4b26de20ddc0cb1e983384b150a
Parent: eb408e8545d033be2ffe5456e27eb7972717e2d4

Files changed

index.jschanged
render.jschanged
index.jsView
@@ -183,15 +183,15 @@
183183 }
184184
185185 function serveFeeds(req, res, following, channelSubscriptions, feedId, name) {
186186 pull(
187- sbot.createLogStream({ reverse: true, limit: 2500 }),
187+ sbot.createLogStream({ reverse: true, limit: 5000 }),
188188 pull.filter((msg) => {
189189 return !msg.value ||
190190 (msg.value.author in following ||
191191 msg.value.content.channel in channelSubscriptions)
192192 }),
193- pull.take(100),
193+ pull.take(150),
194194 pull.collect(function (err, logs) {
195195 if (err) return respond(res, 500, err.stack || err)
196196 res.writeHead(200, {
197197 'Content-Type': ctype("html")
@@ -272,9 +272,9 @@
272272 var format = formatMsgs(id, ext, opts)
273273 if (format === null) return respond(res, 415, 'Invalid format')
274274
275275 pull(
276- sbot.links({dest: id, values: true, rel: 'root'}),
276+ sbot.links({dest: id, values: true }),
277277 includeRoot && prepend(getMsg, id),
278278 pull.unique('key'),
279279 pull.collect(function (err, links) {
280280 if (err) return respond(res, 500, err.stack || err)
render.jsView
@@ -31,8 +31,9 @@
3131 return this.opts.base + "channel/" + href.slice(1);
3232 case "%":
3333 return this.opts.msg_base + encodeURIComponent(href);
3434 case "@":
35+ href = this.opts.mentions[href.substr(1)] || href;
3536 return this.opts.feed_base + encodeURIComponent(href);
3637 case "&":
3738 return this.opts.blob_base + encodeURIComponent(href);
3839 }
@@ -55,13 +56,16 @@
5556 };
5657
5758 function renderEmoji(emoji) {
5859 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
6065 ? '<img src="' +
61- opts.emoji_base +
62- escape(emoji) +
63- '.png"' +
66+ url +
67+ '"' +
6468 ' alt=":' +
6569 escape(emoji) +
6670 ':"' +
6771 ' title=":' +
@@ -353,9 +357,9 @@
353357 ' href="' + opts.base +
354358 escape(msg.value.author) +
355359 '"' +
356360 ">" + msg.author.name + "</a>" +
357- msgTimestamp(msg, name) +
361+ msgTimestamp(msg, opts.base + name) +
358362 '</figcaption>' +
359363 '</figure>' +
360364 '</header>' +
361365 render(opts, c) +
@@ -445,15 +449,15 @@
445449 '</item>'
446450 );
447451 }
448452
449-function msgTimestamp(msg, name) {
453+function msgTimestamp(msg, link) {
450454 var date = new Date(msg.value.timestamp);
451455 var isoStr = date.toISOString();
452456 return (
453457 '<time class="ssb-timestamp" datetime="' + isoStr + '">' +
454458 '<a ' +
455- 'href="#' + name + '" ' +
459+ 'href="' + link + '" ' +
456460 'title="' + isoStr + '" ' +
457461 '>' + formatDate(date) + '</a>' +
458462 '</time>'
459463 );
@@ -560,8 +564,12 @@
560564 else return renderDefault(c);
561565 }
562566
563567 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+ });
564572 return '<section>' + marked(String(c.text), opts.marked) + "</section>";
565573 }
566574
567575 function renderDefault(c) {

Built with git-ssb-web