Files: e33c97439f10b79c669ae219531c5b0b5c60ca3d / index.js
1757 bytesRaw
1 | var client = require('ssb-client'); |
2 | var pull = require('pull-stream'); |
3 | var avatar = require('ssb-avatar'); |
4 | var moment = require('moment'); |
5 | var app = require('koa')(); |
6 | var router = require('koa-router')(); |
7 | var serve = require('koa-static') |
8 | var views = require('co-views'); |
9 | |
10 | var me = '@8Qee0I/DwI5DHSCi3p5fsl6FyLGArrnDz3ox9qZr5Qc=.ed25519'; |
11 | |
12 | app.use(router.routes()) |
13 | app.use(serve(__dirname + './../books/build')) |
14 | app.use(serve(__dirname + './../site/build')) |
15 | app.use(serve(__dirname + './../site/static')) |
16 | app.use(serve(__dirname + './../boot/')) |
17 | |
18 | |
19 | var render = views(__dirname, { ext: 'jade'}); |
20 | |
21 | router.get('/', function *(next) { |
22 | client(function (err, sbot) { |
23 | if (err) { |
24 | throw err; |
25 | } |
26 | avatar(sbot, me, me, function (err, avatar){ |
27 | if (err) { |
28 | throw err; |
29 | } |
30 | name = avatar.name; |
31 | image = avatar.image; |
32 | }) |
33 | pull(sbot.createUserStream({ |
34 | id: me, |
35 | limit: 1, |
36 | reverse: true |
37 | }), |
38 | pull.drain(function (msg) { |
39 | date = moment(msg.value.timestamp).fromNow() |
40 | if (msg.value.content.type === 'post') { |
41 | message = (msg.value.content.text) |
42 | } |
43 | else if (msg.value.content.type === 'vote') { |
44 | message = (' dug ' + msg.value.content.vote.link) |
45 | } |
46 | else if (msg.value.content.type === 'about') { |
47 | message = (' identified ' + msg.value.content.about + ' as ' + msg.value.content.name) |
48 | } |
49 | else if (msg.value.content.type === 'git-update') { |
50 | message = (' pushed a git commit ') |
51 | } |
52 | else { |
53 | message = (' sent a private message ') |
54 | } |
55 | gotMessage(); |
56 | })); |
57 | }); |
58 | function gotMessage() {} |
59 | this.body = yield render('index', {title: 'Evbogue.com', message, date, name, image}); |
60 | }); |
61 | |
62 | app.listen('7000') |
63 | |
64 |
Built with git-ssb-web