git ssb

3+

ev / sdash



Tree: 62cff98abf3289863d393a35f5554c0c743472ed

Files: 62cff98abf3289863d393a35f5554c0c743472ed / index.js

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

Built with git-ssb-web