memcached-manager 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/config.ru +3 -1
- metadata +5 -77
- data/.rspec +0 -2
- data/.travis.yml +0 -19
- data/CONTRIBUTING.md +0 -28
- data/Gemfile +0 -26
- data/Gemfile.lock +0 -143
- data/Rakefile +0 -59
- data/VERSION +0 -1
- data/features/api/create_memcached_key.feature +0 -6
- data/features/api/delete_memcached_key.feature +0 -6
- data/features/api/list_memcached_keys.feature +0 -6
- data/features/api/set_memcached_info.feature +0 -5
- data/features/api/show_memcached_key.feature +0 -10
- data/features/api/show_memcached_stats.feature +0 -5
- data/features/api/update_memcached_key.feature +0 -7
- data/features/step_definitions/api/create_memcached_key.rb +0 -21
- data/features/step_definitions/api/delete_memcached_key.rb +0 -7
- data/features/step_definitions/api/list_memcached_keys.rb +0 -16
- data/features/step_definitions/api/show_memcached_key.rb +0 -18
- data/features/step_definitions/api/show_memcached_stats.rb +0 -3
- data/features/step_definitions/api/update_memcached_key.rb +0 -18
- data/features/step_definitions/set_memcached_info.rb +0 -25
- data/features/step_definitions/webapp/create_memcached_key.rb +0 -10
- data/features/step_definitions/webapp/delete_memcached_key.rb +0 -16
- data/features/step_definitions/webapp/edit_memcached_key.rb +0 -3
- data/features/step_definitions/webapp/list_memcached_keys.rb +0 -4
- data/features/step_definitions/webapp/show_memcached_key.rb +0 -4
- data/features/step_definitions/webapp/show_memcached_stats.rb +0 -5
- data/features/support/env.rb +0 -28
- data/features/support/hooks.rb +0 -3
- data/features/webapp/create_memcached_key.feature +0 -9
- data/features/webapp/delete_memcached_key.feature +0 -8
- data/features/webapp/edit_memcached_key.feature +0 -9
- data/features/webapp/list_memcached_keys.feature +0 -8
- data/features/webapp/show_memcached_key.feature +0 -7
- data/features/webapp/show_memcached_stats.feature +0 -6
- data/lib/api.rb +0 -85
- data/lib/extensions.rb +0 -14
- data/lib/extensions/api_response.rb +0 -15
- data/lib/extensions/errors.rb +0 -19
- data/lib/extensions/memcached_connection.rb +0 -15
- data/lib/extensions/memcached_inspector.rb +0 -49
- data/lib/extensions/memcached_settings.rb +0 -18
- data/lib/public/images/glyphicons-halflings-white.png +0 -0
- data/lib/public/images/glyphicons-halflings.png +0 -0
- data/lib/public/javascripts/angular-resource.min.js +0 -10
- data/lib/public/javascripts/angular-ui-states.min.js +0 -7
- data/lib/public/javascripts/angular.min.js +0 -161
- data/lib/public/javascripts/angular/controllers.js +0 -89
- data/lib/public/javascripts/angular/routes.js +0 -66
- data/lib/public/javascripts/angular/services/notification.js +0 -16
- data/lib/public/javascripts/angular/services/resources.js +0 -20
- data/lib/public/javascripts/angular/services/response.js +0 -10
- data/lib/public/javascripts/application.js +0 -18
- data/lib/public/javascripts/jquery-1.9.1.min.js +0 -5
- data/lib/public/javascripts/noty/jquery.noty.js +0 -547
- data/lib/public/javascripts/noty/layouts/top.js +0 -34
- data/lib/public/javascripts/noty/themes/default.js +0 -156
- data/lib/public/javascripts/noty_config.js +0 -25
- data/lib/public/stylesheets/app.css +0 -50
- data/lib/public/stylesheets/base.css +0 -269
- data/lib/public/stylesheets/icons.css +0 -492
- data/lib/public/stylesheets/layout.css +0 -58
- data/lib/public/stylesheets/skeleton.css +0 -242
- data/lib/public/templates/edit.html.erb +0 -6
- data/lib/public/templates/keys.html.erb +0 -36
- data/lib/public/templates/new.html.erb +0 -6
- data/lib/public/templates/show.html.erb +0 -2
- data/lib/public/templates/stats.html.erb +0 -8
- data/lib/views/index.erb +0 -13
- data/lib/views/layout.erb +0 -52
- data/lib/webapp.rb +0 -14
- data/memcached-manager.gemspec +0 -152
@@ -1,58 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Skeleton V1.2
|
3
|
-
* Copyright 2011, Dave Gamache
|
4
|
-
* www.getskeleton.com
|
5
|
-
* Free to use under the MIT license.
|
6
|
-
* http://www.opensource.org/licenses/mit-license.php
|
7
|
-
* 6/20/2012
|
8
|
-
*/
|
9
|
-
|
10
|
-
/* Table of Content
|
11
|
-
==================================================
|
12
|
-
#Site Styles
|
13
|
-
#Page Styles
|
14
|
-
#Media Queries
|
15
|
-
#Font-Face */
|
16
|
-
|
17
|
-
/* #Site Styles
|
18
|
-
================================================== */
|
19
|
-
|
20
|
-
/* #Page Styles
|
21
|
-
================================================== */
|
22
|
-
|
23
|
-
/* #Media Queries
|
24
|
-
================================================== */
|
25
|
-
|
26
|
-
/* Smaller than standard 960 (devices and browsers) */
|
27
|
-
@media only screen and (max-width: 959px) {}
|
28
|
-
|
29
|
-
/* Tablet Portrait size to standard 960 (devices and browsers) */
|
30
|
-
@media only screen and (min-width: 768px) and (max-width: 959px) {}
|
31
|
-
|
32
|
-
/* All Mobile Sizes (devices and browser) */
|
33
|
-
@media only screen and (max-width: 767px) {}
|
34
|
-
|
35
|
-
/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
|
36
|
-
@media only screen and (min-width: 480px) and (max-width: 767px) {}
|
37
|
-
|
38
|
-
/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
|
39
|
-
@media only screen and (max-width: 479px) {}
|
40
|
-
|
41
|
-
|
42
|
-
/* #Font-Face
|
43
|
-
================================================== */
|
44
|
-
/* This is the proper syntax for an @font-face file
|
45
|
-
Just create a "fonts" folder at the root,
|
46
|
-
copy your FontName into code below and remove
|
47
|
-
comment brackets */
|
48
|
-
|
49
|
-
/* @font-face {
|
50
|
-
font-family: 'FontName';
|
51
|
-
src: url('../fonts/FontName.eot');
|
52
|
-
src: url('../fonts/FontName.eot?iefix') format('eot'),
|
53
|
-
url('../fonts/FontName.woff') format('woff'),
|
54
|
-
url('../fonts/FontName.ttf') format('truetype'),
|
55
|
-
url('../fonts/FontName.svg#webfontZam02nTh') format('svg');
|
56
|
-
font-weight: normal;
|
57
|
-
font-style: normal; }
|
58
|
-
*/
|
@@ -1,242 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Skeleton V1.2
|
3
|
-
* Copyright 2011, Dave Gamache
|
4
|
-
* www.getskeleton.com
|
5
|
-
* Free to use under the MIT license.
|
6
|
-
* http://www.opensource.org/licenses/mit-license.php
|
7
|
-
* 6/20/2012
|
8
|
-
*/
|
9
|
-
|
10
|
-
|
11
|
-
/* Table of Contents
|
12
|
-
==================================================
|
13
|
-
#Base 960 Grid
|
14
|
-
#Tablet (Portrait)
|
15
|
-
#Mobile (Portrait)
|
16
|
-
#Mobile (Landscape)
|
17
|
-
#Clearing */
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
/* #Base 960 Grid
|
22
|
-
================================================== */
|
23
|
-
|
24
|
-
.container { position: relative; width: 960px; margin: 0 auto; padding: 0; }
|
25
|
-
.container .column,
|
26
|
-
.container .columns { float: left; display: inline; margin-left: 10px; margin-right: 10px; }
|
27
|
-
.row { margin-bottom: 20px; }
|
28
|
-
|
29
|
-
/* Nested Column Classes */
|
30
|
-
.column.alpha, .columns.alpha { margin-left: 0; }
|
31
|
-
.column.omega, .columns.omega { margin-right: 0; }
|
32
|
-
|
33
|
-
/* Base Grid */
|
34
|
-
.container .one.column,
|
35
|
-
.container .one.columns { width: 40px; }
|
36
|
-
.container .two.columns { width: 100px; }
|
37
|
-
.container .three.columns { width: 160px; }
|
38
|
-
.container .four.columns { width: 220px; }
|
39
|
-
.container .five.columns { width: 280px; }
|
40
|
-
.container .six.columns { width: 340px; }
|
41
|
-
.container .seven.columns { width: 400px; }
|
42
|
-
.container .eight.columns { width: 460px; }
|
43
|
-
.container .nine.columns { width: 520px; }
|
44
|
-
.container .ten.columns { width: 580px; }
|
45
|
-
.container .eleven.columns { width: 640px; }
|
46
|
-
.container .twelve.columns { width: 700px; }
|
47
|
-
.container .thirteen.columns { width: 760px; }
|
48
|
-
.container .fourteen.columns { width: 820px; }
|
49
|
-
.container .fifteen.columns { width: 880px; }
|
50
|
-
.container .sixteen.columns { width: 940px; }
|
51
|
-
|
52
|
-
.container .one-third.column { width: 300px; }
|
53
|
-
.container .two-thirds.column { width: 620px; }
|
54
|
-
|
55
|
-
/* Offsets */
|
56
|
-
.container .offset-by-one { padding-left: 60px; }
|
57
|
-
.container .offset-by-two { padding-left: 120px; }
|
58
|
-
.container .offset-by-three { padding-left: 180px; }
|
59
|
-
.container .offset-by-four { padding-left: 240px; }
|
60
|
-
.container .offset-by-five { padding-left: 300px; }
|
61
|
-
.container .offset-by-six { padding-left: 360px; }
|
62
|
-
.container .offset-by-seven { padding-left: 420px; }
|
63
|
-
.container .offset-by-eight { padding-left: 480px; }
|
64
|
-
.container .offset-by-nine { padding-left: 540px; }
|
65
|
-
.container .offset-by-ten { padding-left: 600px; }
|
66
|
-
.container .offset-by-eleven { padding-left: 660px; }
|
67
|
-
.container .offset-by-twelve { padding-left: 720px; }
|
68
|
-
.container .offset-by-thirteen { padding-left: 780px; }
|
69
|
-
.container .offset-by-fourteen { padding-left: 840px; }
|
70
|
-
.container .offset-by-fifteen { padding-left: 900px; }
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
/* #Tablet (Portrait)
|
75
|
-
================================================== */
|
76
|
-
|
77
|
-
/* Note: Design for a width of 768px */
|
78
|
-
|
79
|
-
@media only screen and (min-width: 768px) and (max-width: 959px) {
|
80
|
-
.container { width: 768px; }
|
81
|
-
.container .column,
|
82
|
-
.container .columns { margin-left: 10px; margin-right: 10px; }
|
83
|
-
.column.alpha, .columns.alpha { margin-left: 0; margin-right: 10px; }
|
84
|
-
.column.omega, .columns.omega { margin-right: 0; margin-left: 10px; }
|
85
|
-
.alpha.omega { margin-left: 0; margin-right: 0; }
|
86
|
-
|
87
|
-
.container .one.column,
|
88
|
-
.container .one.columns { width: 28px; }
|
89
|
-
.container .two.columns { width: 76px; }
|
90
|
-
.container .three.columns { width: 124px; }
|
91
|
-
.container .four.columns { width: 172px; }
|
92
|
-
.container .five.columns { width: 220px; }
|
93
|
-
.container .six.columns { width: 268px; }
|
94
|
-
.container .seven.columns { width: 316px; }
|
95
|
-
.container .eight.columns { width: 364px; }
|
96
|
-
.container .nine.columns { width: 412px; }
|
97
|
-
.container .ten.columns { width: 460px; }
|
98
|
-
.container .eleven.columns { width: 508px; }
|
99
|
-
.container .twelve.columns { width: 556px; }
|
100
|
-
.container .thirteen.columns { width: 604px; }
|
101
|
-
.container .fourteen.columns { width: 652px; }
|
102
|
-
.container .fifteen.columns { width: 700px; }
|
103
|
-
.container .sixteen.columns { width: 748px; }
|
104
|
-
|
105
|
-
.container .one-third.column { width: 236px; }
|
106
|
-
.container .two-thirds.column { width: 492px; }
|
107
|
-
|
108
|
-
/* Offsets */
|
109
|
-
.container .offset-by-one { padding-left: 48px; }
|
110
|
-
.container .offset-by-two { padding-left: 96px; }
|
111
|
-
.container .offset-by-three { padding-left: 144px; }
|
112
|
-
.container .offset-by-four { padding-left: 192px; }
|
113
|
-
.container .offset-by-five { padding-left: 240px; }
|
114
|
-
.container .offset-by-six { padding-left: 288px; }
|
115
|
-
.container .offset-by-seven { padding-left: 336px; }
|
116
|
-
.container .offset-by-eight { padding-left: 384px; }
|
117
|
-
.container .offset-by-nine { padding-left: 432px; }
|
118
|
-
.container .offset-by-ten { padding-left: 480px; }
|
119
|
-
.container .offset-by-eleven { padding-left: 528px; }
|
120
|
-
.container .offset-by-twelve { padding-left: 576px; }
|
121
|
-
.container .offset-by-thirteen { padding-left: 624px; }
|
122
|
-
.container .offset-by-fourteen { padding-left: 672px; }
|
123
|
-
.container .offset-by-fifteen { padding-left: 720px; }
|
124
|
-
}
|
125
|
-
|
126
|
-
|
127
|
-
/* #Mobile (Portrait)
|
128
|
-
================================================== */
|
129
|
-
|
130
|
-
/* Note: Design for a width of 320px */
|
131
|
-
|
132
|
-
@media only screen and (max-width: 767px) {
|
133
|
-
.container { width: 300px; }
|
134
|
-
.container .columns,
|
135
|
-
.container .column { margin: 0; }
|
136
|
-
|
137
|
-
.container .one.column,
|
138
|
-
.container .one.columns,
|
139
|
-
.container .two.columns,
|
140
|
-
.container .three.columns,
|
141
|
-
.container .four.columns,
|
142
|
-
.container .five.columns,
|
143
|
-
.container .six.columns,
|
144
|
-
.container .seven.columns,
|
145
|
-
.container .eight.columns,
|
146
|
-
.container .nine.columns,
|
147
|
-
.container .ten.columns,
|
148
|
-
.container .eleven.columns,
|
149
|
-
.container .twelve.columns,
|
150
|
-
.container .thirteen.columns,
|
151
|
-
.container .fourteen.columns,
|
152
|
-
.container .fifteen.columns,
|
153
|
-
.container .sixteen.columns,
|
154
|
-
.container .one-third.column,
|
155
|
-
.container .two-thirds.column { width: 300px; }
|
156
|
-
|
157
|
-
/* Offsets */
|
158
|
-
.container .offset-by-one,
|
159
|
-
.container .offset-by-two,
|
160
|
-
.container .offset-by-three,
|
161
|
-
.container .offset-by-four,
|
162
|
-
.container .offset-by-five,
|
163
|
-
.container .offset-by-six,
|
164
|
-
.container .offset-by-seven,
|
165
|
-
.container .offset-by-eight,
|
166
|
-
.container .offset-by-nine,
|
167
|
-
.container .offset-by-ten,
|
168
|
-
.container .offset-by-eleven,
|
169
|
-
.container .offset-by-twelve,
|
170
|
-
.container .offset-by-thirteen,
|
171
|
-
.container .offset-by-fourteen,
|
172
|
-
.container .offset-by-fifteen { padding-left: 0; }
|
173
|
-
|
174
|
-
}
|
175
|
-
|
176
|
-
|
177
|
-
/* #Mobile (Landscape)
|
178
|
-
================================================== */
|
179
|
-
|
180
|
-
/* Note: Design for a width of 480px */
|
181
|
-
|
182
|
-
@media only screen and (min-width: 480px) and (max-width: 767px) {
|
183
|
-
.container { width: 420px; }
|
184
|
-
.container .columns,
|
185
|
-
.container .column { margin: 0; }
|
186
|
-
|
187
|
-
.container .one.column,
|
188
|
-
.container .one.columns,
|
189
|
-
.container .two.columns,
|
190
|
-
.container .three.columns,
|
191
|
-
.container .four.columns,
|
192
|
-
.container .five.columns,
|
193
|
-
.container .six.columns,
|
194
|
-
.container .seven.columns,
|
195
|
-
.container .eight.columns,
|
196
|
-
.container .nine.columns,
|
197
|
-
.container .ten.columns,
|
198
|
-
.container .eleven.columns,
|
199
|
-
.container .twelve.columns,
|
200
|
-
.container .thirteen.columns,
|
201
|
-
.container .fourteen.columns,
|
202
|
-
.container .fifteen.columns,
|
203
|
-
.container .sixteen.columns,
|
204
|
-
.container .one-third.column,
|
205
|
-
.container .two-thirds.column { width: 420px; }
|
206
|
-
}
|
207
|
-
|
208
|
-
|
209
|
-
/* #Clearing
|
210
|
-
================================================== */
|
211
|
-
|
212
|
-
/* Self Clearing Goodness */
|
213
|
-
.container:after { content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; }
|
214
|
-
|
215
|
-
/* Use clearfix class on parent to clear nested columns,
|
216
|
-
or wrap each row of columns in a <div class="row"> */
|
217
|
-
.clearfix:before,
|
218
|
-
.clearfix:after,
|
219
|
-
.row:before,
|
220
|
-
.row:after {
|
221
|
-
content: '\0020';
|
222
|
-
display: block;
|
223
|
-
overflow: hidden;
|
224
|
-
visibility: hidden;
|
225
|
-
width: 0;
|
226
|
-
height: 0; }
|
227
|
-
.row:after,
|
228
|
-
.clearfix:after {
|
229
|
-
clear: both; }
|
230
|
-
.row,
|
231
|
-
.clearfix {
|
232
|
-
zoom: 1; }
|
233
|
-
|
234
|
-
/* You can also use a <br class="clear" /> to clear columns */
|
235
|
-
.clear {
|
236
|
-
clear: both;
|
237
|
-
display: block;
|
238
|
-
overflow: hidden;
|
239
|
-
visibility: hidden;
|
240
|
-
width: 0;
|
241
|
-
height: 0;
|
242
|
-
}
|
@@ -1,36 +0,0 @@
|
|
1
|
-
<section>
|
2
|
-
<h3 ng-click="showKeys()">memcached manager</h3>
|
3
|
-
<hr>
|
4
|
-
<section id="key-menu">
|
5
|
-
<div id="key-text">
|
6
|
-
<h3>keys</h3>
|
7
|
-
</div><!-- key-text -->
|
8
|
-
|
9
|
-
<div id="key-new">
|
10
|
-
<a href="#/new" class="button">New key</a><!-- button -->
|
11
|
-
</div>
|
12
|
-
</section>
|
13
|
-
|
14
|
-
<div class="clear"></div>
|
15
|
-
|
16
|
-
<section id="key-keys">
|
17
|
-
<ul>
|
18
|
-
<li ng-repeat='key in keys' class="key">
|
19
|
-
<div class="key-info">
|
20
|
-
<div class="key-header">
|
21
|
-
<a class="key-title" href="#/key/{{ key.key }}">{{ key.key }}</a><!-- key-title -->
|
22
|
-
</div><!-- key-header -->
|
23
|
-
<div id="key-data">
|
24
|
-
Size: {{ key.bytes }}B
|
25
|
-
</div><!-- key-data -->
|
26
|
-
</div><!-- key-info -->
|
27
|
-
|
28
|
-
<div class="key-actions">
|
29
|
-
<a ng-click="removeKey(key)" class="icon-remove pointer" ng-controller="DeleteKeyController"></a>
|
30
|
-
<a href="#/edit/{{ key.key }}" class="icon-pencil"></a>
|
31
|
-
</div><!-- key-actions -->
|
32
|
-
</li><!-- key -->
|
33
|
-
</ul>
|
34
|
-
</section><!-- key-menu -->
|
35
|
-
<div class="clear"></div>
|
36
|
-
</section>
|
data/lib/views/index.erb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
<div class="container">
|
2
|
-
<div class="sixteen columns" style="margin-top: 40px;">
|
3
|
-
</div><!-- sixteen column -->
|
4
|
-
<div class="one-third column">
|
5
|
-
<div ui-view="keys"></div>
|
6
|
-
</div><!-- two-third column -->
|
7
|
-
<div class="two-third column">
|
8
|
-
<div ui-view="key"></div>
|
9
|
-
</div><!-- two-third column -->
|
10
|
-
</div><!-- container -->
|
11
|
-
|
12
|
-
<!-- This controller is used to bootstrap the application -->
|
13
|
-
<section ng-controller='BootstrapController'></section>
|
data/lib/views/layout.erb
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<!--[if lt IE 7 ]><html class="ie ie6" lang="en"> <![endif]-->
|
3
|
-
<!--[if IE 7 ]><html class="ie ie7" lang="en"> <![endif]-->
|
4
|
-
<!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]-->
|
5
|
-
<!--[if (gte IE 9)|!(IE)]><!--><html lang="en" ng-app="memcached-keys"> <!--<![endif]-->
|
6
|
-
<head>
|
7
|
-
|
8
|
-
<!-- Basic Page Needs
|
9
|
-
================================================== -->
|
10
|
-
<meta charset="utf-8">
|
11
|
-
<title>Memcached Manager</title>
|
12
|
-
<meta name="description" content="The ultimate memcached manager.">
|
13
|
-
|
14
|
-
<!-- Mobile Specific Metas
|
15
|
-
================================================== -->
|
16
|
-
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
17
|
-
|
18
|
-
<!-- CSS
|
19
|
-
================================================== -->
|
20
|
-
<link rel="stylesheet" href="stylesheets/base.css">
|
21
|
-
<link rel="stylesheet" href="stylesheets/skeleton.css">
|
22
|
-
<link rel="stylesheet" href="stylesheets/layout.css">
|
23
|
-
<link rel="stylesheet" href="stylesheets/layout.css">
|
24
|
-
<link rel="stylesheet" href="stylesheets/icons.css">
|
25
|
-
<link rel="stylesheet" href="stylesheets/app.css">
|
26
|
-
|
27
|
-
<!--[if lt IE 9]>
|
28
|
-
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
29
|
-
<![endif]-->
|
30
|
-
|
31
|
-
<!-- Favicons
|
32
|
-
================================================== -->
|
33
|
-
<link rel="shortcut icon" href="images/favicon.ico">
|
34
|
-
</head>
|
35
|
-
<body>
|
36
|
-
<%= yield %>
|
37
|
-
<script type='text/javascript' src='/javascripts/jquery-1.9.1.min.js'></script>
|
38
|
-
<script type='text/javascript' src='/javascripts/angular.min.js'></script>
|
39
|
-
<script type='text/javascript' src='/javascripts/angular-resource.min.js'></script>
|
40
|
-
<script type='text/javascript' src='/javascripts/angular-ui-states.min.js'></script>
|
41
|
-
<script type='text/javascript' src='/javascripts/application.js'></script>
|
42
|
-
<script type='text/javascript' src='/javascripts/angular/routes.js'></script>
|
43
|
-
<script type='text/javascript' src='/javascripts/angular/controllers.js'></script>
|
44
|
-
<script type='text/javascript' src='/javascripts/angular/services/notification.js'></script>
|
45
|
-
<script type='text/javascript' src='/javascripts/angular/services/response.js'></script>
|
46
|
-
<script type='text/javascript' src='/javascripts/angular/services/resources.js'></script>
|
47
|
-
<script type='text/javascript' src='/javascripts/noty/jquery.noty.js'></script>
|
48
|
-
<script type='text/javascript' src='/javascripts/noty/layouts/top.js'></script>
|
49
|
-
<script type='text/javascript' src='/javascripts/noty/themes/default.js'></script>
|
50
|
-
<script type='text/javascript' src='/javascripts/noty_config.js'></script>
|
51
|
-
</body>
|
52
|
-
</html>
|