git ssb

0+

alanz / patchwork



forked from Matt McKegg / patchwork

Commit e7dc89b429e48057d0f7dbb658a2c9072fafd580

improve display and strip out markdown from message link display (replies, etc)

Matt McKegg committed on 11/1/2016, 10:54:57 AM
Parent: 8bd323651fb1b0b76a2af4d86690309d221f6ab1

Files changed

modules/message-name.jsadded
modules/message-name.jsView
@@ -1,0 +1,29 @@
1+
2+var sbot_get = require('patchbay/plugs').first(exports.sbot_get = [])
3+
4+exports.message_name = function (id, cb) {
5+ sbot_get(id, function (err, value) {
6+ if (err && err.name === 'NotFoundError') {
7+ return cb(null, id.substring(0, 10) + '...(missing)')
8+ } else if (value.content.type === 'post' && typeof value.content.text === 'string') {
9+ if (value.content.text.trim()) {
10+ return cb(null, titleFromMarkdown(value.content.text, 40))
11+ }
12+ } else if (typeof value.content.text === 'string') {
13+ return cb(null, value.content.type + ': ' + titleFromMarkdown(value.content.text, 30))
14+ }
15+
16+ return cb(null, id.substring(0, 10) + '...')
17+ })
18+}
19+
20+function titleFromMarkdown (text, max) {
21+ text = text.trim().split('\n', 2).join('\n')
22+ text = text.replace(/\#|\[.*?\]|\(\S*?\)/g, '').trim()
23+ text = text.replace(/\:$/, '')
24+ text = text.trim().split('\n', 1)[0].trim()
25+ if (text.length > max) {
26+ text = text.substring(0, max - 2) + '...'
27+ }
28+ return text
29+}

Built with git-ssb-web