diff options
Diffstat (limited to 'lib/render.js')
-rw-r--r-- | lib/render.js | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/render.js b/lib/render.js index 7e8ffc9..09030db 100644 --- a/lib/render.js +++ b/lib/render.js @@ -403,11 +403,18 @@ Render.prototype.getName = function (id, cb) { } } -Render.prototype.getNameLink = function (id, cb) { +function truncate(str, len) { + str = String(str) + return str.length > len ? str.substr(0, len) + '...' : str +} + +Render.prototype.getNameLink = function (id, opts, cb) { + if (!cb && typeof opts === 'function') cb = opts, opts = null + var length = opts && opts.length || Infinity var self = this self.getName(id, function (err, name) { if (err) return cb(err) - cb(null, h('a', {href: self.toUrl(id)}, name)) + cb(null, h('a', {href: self.toUrl(id)}, truncate(name, length))) }) } |