git ssb

3+

ev / sdash



Tree: 34b07459e5b69b2cfc44f79d97b19f3432c6191d

Files: 34b07459e5b69b2cfc44f79d97b19f3432c6191d / index.js

1441 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 })
21})
22
23http.createServer(function (req, res){
24 if (req.url === '/') {
25 client(function (err, sbot) {
26 pull(
27 sbot.query.read({query: [{$filter: { value: { author: me, content: {type: 'post'}}}}], limit: 1, reverse: true}),
28 pull.drain(function (data) {
29 post = data
30 gotPost()
31 })
32 )
33 })
34 function gotPost() {
35 res.end(
36 h('html',
37 h('head',
38 h('title', name + '\'s ' + title),
39 h('style', fs.readFileSync('style.css', 'utf8'))
40 ),
41 h('body',
42 h('div.msg',
43 h('p.small.ri', mo(post.value.timestamp).fromNow()),
44 h('img.avatar', {src: bloburl + image}),
45 h('a', {href: me }, '@' + name),
46 h('div', {innerHTML: md.block(post.value.content.text)})
47 )
48 )
49 ).outerHTML)
50 }
51 }
52}).listen(1337)
53

Built with git-ssb-web