render.jsView |
---|
11 | 11 … | exports.MdRenderer = MdRenderer; |
12 | 12 … | exports.renderEmoji = renderEmoji; |
13 | 13 … | exports.formatMsgs = formatMsgs; |
14 | 14 … | exports.renderThread = renderThread; |
| 15 … | +exports.renderAbout = renderAbout; |
15 | 16 … | |
16 | 17 … | function MdRenderer(opts) { |
17 | 18 … | marked.Renderer.call(this, {}); |
18 | 19 … | this.opts = opts; |
93 | 94 … | return cat([pull.once(before), read, pull.once(after)]); |
94 | 95 … | }; |
95 | 96 … | } |
96 | 97 … | |
| 98 … | +function renderAbout(opts, about) { |
| 99 … | + return pull( |
| 100 … | + pull.map(renderMsg.bind(this, opts)), |
| 101 … | + wrap( |
| 102 … | + '<span class="top-tip">You are reading content from ' + |
| 103 … | + '<a href="https://www.scuttlebutt.nz">Scuttlebutt</a>' + |
| 104 … | + '</span>' + |
| 105 … | + '<main>' + |
| 106 … | + '<article><header><figure>' + |
| 107 … | + '<img src="' + opts.img_base + escape(about.image) + '" ' + |
| 108 … | + 'height="200" width="200"><figcaption>' + |
| 109 … | + 'Feed of ' + about.name + '<br/>' + |
| 110 … | + (about.description != undefined ? |
| 111 … | + marked(about.description, opts.marked) : '') + |
| 112 … | + '</figcaption></figure></header></article>', |
| 113 … | + |
| 114 … | + '</main>' + |
| 115 … | + '<a class="call-to-action" href="https://www.scuttlebutt.nz">' + |
| 116 … | + 'Join Scuttlebutt now' + |
| 117 … | + '</a>' |
| 118 … | + ) |
| 119 … | + ); |
| 120 … | +} |
| 121 … | + |
97 | 122 … | function renderThread(opts) { |
98 | 123 … | return pull( |
99 | 124 … | pull.map(renderMsg.bind(this, opts)), |
100 | 125 … | wrap( |