Files: 1503be3557df07c98b78eba410ce650a88778606 / index.js
2060 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 | pull( |
46 | sbot.query.read({query: [{$filter: { key: data.value.content.vote.link}}]}), |
47 | pull.drain(function (reblog) { |
48 | avatar(sbot, me, reblog.value.author, function (err, avatar){ |
49 | if (err) { |
50 | throw err; |
51 | } |
52 | reauthor = avatar; |
53 | }) |
54 | redo = reblog; |
55 | }) |
56 | ) |
57 | }) |
58 | ) |
59 | pull( |
60 | sbot.query.read({query: [{$filter: { value: { author: me, content: {type: 'git-update'}}}}], limit: 1, reverse: true}), |
61 | pull.drain(function (data) { |
62 | gits = data; |
63 | }) |
64 | ) |
65 | }); |
66 | this.body = yield render('index', {title: site, moment, markdown}); |
67 | }); |
68 | |
69 | app.listen('7000') |
70 | |
71 |
Built with git-ssb-web