Files: 809c5f5ccaa65e969f8cba0b0a6c0d687fde9ff5 / index.js
1671 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 markdown = require('marked'); |
6 | var app = require('koa')(); |
7 | var router = require('koa-router')(); |
8 | var serve = require('koa-static'); |
9 | var views = require('co-views'); |
10 | |
11 | const me = '@8Qee0I/DwI5DHSCi3p5fsl6FyLGArrnDz3ox9qZr5Qc=.ed25519'; |
12 | const site = 'Evbogue.com'; |
13 | |
14 | app.use(router.routes()) |
15 | app.use(serve(__dirname + '/static')) |
16 | app.use(serve(__dirname + './../books/build')) |
17 | app.use(serve(__dirname + './../site/build')) |
18 | app.use(serve(__dirname + './../site/static')) |
19 | app.use(serve(__dirname + './../boot/')) |
20 | |
21 | var render = views(__dirname, { ext: 'jade'}); |
22 | |
23 | router.get('/', function *(next) { |
24 | client(function (err, sbot) { |
25 | if (err) { |
26 | throw err; |
27 | } |
28 | avatar(sbot, me, me, function (err, avatar){ |
29 | if (err) { |
30 | throw err; |
31 | } |
32 | name = avatar.name; |
33 | image = avatar.image; |
34 | }) |
35 | pull( |
36 | sbot.query.read({query: [{$filter: { value: { author: me, content: {type: 'post'}}}}], limit: 1, reverse: true}), |
37 | pull.drain(function (data) { |
38 | post = data; |
39 | }) |
40 | ) |
41 | pull( |
42 | sbot.query.read({query: [{$filter: { value: { author: me, content: {type: 'vote'}}}}], limit: 1, reverse: true}), |
43 | pull.drain(function (data) { |
44 | vote = data; |
45 | }) |
46 | ) |
47 | pull( |
48 | sbot.query.read({query: [{$filter: { value: { author: me, content: {type: 'git-update'}}}}], limit: 1, reverse: true}), |
49 | pull.drain(function (data) { |
50 | gits = data; |
51 | }) |
52 | ) |
53 | }); |
54 | this.body = yield render('index', {title: site, moment, markdown}); |
55 | }); |
56 | |
57 | app.listen('7000') |
58 | |
59 |
Built with git-ssb-web