Files: d36ab22a6c54370a48ffd9901a0f11a1512c2461 / index.js
1865 bytesRaw
1 | var http = require('http'); |
2 | var client = require('ssb-client'); |
3 | var pull = require('pull-stream'); |
4 | var moment = require('moment'); |
5 | var h = require('hyperscript'); |
6 | var {html, head, body, p, title } = require('hyperscript-helpers')(h); |
7 | |
8 | var message; |
9 | var port = 1337; |
10 | var me = '@8Qee0I/DwI5DHSCi3p5fsl6FyLGArrnDz3ox9qZr5Qc=.ed25519' |
11 | |
12 | client(function (err, sbot) { |
13 | if (err) { |
14 | throw err; |
15 | } |
16 | pull(sbot.createUserStream({ |
17 | id: me, |
18 | limit: 1, |
19 | reverse: true |
20 | }), |
21 | pull.drain(function printMessage(msg) { |
22 | if (msg.value.content.type === 'post') { |
23 | message = (msg.value.content.text + ' - <span class="date">' + moment(msg.value.timestamp).fromNow() + '</span>') |
24 | } |
25 | else if (msg.value.content.type === 'vote') { |
26 | message = ('I dug ' + msg.value.content.vote.link + ' - <span class="date">' + moment(msg.value.timestamp).fromNow() + '</span>') |
27 | } |
28 | else if (msg.value.content.type === 'about') { |
29 | message = ('I identified ' + msg.value.content.about + ' as ' + msg.value.content.name + ' - <span class="date">' + moment(msg.value.timestamp).fromNow() + '</span>') |
30 | } |
31 | else if (msg.value.content.type === 'git-update') { |
32 | message = ('I pushed a git commit to <a href="http://gitmx.com/">gitmx.com</a> - <span class="date">' + moment(msg.value.timestamp).fromNow() + '</span>') |
33 | } |
34 | else { |
35 | message = ('I sent a private message - <span class="date">' + moment(msg.value.timestamp).fromNow() + '</span>') |
36 | } |
37 | })); |
38 | var site = function () { |
39 | var layout = |
40 | html( |
41 | head( |
42 | title('Latest Sbot Post') |
43 | ), |
44 | body( |
45 | p(message) |
46 | ) |
47 | ); |
48 | return layout.outerHTML; |
49 | }; |
50 | http.createServer(function (req, res) { |
51 | res.end(site()); |
52 | }).listen(port, function () { |
53 | console.log(`Server running at http://localhost:${port}/`); |
54 | }); |
55 | }); |
56 | |
57 | |
58 | |
59 |
Built with git-ssb-web