Commit dd24a3ffbedb6252417e7c018a5e8af3d51a66ad
initial commit
Ev Bogue committed on 8/12/2016, 4:36:12 AMFiles changed
.gitignore | added |
index.js | added |
package.json | added |
public/dash.css | added |
public/gb.jpg | added |
public/gbdim.jpg | added |
public/gbreg.jpg | added |
public/opensansreg.ttf | added |
public/terminalbook.jpg | added |
readme.md | added |
views/index.jade | added |
index.js | ||
---|---|---|
@@ -1,0 +1,52 @@ | ||
1 … | +var app = require('koa')(), | |
2 … | + router = require('koa-router')(), | |
3 … | + views = require('co-views'), | |
4 … | + serve = require('koa-static'); | |
5 … | + | |
6 … | +var client = require('ssb-client'); | |
7 … | +var pull = require('pull-stream'); | |
8 … | +var moment = require('moment'); | |
9 … | +var fs = require('fs'); | |
10 … | + | |
11 … | +function getSbot () { client(function (err, sbot) { | |
12 … | + if (err) { | |
13 … | + throw err; | |
14 … | + } | |
15 … | + pull(sbot.createUserStream({ | |
16 … | + id: '@8Qee0I/DwI5DHSCi3p5fsl6FyLGArrnDz3ox9qZr5Qc=.ed25519', | |
17 … | + limit: 1, | |
18 … | + reverse: true | |
19 … | + }), | |
20 … | + pull.drain(function printMessage(msg) { | |
21 … | + console.log(msg) | |
22 … | + if (msg.value.content.type === 'post') { | |
23 … | + var message = (msg.value.content.text + ' - <span class="date">' + moment(msg.value.timestamp).fromNow() + '</span>') | |
24 … | + } | |
25 … | + if (msg.value.content.type === 'vote') { | |
26 … | + var message = ('I dug ' + msg.value.content.vote.link + ' - <span class="date">' + moment(msg.value.timestamp).fromNow() + '</span>') | |
27 … | + } | |
28 … | + if (msg.value.content.type === 'about') { | |
29 … | + var message = ('I identified ' + msg.value.content.about + ' as ' + msg.value.content.name + ' - <span class="date">' + moment(msg.value.timestamp).fromNow() + '</span>') | |
30 … | + } | |
31 … | + else { | |
32 … | + var message = ('I sent a private message - <span class="date">' + moment(msg.value.timestamp).fromNow() + '</span>') | |
33 … | + } | |
34 … | + fs.writeFileSync('message.md', message); | |
35 … | + console.log(message); | |
36 … | + })); | |
37 … | +}); | |
38 … | +}; | |
39 … | + | |
40 … | + | |
41 … | +app.use(router.routes()) | |
42 … | +app.use(router.allowedMethods()) | |
43 … | + | |
44 … | +var render = views(__dirname + '/views', { ext: 'jade'}); | |
45 … | + | |
46 … | +router.get('/', function *(next) { | |
47 … | + getSbot(); | |
48 … | + this.body = yield render('index', {title: 'sdash'}); | |
49 … | +}); | |
50 … | + | |
51 … | +app.listen('4000') | |
52 … | + |
package.json | ||
---|---|---|
@@ -1,0 +1,20 @@ | ||
1 … | +{ | |
2 … | + "name": "gwenbell.com", | |
3 … | + "version": "0.0.1", | |
4 … | + "description": "Gwen Bell's website", | |
5 … | + "main": "index.js", | |
6 … | + "dependencies": { | |
7 … | + "co-views": "", | |
8 … | + "jade": "", | |
9 … | + "koa": "", | |
10 … | + "koa-body-parser": "", | |
11 … | + "koa-logger": "", | |
12 … | + "koa-router": "", | |
13 … | + "koa-static": "^2.0.0", | |
14 … | + "moment": "^2.14.1", | |
15 … | + "nodemailer": "", | |
16 … | + "pull-stream": "^3.4.3", | |
17 … | + "ssb-client": "^4.0.3" | |
18 … | + }, | |
19 … | + "author": "Ev Bogue" | |
20 … | +} |
public/dash.css | ||
---|---|---|
@@ -1,0 +1,98 @@ | ||
1 … | +@font-face { | |
2 … | + font-family: 'Open Sans'; | |
3 … | + src: url('opensansreg.ttf'); | |
4 … | + font-weight: 400; | |
5 … | +} | |
6 … | + | |
7 … | +body { | |
8 … | + background: #000 url("./gbdim.jpg") no-repeat center center fixed; | |
9 … | + font-family: 'Open Sans'; | |
10 … | + font-weight: 400; | |
11 … | + background-size: cover; | |
12 … | + color: white; | |
13 … | + padding: 1em; | |
14 … | + margin: 0; | |
15 … | +} | |
16 … | + | |
17 … | +h1, h2, h3 { | |
18 … | + font-weight: 400; | |
19 … | + margin-top: 0; | |
20 … | + line-height: 1em; | |
21 … | +} | |
22 … | + | |
23 … | +p, input { | |
24 … | + font-size: .8em; | |
25 … | + margin-top: .35ex; | |
26 … | +} | |
27 … | + | |
28 … | +.profile { | |
29 … | + margin-right: .5ex; | |
30 … | + width: 50px; | |
31 … | + border: 1px solid white; | |
32 … | + float: left; | |
33 … | +} | |
34 … | + | |
35 … | +.date { | |
36 … | + color: #ccc; | |
37 … | +} | |
38 … | + | |
39 … | +.contain { | |
40 … | + display: flex; | |
41 … | + flex-direction: column; | |
42 … | + align-items: flex-end; | |
43 … | + justify-content: space-between; | |
44 … | +} | |
45 … | + | |
46 … | +@media (min-width: 600px) { | |
47 … | + .box { | |
48 … | + width: 35%; | |
49 … | + max-width: 25em; | |
50 … | + } | |
51 … | +} | |
52 … | + | |
53 … | + | |
54 … | +.box { | |
55 … | + width: 80%; | |
56 … | + margin-top: .5em; | |
57 … | + padding: 1em 1.5em 1.5em 1.5em; | |
58 … | + border: 5px solid white; | |
59 … | + border-radius: 2ex; | |
60 … | + flex: 1; | |
61 … | + word-wrap: break-word; | |
62 … | +} | |
63 … | + | |
64 … | +.box:hover { | |
65 … | + transition: background 300ms ease-out; | |
66 … | + background: rgba(0, 0, 0, .5) | |
67 … | +} | |
68 … | + | |
69 … | +input, textarea { | |
70 … | + width: 95%; | |
71 … | + background: transparent; | |
72 … | + border: 2px solid white; | |
73 … | + border-radius: .5ex; | |
74 … | + color: white; | |
75 … | + padding: .5ex; | |
76 … | + margin-bottom: 1ex; | |
77 … | +} | |
78 … | + | |
79 … | +.box:hover input, | |
80 … | +.box:hover textarea { | |
81 … | + background: black; | |
82 … | +} | |
83 … | + | |
84 … | +button { | |
85 … | + background: transparent; | |
86 … | + border: 2px solid white; | |
87 … | + border-radius: .5ex; | |
88 … | + color: white; | |
89 … | + padding: .5em 1em; | |
90 … | + cursor: pointer; | |
91 … | +} | |
92 … | + | |
93 … | +button:hover { | |
94 … | + transition: background 500ms ease-out; | |
95 … | + background: #000; | |
96 … | +} | |
97 … | + | |
98 … | +a { color: white; } |
public/gb.jpg |
---|
public/gbdim.jpg |
---|
public/gbreg.jpg |
---|
public/opensansreg.ttf | ||
---|---|---|
@@ -1,0 +1,821 @@ | ||
1 … | + FFTM]�F~ , GDEF� H GPOSl�t� h GSUBH��� � �OS/2�6�� `cmap�*� t ~cvt J � Dfpgm�/� 8 egasp � glyfh9K� � Zhead�|�P e� 6hhea � } e� $hmtx�R>� f �locaw�В t� dmaxp�� |@ name%8@Q |` �post�$K ~ pprep�`, �� | ɉo1 �51� ��� � | |
2 … | + latn �� | |
3 … | + T � latn MOL (ROM ( �� �� | |
4 … | + | |
5 … | +liga >lnum Dlocl Jonum Ppnum Xsalt ^ss01 fss02 nss03 ttnum z | |
6 … | + & |