aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/render.js13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/render.js b/lib/render.js
index a39ba73..57cc3b5 100644
--- a/lib/render.js
+++ b/lib/render.js
@@ -15,6 +15,18 @@ var Highlight = require('highlight.js')
var md = require('ssb-markdown')
var Diff = require('diff')
+var maxWordLength = 80
+var truncateWordsRe = new RegExp('[^\\s<>&"]{' + (maxWordLength+1) + ',}')
+function truncateWord(word) {
+ var len = maxWordLength - 5 // "…[##]"
+ var truncatedLength = word.length - len
+ return word.substr(0, len) + '…<sub>[' + truncatedLength + ']</sub>'
+}
+function truncateWords(text) {
+ // truncate long words to avoid horizontal scrollbar
+ return text.replace(truncateWordsRe, truncateWord)
+}
+
module.exports = Render
function MdRenderer(render) {
@@ -62,6 +74,7 @@ MdRenderer.prototype.link = function (ref, title, text) {
href: href !== false ? hrefToken : undefined,
title: title || undefined
})
+ text = truncateWords(text)
// text is already html-escaped
a.innerHTML = text
var html = a.outerHTML