git ssb

3+

ev / sdash



Tree: 140e6aca32fc537679f079304e695b6c8270dede

Files: 140e6aca32fc537679f079304e695b6c8270dede / index.js

2040 bytesRaw
1var express = require('express');
2var pull = require('pull-stream');
3var client = require('ssb-client');
4var avatar = require('ssb-avatar');
5var markdown = require('marked');
6var moment = require('moment');
7
8var me = '@EMovhfIrFk4NihAKnRNhrfRaqIhBv1Wj8pTxJNgvCCY=.ed25519';
9
10var pin = '%6ogHrwUivc2Tn3nq87vepXfPDLMWIiEIu0rqGPl0Kkg=.sha256';
11
12var app = express();
13
14app.set('views', './layouts')
15app.set('view engine', 'jade');
16
17app.get('/', function (req, res) {
18 client(function (err, sbot) {
19 if (err) {
20 throw err;
21 }
22 avatar(sbot, me, me, function (err, avatar){
23 if (err) {
24 throw err;
25 }
26 name = avatar.name;
27 image = avatar.image;
28 })
29 pull(
30 sbot.query.read({query: [{$filter: { key: pin}}], limit: 1, reverse: true}),
31 pull.drain(function (data) {
32 pinned = data;
33 })
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 gotPost();
54 })
55 redo = reblog;
56 })
57 )
58 })
59 )
60 pull(
61 sbot.query.read({query: [{$filter: { value: { author: me, content: {type: 'git-update'}}}}], limit: 1, reverse: true}),
62 pull.drain(function (data) {
63 gits = data;
64 })
65 )
66 });
67 function gotPost() {
68 res.render('index', { title: 'Evbogue.com', markdown, moment});
69 }
70});
71
72app.use(express.static('static'));
73
74app.listen('7000');
75
76
77

Built with git-ssb-web