git ssb

3+

ev / sdash



Tree: aca13bd521d14b347383cfa1f8a098cf71a71412

Files: aca13bd521d14b347383cfa1f8a098cf71a71412 / index.js

1481 bytesRaw
1var http = require('http')
2var fs = require('fs')
3var h = require('hyperscript')
4var pull = require('pull-stream')
5var client = require('ssb-client')
6var md = require('ssb-markdown')
7var avatar = require('ssb-avatar')
8var mo = require('moment')
9// var ref = require('ssb-ref')
10
11var title = 'sdash'
12var me = '@8Qee0I/DwI5DHSCi3p5fsl6FyLGArrnDz3ox9qZr5Qc=.ed25519'
13var bloburl = 'https://evbogue.com/ws/blobs/get/'
14
15client(function (err, sbot) {
16 avatar(sbot, me, me, function (err, avatar){
17 if (err) throw err
18 name = avatar.name
19 image = avatar.image
20 sbot.close()
21 })
22})
23
24http.createServer(function (req, res){
25 if (req.url === '/') {
26 client(function (err, sbot) {
27 pull(
28 sbot.query.read({query: [{$filter: { value: { author: me, content: {type: 'post'}}}}], limit: 1, reverse: true}),
29 pull.drain(function (data) {
30 post = data
31 gotPost()
32 sbot.close()
33 })
34 )
35 })
36 function gotPost() {
37 res.end(
38 h('html',
39 h('head',
40 h('title', name + '\'s ' + title),
41 h('style', fs.readFileSync('style.css', 'utf8'))
42 ),
43 h('body',
44 h('div.msg',
45 h('p.small.ri', mo(post.value.timestamp).fromNow()),
46 h('img.avatar', {src: bloburl + image}),
47 h('a', {href: me }, '@' + name),
48 h('div', {innerHTML: md.block(post.value.content.text)})
49 )
50 )
51 ).outerHTML)
52 }
53 }
54}).listen(1337)
55

Built with git-ssb-web