helios 0.0.5 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +3 -1
- data/Gemfile.lock +38 -44
- data/bin/helios +2 -2
- data/example/Gemfile +2 -2
- data/example/Gemfile.lock +60 -49
- data/example/Procfile +1 -1
- data/example/Sample.xcdatamodeld/Sample.xcdatamodel/contents +11 -17
- data/example/config.ru +12 -1
- data/helios-0.1.0.gem +0 -0
- data/helios.gemspec +5 -3
- data/lib/helios.rb +9 -5
- data/lib/helios/backend.rb +27 -17
- data/lib/helios/backend/accounts.rb +38 -0
- data/lib/helios/backend/data.rb +7 -6
- data/lib/helios/backend/in-app-purchase.rb +10 -2
- data/lib/helios/backend/passbook.rb +12 -2
- data/lib/helios/backend/push-notification.rb +8 -1
- data/lib/helios/commands.rb +3 -1
- data/lib/helios/commands/link.rb +18 -0
- data/lib/helios/commands/new.rb +43 -6
- data/lib/helios/commands/server.rb +16 -0
- data/lib/helios/frontend.rb +11 -5
- data/lib/helios/frontend/fonts/icons.eot +0 -0
- data/lib/helios/frontend/fonts/icons.ttf +0 -0
- data/lib/helios/frontend/fonts/icons.woff +0 -0
- data/lib/helios/frontend/images/bg.jpg +0 -0
- data/lib/helios/frontend/javascripts/helios.coffee +5 -5
- data/lib/helios/frontend/javascripts/helios/collections.coffee +67 -6
- data/lib/helios/frontend/javascripts/helios/models.coffee +1 -4
- data/lib/helios/frontend/javascripts/helios/router.coffee +0 -14
- data/lib/helios/frontend/javascripts/helios/views.coffee +164 -23
- data/lib/helios/frontend/javascripts/vendor/backbone.paginator.js +1046 -0
- data/lib/helios/frontend/javascripts/vendor/codemirror.javascript.js +411 -0
- data/lib/helios/frontend/javascripts/vendor/codemirror.js +3047 -0
- data/lib/helios/frontend/javascripts/vendor/date.js +104 -0
- data/lib/helios/frontend/javascripts/{foundation → vendor}/foundation.js +0 -0
- data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.alerts.js +0 -0
- data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.clearing.js +0 -0
- data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.cookie.js +0 -0
- data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.dropdown.js +0 -0
- data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.forms.js +0 -0
- data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.joyride.js +0 -0
- data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.magellan.js +0 -0
- data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.orbit.js +0 -0
- data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.placeholder.js +0 -0
- data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.reveal.js +0 -0
- data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.section.js +0 -0
- data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.tooltips.js +0 -0
- data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.topbar.js +0 -0
- data/lib/helios/frontend/stylesheets/_codemirror.sass +219 -0
- data/lib/helios/frontend/stylesheets/_fonts.sass +80 -0
- data/lib/helios/frontend/stylesheets/_iphone.sass +141 -0
- data/lib/helios/frontend/stylesheets/_settings.scss +12 -11
- data/lib/helios/frontend/stylesheets/screen.sass +119 -34
- data/lib/helios/frontend/views/compose.jst.tpl +70 -0
- data/lib/helios/frontend/views/devices.jst.tpl +15 -2
- data/lib/helios/frontend/views/entities.jst.tpl +6 -4
- data/lib/helios/frontend/views/index.haml +24 -8
- data/lib/helios/frontend/views/passes.jst.tpl +10 -2
- data/lib/helios/frontend/views/receipts.jst.tpl +10 -2
- data/lib/helios/templates/Gemfile.erb +5 -2
- data/lib/helios/templates/Procfile.erb +1 -1
- data/lib/helios/templates/README.md.erb +1 -1
- data/lib/helios/templates/config.ru.erb +8 -1
- data/lib/helios/version.rb +1 -1
- metadata +174 -102
- data/helios-0.0.2.gem +0 -0
- data/helios-0.0.3.gem +0 -0
- data/helios-0.0.4.gem +0 -0
- data/lib/helios/frontend/images/data.png +0 -0
- data/lib/helios/frontend/images/data.svg +0 -1
- data/lib/helios/frontend/images/in-app-purchase.png +0 -0
- data/lib/helios/frontend/images/in-app-purchase.svg +0 -1
- data/lib/helios/frontend/images/passbook.png +0 -0
- data/lib/helios/frontend/images/passbook.svg +0 -1
- data/lib/helios/frontend/images/push-notification.png +0 -0
- data/lib/helios/frontend/images/push-notification.svg +0 -1
- data/lib/helios/frontend/templates/data/entities.hbs +0 -7
- data/lib/helios/frontend/templates/data/entity.hbs +0 -17
- data/lib/helios/frontend/templates/in-app-purchase/receipt.hbs +0 -53
- data/lib/helios/frontend/templates/in-app-purchase/receipts.hbs +0 -39
- data/lib/helios/frontend/templates/passbook/passes.hbs +0 -25
- data/lib/helios/frontend/templates/push-notification/device.hbs +0 -35
- data/lib/helios/frontend/templates/push-notification/devices.hbs +0 -37
@@ -15,23 +15,24 @@
|
|
15
15
|
// $em-base: 16px;
|
16
16
|
|
17
17
|
// We use these to control various global styles
|
18
|
-
|
19
|
-
|
18
|
+
|
19
|
+
$body-bg: #0f1219 url("../images/bg.png");
|
20
|
+
$body-font-color: #cccccc;
|
20
21
|
// $body-font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
|
21
22
|
// $body-font-weight: normal;
|
22
23
|
// $body-font-style: normal;
|
23
24
|
|
24
25
|
// We use this to control font-smoothing
|
25
|
-
|
26
|
+
$font-smoothing: subpixel-antialiased;
|
26
27
|
|
27
28
|
// We use these to control text direction settings
|
28
29
|
// $text-direction: ltr;
|
29
30
|
|
30
31
|
// We use these as default colors throughout
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
32
|
+
$primary-color: #bfbc3d;
|
33
|
+
$secondary-color: #bfbc3d;
|
34
|
+
$alert-color: #c60f13;
|
35
|
+
$success-color: #5da423;
|
35
36
|
|
36
37
|
// We use these to make sure border radius matches unless we want it different.
|
37
38
|
// $global-radius: 3px;
|
@@ -70,10 +71,10 @@
|
|
70
71
|
//
|
71
72
|
|
72
73
|
// We use these to control header font styles
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
74
|
+
$header-font-family: "Bariol", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
|
75
|
+
$header-font-weight: 400;
|
76
|
+
$header-font-style: normal;
|
77
|
+
$header-font-color: $primary-color;
|
77
78
|
// $header-line-height: 1.4;
|
78
79
|
// $header-top-margin: .2em;
|
79
80
|
// $header-bottom-margin: .5em;
|
@@ -1,69 +1,90 @@
|
|
1
|
-
@import "compass
|
1
|
+
@import "compass"
|
2
2
|
+global-reset
|
3
3
|
|
4
|
-
@
|
4
|
+
@mixin helvetica-font-stack
|
5
|
+
font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif
|
6
|
+
|
7
|
+
@mixin meslo-font-stack
|
8
|
+
font-family: "Meslo", Menlo, Monaco, monospace
|
9
|
+
|
10
|
+
@import "./settings"
|
11
|
+
@import "./fonts"
|
12
|
+
@import "./iphone"
|
13
|
+
@import "./codemirror"
|
14
|
+
|
5
15
|
@import "foundation"
|
6
16
|
|
17
|
+
body
|
18
|
+
-webkit-text-stroke: 1px transparent
|
19
|
+
@media only screen and (max-device-width:480px)
|
20
|
+
body
|
21
|
+
-webkit-text-stroke: 0 black
|
22
|
+
|
7
23
|
[role="application"]
|
8
24
|
+grid-row
|
9
25
|
|
10
26
|
[role="banner"]
|
11
|
-
+grid-row($behavior: nest)
|
27
|
+
+grid-row($behavior: nest-collapse)
|
12
28
|
#logo
|
13
29
|
font-family: "Bariol"
|
14
|
-
|
30
|
+
font-weight: 700
|
31
|
+
text-align: left
|
32
|
+
+grid-column(2, $float: left)
|
33
|
+
padding-left: 13px
|
15
34
|
|
16
35
|
[role="navigation"]
|
17
|
-
+grid-column(8, $float: right, $last-column: true)
|
18
36
|
+grid-row($behavior: nest-collapse)
|
37
|
+
+grid-column(10, $float: right)
|
19
38
|
|
20
39
|
ul
|
21
|
-
|
40
|
+
float: right !important
|
41
|
+
margin-top: 10px
|
22
42
|
|
23
43
|
li, a
|
24
|
-
|
44
|
+
color: #222
|
25
45
|
|
26
46
|
li
|
47
|
+
padding: 0
|
48
|
+
|
27
49
|
a
|
28
|
-
padding-top: 50px
|
29
|
-
|
30
|
-
&.data a
|
31
|
-
background: url("../images/data.png") center center no-repeat
|
32
|
-
&.push-notification a
|
33
|
-
background: url("../images/push-notification.png") center center no-repeat
|
34
|
-
&.in-app-purchase a
|
35
|
-
background: url("../images/in-app-purchase.png") center center no-repeat
|
36
|
-
&.passbook a
|
37
|
-
background: url("../images/passbook.png") center center no-repeat
|
38
|
-
a
|
39
|
-
text-align: center
|
40
|
-
font-size: 0.825em
|
41
50
|
display: block
|
42
|
-
|
51
|
+
text-align: left
|
52
|
+
padding: 1em 1.5em 2em 1.5em
|
53
|
+
height: 2em
|
54
|
+
|
55
|
+
i
|
56
|
+
font-size: 1.5em
|
57
|
+
float: left
|
58
|
+
padding-right: 20px
|
43
59
|
|
44
60
|
[role="main"]
|
45
61
|
+grid-row($behavior: nest-collapse)
|
46
|
-
|
47
|
-
.auxiliary
|
48
|
-
+grid-row($behavior: nest-collapse)
|
49
|
-
margin: 1em 0
|
50
|
-
input[type="search"]
|
51
|
-
+grid-column(4, $float: right)
|
52
|
-
font-size: 1.25em
|
53
|
-
select#entities
|
54
|
-
+grid-column(4, $float: left)
|
55
62
|
|
56
63
|
.master
|
64
|
+
+grid-column(12, $float: left)
|
65
|
+
|
66
|
+
.detail
|
67
|
+
+panel
|
68
|
+
+grid-column(4, $float: right, $last-column: true)
|
69
|
+
float: right !important
|
70
|
+
|
71
|
+
.detail + .master
|
57
72
|
+grid-column(8, $float: left)
|
58
73
|
|
74
|
+
.master
|
59
75
|
table
|
76
|
+
+border-radius(8px)
|
60
77
|
display: block
|
61
78
|
table-layout: fixed
|
62
79
|
width: 100%
|
63
80
|
overflow: auto
|
64
81
|
|
82
|
+
th
|
83
|
+
font-weight: 600
|
84
|
+
color: #333
|
85
|
+
|
65
86
|
tr td
|
66
|
-
max-width:
|
87
|
+
max-width: 40em
|
67
88
|
white-space: nowrap
|
68
89
|
overflow: auto
|
69
90
|
|
@@ -76,12 +97,21 @@
|
|
76
97
|
+grid-row($behavior: nest-collapse)
|
77
98
|
+pagination
|
78
99
|
|
100
|
+
display: none
|
101
|
+
|
79
102
|
ul
|
80
|
-
+grid-column(
|
103
|
+
+grid-column(12, $center: true)
|
104
|
+
|
105
|
+
|
106
|
+
#datagrid
|
107
|
+
table + p
|
108
|
+
width: 100%
|
109
|
+
text-align: center
|
110
|
+
padding: 2em
|
111
|
+
font-size: 2em
|
81
112
|
|
82
113
|
.detail
|
83
|
-
|
84
|
-
+panel
|
114
|
+
|
85
115
|
form
|
86
116
|
fieldset
|
87
117
|
border: 0
|
@@ -96,3 +126,58 @@
|
|
96
126
|
|
97
127
|
button, input[type="submit"]
|
98
128
|
+button
|
129
|
+
|
130
|
+
.auxiliary
|
131
|
+
+grid-row($behavior: nest-collapse)
|
132
|
+
margin: 10px 0
|
133
|
+
|
134
|
+
h2
|
135
|
+
width: 200px
|
136
|
+
float: left
|
137
|
+
margin-left: 15px
|
138
|
+
|
139
|
+
button, input, form
|
140
|
+
float: right !important
|
141
|
+
|
142
|
+
.filter input
|
143
|
+
width: 300px
|
144
|
+
margin-top: 5px
|
145
|
+
margin-left: 20px
|
146
|
+
margin-right: 15px
|
147
|
+
|
148
|
+
button, button:hover, .button, .button:hover
|
149
|
+
color: #222
|
150
|
+
|
151
|
+
&.dropdown
|
152
|
+
text-align: left !important
|
153
|
+
|
154
|
+
.dropdown.button:before
|
155
|
+
border-color: #222 transparent transparent transparent !important
|
156
|
+
|
157
|
+
#entities-dropdown
|
158
|
+
float: right
|
159
|
+
width: 300px
|
160
|
+
margin-right: 15px
|
161
|
+
|
162
|
+
#entities
|
163
|
+
margin-left: -140px
|
164
|
+
font-size: 1.5em
|
165
|
+
|
166
|
+
#compose-modal
|
167
|
+
width: 90%
|
168
|
+
left: 45%
|
169
|
+
top: 30px
|
170
|
+
|
171
|
+
.iphone
|
172
|
+
float: right
|
173
|
+
|
174
|
+
form
|
175
|
+
float: left
|
176
|
+
width: 500px
|
177
|
+
|
178
|
+
fieldset
|
179
|
+
border: none
|
180
|
+
padding: 0
|
181
|
+
|
182
|
+
legend
|
183
|
+
display: none
|
@@ -0,0 +1,70 @@
|
|
1
|
+
<header>
|
2
|
+
<h1>Send a Push Notification</h1>
|
3
|
+
</header>
|
4
|
+
|
5
|
+
<form id="compose">
|
6
|
+
<!-- <fieldset id="recipients">
|
7
|
+
<legend>Recipients</legend>
|
8
|
+
|
9
|
+
<ol>
|
10
|
+
<li>
|
11
|
+
<input type="radio" name="recipients" value="all" id="recipients[all]"/>
|
12
|
+
<label for="recipients[all]">All Devices</label>
|
13
|
+
</li>
|
14
|
+
<li>
|
15
|
+
<input type="radio" name="recipients" value="specified" id="recipients[specified]"/>
|
16
|
+
<label for="recipients[specified]">Specified Devices</label>
|
17
|
+
<textarea id="tokens" name="tokens" rows="3", cols="50"></textarea>
|
18
|
+
</li>
|
19
|
+
</ol>
|
20
|
+
</fieldset> -->
|
21
|
+
|
22
|
+
<fieldset class="message">
|
23
|
+
<legend>Payload</legend>
|
24
|
+
|
25
|
+
<div class="span7">
|
26
|
+
<textarea id="payload" name="payload" rows="4" cols="50">
|
27
|
+
{
|
28
|
+
"aps": {
|
29
|
+
"alert": "Lorem ipsum dolar sit amet.",
|
30
|
+
"badge": 0
|
31
|
+
}
|
32
|
+
}</textarea>
|
33
|
+
|
34
|
+
<div class="alert">
|
35
|
+
<strong></strong> : <span></span>
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
</fieldset>
|
39
|
+
|
40
|
+
<hr/>
|
41
|
+
|
42
|
+
<button id="send" type="button">Send Push Notification</button>
|
43
|
+
</form>
|
44
|
+
|
45
|
+
<figure class="iphone preview">
|
46
|
+
<header>
|
47
|
+
<figure class="status">
|
48
|
+
<span class="signal">▁</span>
|
49
|
+
<span class="carrier">Carrier</span>
|
50
|
+
<span class="battery">100%</span>
|
51
|
+
</figure>
|
52
|
+
|
53
|
+
<time>
|
54
|
+
<span class="time">9:04</span>
|
55
|
+
<span class="date">Thursday, November 29</span>
|
56
|
+
</time>
|
57
|
+
</header>
|
58
|
+
|
59
|
+
<figure class="notification">
|
60
|
+
<h1>App Name</h1>
|
61
|
+
<p></p>
|
62
|
+
</figure>
|
63
|
+
|
64
|
+
<footer>
|
65
|
+
<figure class="slider">
|
66
|
+
<input type="range" value="0"></input>
|
67
|
+
<span>slide to view</span>
|
68
|
+
</figure>
|
69
|
+
</footer>
|
70
|
+
</figure>
|
@@ -1,3 +1,16 @@
|
|
1
|
-
<
|
1
|
+
<div class="auxiliary">
|
2
|
+
<h2>Devices</h2>
|
2
3
|
|
3
|
-
<
|
4
|
+
<form class="filter">
|
5
|
+
<input type="text" placeholder="Filter Devices..." value=""/>
|
6
|
+
</form>
|
7
|
+
<button class="button" data-reveal-id="compose-modal">Compose</button>
|
8
|
+
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<div class="master">
|
12
|
+
<div id="datagrid">
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
|
16
|
+
<div id="compose-modal" class="reveal-modal"></div>
|
@@ -1,9 +1,11 @@
|
|
1
1
|
<div class="auxiliary">
|
2
|
-
<
|
2
|
+
<h2>Data</h2>
|
3
|
+
<a id="entities-dropdown" data-dropdown="entities" class="button dropdown">Entities</a>
|
4
|
+
<ul id="entities" class="f-dropdown">
|
3
5
|
<% _.each(entities.models, function(entity) { %>
|
4
|
-
<
|
6
|
+
<li><a href="#<%= entity.url() %>"><%= entity.get('name') %></a></li>
|
5
7
|
<% }) %>
|
6
|
-
</
|
8
|
+
</ul>
|
7
9
|
</div>
|
8
10
|
|
9
|
-
<div id="datagrid" class="master"></div>
|
11
|
+
<div id="datagrid" class="master"></div>
|
@@ -4,22 +4,38 @@
|
|
4
4
|
%meta{charset: "utf-8"}
|
5
5
|
%meta{:'http-equiv' => "X-UA-Compatible", content: "IE=edge,chrome=1"}
|
6
6
|
%title Helios
|
7
|
-
%link{rel: "shortcut icon", href: "/favicon.ico", type: "image/x-icon"}
|
8
7
|
%link{rel: "license", href: "http://opensource.org/licenses/MIT", :title => "MIT License"}
|
9
8
|
%link{rel: "description", href: "Helios"}
|
10
9
|
= css :application
|
11
10
|
|
12
|
-
%body{role: 'application'}
|
11
|
+
%body{role: 'application', data: {version: Helios::VERSION}}
|
13
12
|
%header{role: 'banner'}
|
14
|
-
%h1#logo
|
13
|
+
%h1#logo
|
15
14
|
%a{href: ''} Helios
|
16
15
|
|
17
16
|
%nav{role: 'navigation'}
|
18
|
-
%ul
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
17
|
+
%ul.button-group
|
18
|
+
%li.button
|
19
|
+
%a{href: "#data"}
|
20
|
+
%i.data
|
21
|
+
Data
|
22
|
+
%li.button
|
23
|
+
%a{href: "#push-notification"}
|
24
|
+
%i.push-notification
|
25
|
+
Push Notification
|
26
|
+
|
27
|
+
%li.button
|
28
|
+
%a{href: "#in-app-purchase"}
|
29
|
+
%i.in-app-purchase
|
30
|
+
In-App Purchase
|
31
|
+
|
32
|
+
%li.button
|
33
|
+
%a{href: "#passbook"}
|
34
|
+
%i.passbook
|
35
|
+
Passbook
|
36
|
+
|
37
|
+
|
38
|
+
|
23
39
|
|
24
40
|
%div{role: 'main'}
|
25
41
|
|
@@ -1,3 +1,11 @@
|
|
1
|
-
<
|
1
|
+
<div class="auxiliary">
|
2
|
+
<h2>Passes</h2>
|
2
3
|
|
3
|
-
<
|
4
|
+
<form class="filter">
|
5
|
+
<input type="text" placeholder="Filter Passes..." value=""/>
|
6
|
+
</form>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<div class="master">
|
10
|
+
<div id="datagrid"></div>
|
11
|
+
</div>
|
@@ -1,3 +1,11 @@
|
|
1
|
-
<
|
1
|
+
<div class="auxiliary">
|
2
|
+
<h2>Receipts</h2>
|
2
3
|
|
3
|
-
<
|
4
|
+
<form class="filter">
|
5
|
+
<input type="text" placeholder="Filter Receipts..." value=""/>
|
6
|
+
</form>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<div class="master">
|
10
|
+
<div id="datagrid"></div>
|
11
|
+
</div>
|