aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcel <cel@f/6sQ6d2CMxRUhLpspgGIulDxDCwYD7DzFzPNr7u5AU=.ed25519>2017-12-30 13:56:04 -1000
committercel <cel@f/6sQ6d2CMxRUhLpspgGIulDxDCwYD7DzFzPNr7u5AU=.ed25519>2017-12-30 16:55:40 -1000
commitc3d96d538721cc63ce7226a5ccf0bf754ec5054e (patch)
tree7dc95d3c93b9a95f6d2bc557e0ceb5f7d158ddee
parentbcb25299e3ad4af71de348fa62dc6027b80cdc12 (diff)
downloadpatchfoo-c3d96d538721cc63ce7226a5ccf0bf754ec5054e.tar.gz
patchfoo-c3d96d538721cc63ce7226a5ccf0bf754ec5054e.zip
Render links to ssb-blob:// zip files
-rw-r--r--lib/render-msg.js1
-rw-r--r--lib/render.js3
2 files changed, 4 insertions, 0 deletions
diff --git a/lib/render-msg.js b/lib/render-msg.js
index 3b498e0..92f8531 100644
--- a/lib/render-msg.js
+++ b/lib/render-msg.js
@@ -800,6 +800,7 @@ RenderMsg.prototype.valueTable = function (val, depth, cb) {
case 'string':
if (val[0] === '#') return cb(null, h('a', {href: self.toUrl('/channel/' + val.substr(1))}, val))
if (u.isRef(val)) return self.link1(val, cb)
+ if (/^ssb-blob:\/\//.test(val)) return cb(), h('a', {href: self.toUrl(val)}, val)
return cb(), self.linkify(val)
case 'boolean':
return cb(), h('input', {
diff --git a/lib/render.js b/lib/render.js
index 95c8c50..df4f112 100644
--- a/lib/render.js
+++ b/lib/render.js
@@ -186,6 +186,9 @@ Render.prototype.toUrl = function (href) {
var mentions = this._mentions
if (mentions && href in this._mentions) href = this._mentions[href]
if (/^ssb:\/\//.test(href)) href = href.substr(6)
+ if (/^ssb-blob:\/\//.test(href)) {
+ return this.opts.base + 'zip/' + href.substr(11)
+ }
switch (href[0]) {
case '%':
if (!u.isRef(href)) return false