novacancy-rails 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c2168f3d7bfbdcf70738aa089d8f8e0918cc4515
4
+ data.tar.gz: 710f93275e14d86fb7040f62ee517ed70c40ba8b
5
+ SHA512:
6
+ metadata.gz: 97364610c8acc374efe07fc7376635bc18fc8f2018f9d3c89837a64ca57361766087f5fb9a19613d13257db679e30c7fe773aea9c0eee4c301825f26bf16e2eb
7
+ data.tar.gz: 5b5d7769dffbb203040e881bb2d38cf2d46611255747d018df9d815a22122ca7492c2fb90e7733d1efb0637332777118e44e63be4dc2a951c83ccb9151db122d
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2015 JosiahSiegel
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,31 @@
1
+ # Novacancy-Rails
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'novacancy-rails'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ Or install it yourself as:
18
+
19
+ $ gem install novacancy-rails
20
+
21
+ ## Usage
22
+
23
+ TODO: Write usage instructions here
24
+
25
+ ## Contributing
26
+
27
+ 1. Fork it ( https://github.com/[my-github-username]/novacancy-rails/fork )
28
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
29
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
30
+ 4. Push to the branch (`git push origin my-new-feature`)
31
+ 5. Create a new Pull Request
@@ -0,0 +1,8 @@
1
+ require "novacancy-rails/version"
2
+
3
+ module Novacancy
4
+ module Rails
5
+ class Engine < ::Rails::Engine
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ module Novacancy
2
+ module Rails
3
+ VERSION = "0.0.4"
4
+ end
5
+ end
@@ -0,0 +1,266 @@
1
+ /**
2
+ * Novacancy
3
+ * jQuery Text Blink Neon Golden effect Plugin
4
+ *
5
+ * @author Chuck Chang <eurt23@gmail.com>
6
+ * @github <https://github.com/chuckyglitch>
7
+ * @twitter <https://twitter.com/chuckyglitch>
8
+ *
9
+ * @repo https://github.com/chuckyglitch/novacancy.js
10
+ * @version 0.5
11
+ * @license MIT http://opensource.org/licenses/MIT
12
+ * @date 06-06-2014
13
+ */
14
+
15
+ ;(function($){
16
+ "use strict";
17
+
18
+ var Novacancy = function(el, settings) {
19
+ var _me = this;
20
+ var _el = $(el);
21
+ var _settings;
22
+ var _powerOn;
23
+ var _loopTimeout;
24
+ var _items;
25
+ var _blinkArr;
26
+
27
+ /* ------------------------- */
28
+
29
+ this.repeat = function() {
30
+ if (_el[0].novacancy) {
31
+ return true;
32
+ } else {
33
+ _el[0].novacancy = true;
34
+ return false;
35
+ }
36
+ };
37
+
38
+ this.writeCSS = function() {
39
+ var cssBuilder = _me.css();
40
+ var style = $('<style>'+cssBuilder+'</style>');
41
+ $('body').append(style);
42
+ };
43
+
44
+ this.selector = function() {
45
+ var selector = _el[0].tagName;
46
+ if (_el[0].id) selector += ("#" + _el[0].id);
47
+ if (_el[0].className) selector += ("." + _el[0].className);
48
+
49
+ return selector;
50
+ };
51
+
52
+ this.css = function() {
53
+ var selector = this.selector();
54
+
55
+ var colorOn = '';
56
+ var colorOff = '';
57
+ var textShadow = '';
58
+
59
+ if (_settings.color !== null) {
60
+ colorOn += ('color: '+_settings.color+';');
61
+ colorOff += ('color: '+_settings.color+'; opacity: 0.3;');
62
+ };
63
+
64
+ if (_settings.glow !== null) {
65
+ textShadow += ('text-shadow: '+_settings.glow.toString()+';');
66
+ colorOn += textShadow;
67
+ };
68
+
69
+ var css = '';
70
+ css += (selector+' .novacancy.'+_settings.classOn+' { '+colorOn+' }'+'\n');
71
+ css += (selector+' .novacancy.'+_settings.classOff+' { '+colorOff+' }'+'\n');
72
+
73
+ return css;
74
+ };
75
+
76
+ this.rand = function(min, max) {
77
+ return Math.floor(Math.random()*(max-min+1)+min);
78
+ };
79
+
80
+ this.blink = function(item) {
81
+ /* blink 1 time */
82
+ _me.off(item);
83
+ item[0].blinking = true;
84
+ setTimeout(function() {
85
+ _me.on(item);
86
+ item[0].blinking = false;
87
+ _me.reblink(item);
88
+ }, _me.rand(_settings.blinkMin, _settings.blinkMax) );
89
+ };
90
+
91
+ this.reblink = function (item) {
92
+ setTimeout(function() {
93
+ /* continue blink check */
94
+ if (_me.rand(1,100) <= _settings.reblinkProbability) {
95
+ _me.blink(item);
96
+ }
97
+ }, _me.rand(_settings.blinkMin, _settings.blinkMax) );
98
+ };
99
+
100
+ this.on = function(item) {
101
+ item.removeClass(_settings.classOff).addClass(_settings.classOn);
102
+ };
103
+
104
+ this.off = function(item) {
105
+ item.removeClass(_settings.classOn).addClass(_settings.classOff);
106
+ };
107
+
108
+ this.buildHTML = function() {
109
+ var htmlBuilder = '';
110
+
111
+ $.each(_el.contents(), function(index, value) {
112
+ if (value.nodeType == 3) { /* text */
113
+ var txts = value.nodeValue.split('');
114
+ $.each(txts, function(index, value) {
115
+ htmlBuilder += ( '<span class="novacancy '+_settings.classOn+'">'+value+'</span>' );
116
+ });
117
+ } else {
118
+ htmlBuilder += value.outerHTML;
119
+ }
120
+ });
121
+
122
+ return htmlBuilder;
123
+ };
124
+
125
+ this.arrayMake = function() {
126
+ var len = _items.length;
127
+ var randomArray = _me.randomArray(len);
128
+ var blinkArr;
129
+ var offArr;
130
+ var off = _settings.off;
131
+ var blink = _settings.blink;
132
+
133
+ /* off make */
134
+
135
+ off = Math.min(off, len);
136
+ off = Math.max(0, off);
137
+
138
+ offArr = randomArray.splice(0, off);
139
+
140
+ $.each(offArr, function(index, value) {
141
+ _me.off($(_items[value]));
142
+ });
143
+
144
+ /* blink array make */
145
+
146
+ blink = (blink===0) ? len : blink;
147
+ blink = Math.min(blink, len - off);
148
+ blink = Math.max(0, blink);
149
+
150
+ blinkArr = randomArray.splice(0, blink);
151
+
152
+ return blinkArr;
153
+ };
154
+
155
+ this.randomArray = function(n) {
156
+ var ary = [];
157
+ var i;
158
+ var r;
159
+ var t;
160
+
161
+ for (i = 0 ; i < n ; ++i) {
162
+ ary[i] = i;
163
+ }
164
+ for (i = 0 ; i < n ; ++i) {
165
+ r = parseInt((Math.random() * n), 10);
166
+ t = ary[r];
167
+ ary[r] = ary[i];
168
+ ary[i] = t;
169
+ }
170
+ return ary;
171
+ };
172
+
173
+ this.loop = function() {
174
+ if (!_powerOn) return;
175
+ if (_blinkArr.length===0) return;
176
+
177
+ var num;
178
+ var item;
179
+
180
+ num = _blinkArr[_me.rand(0, _blinkArr.length-1)];
181
+ item = $(_items[num]);
182
+
183
+ if (!item[0].blinking) _me.blink(item);
184
+
185
+ _loopTimeout = setTimeout(function() {
186
+ _me.loop();
187
+ }, _me.rand(_settings.loopMin, _settings.loopMax));
188
+ };
189
+
190
+ this.blinkOn = function() {
191
+ if (!_powerOn) {
192
+ _powerOn = true;
193
+ _loopTimeout = setTimeout(function() {
194
+ _me.loop();
195
+ }, _me.rand(_settings.loopMin, _settings.loopMax));
196
+ }
197
+ };
198
+
199
+ this.blinkOff = function() {
200
+ if (_powerOn) {
201
+ _powerOn = false;
202
+ clearTimeout(_loopTimeout);
203
+ }
204
+ };
205
+
206
+ this.bindEvent = function() {
207
+ _el.on('blinkOn', function(e) {
208
+ _me.blinkOn();
209
+ });
210
+
211
+ _el.on('blinkOff', function(e) {
212
+ _me.blinkOff();
213
+ });
214
+ };
215
+
216
+ /* ------------------------- */
217
+
218
+ if (_me.repeat()) return true; /* avoid repeat */
219
+
220
+ _settings = settings;
221
+ _powerOn = false;
222
+ _loopTimeout = 0;
223
+ _el.html(_me.buildHTML());
224
+ _items = _el.find('span.novacancy');
225
+ _blinkArr = _me.arrayMake();
226
+ _me.bindEvent();
227
+ _me.writeCSS();
228
+
229
+ if (_settings.autoOn) _me.blinkOn();
230
+
231
+ };
232
+
233
+ /* ------------------------- */
234
+
235
+ var settings = function(options){
236
+ var settings = $.extend({
237
+ 'reblinkProbability': (1/3),
238
+ 'blinkMin': 0.01,
239
+ 'blinkMax': 0.5,
240
+ 'loopMin': 0.5,
241
+ 'loopMax': 2,
242
+ 'color': 'ORANGE',
243
+ 'glow': ['0 0 80px Orange', '0 0 30px Red', '0 0 6px Yellow'],
244
+ 'off': 0,
245
+ 'blink': 0,
246
+ 'classOn': 'on',
247
+ 'classOff': 'off',
248
+ 'autoOn': true
249
+ }, options);
250
+
251
+ settings.reblinkProbability *= 100;
252
+ settings.blinkMin *= 1000;
253
+ settings.blinkMax *= 1000;
254
+ settings.loopMin *= 1000;
255
+ settings.loopMax *= 1000;
256
+
257
+ return settings;
258
+ };
259
+
260
+ $.fn.novacancy = function(options) {
261
+ return $.each(this, function(index, value) {
262
+ new Novacancy(this, settings(options));
263
+ });
264
+ };
265
+
266
+ })(jQuery);
@@ -0,0 +1 @@
1
+ (function(e){"use strict";var t=function(t,n){var r=this;var i=e(t);var s;var o;var u;var a;var f;this.repeat=function(){if(i[0].novacancy){return true}else{i[0].novacancy=true;return false}};this.writeCSS=function(){var t=r.css();var n=e("<style>"+t+"</style>");e("body").append(n)};this.selector=function(){var e=i[0].tagName;if(i[0].id)e+="#"+i[0].id;if(i[0].className)e+="."+i[0].className;return e};this.css=function(){var e=this.selector();var t="";var n="";var r="";if(s.color!==null){t+="color: "+s.color+";";n+="color: "+s.color+"; opacity: 0.3;"}if(s.glow!==null){r+="text-shadow: "+s.glow.toString()+";";t+=r}var i="";i+=e+" .novacancy."+s.classOn+" { "+t+" }"+"\n";i+=e+" .novacancy."+s.classOff+" { "+n+" }"+"\n";return i};this.rand=function(e,t){return Math.floor(Math.random()*(t-e+1)+e)};this.blink=function(e){r.off(e);e[0].blinking=true;setTimeout(function(){r.on(e);e[0].blinking=false;r.reblink(e)},r.rand(s.blinkMin,s.blinkMax))};this.reblink=function(e){setTimeout(function(){if(r.rand(1,100)<=s.reblinkProbability){r.blink(e)}},r.rand(s.blinkMin,s.blinkMax))};this.on=function(e){e.removeClass(s.classOff).addClass(s.classOn)};this.off=function(e){e.removeClass(s.classOn).addClass(s.classOff)};this.buildHTML=function(){var t="";e.each(i.contents(),function(n,r){if(r.nodeType==3){var i=r.nodeValue.split("");e.each(i,function(e,n){t+='<span class="novacancy '+s.classOn+'">'+n+"</span>"})}else{t+=r.outerHTML}});return t};this.arrayMake=function(){var t=a.length;var n=r.randomArray(t);var i;var o;var u=s.off;var f=s.blink;u=Math.min(u,t);u=Math.max(0,u);o=n.splice(0,u);e.each(o,function(t,n){r.off(e(a[n]))});f=f===0?t:f;f=Math.min(f,t-u);f=Math.max(0,f);i=n.splice(0,f);return i};this.randomArray=function(e){var t=[];var n;var r;var i;for(n=0;n<e;++n){t[n]=n}for(n=0;n<e;++n){r=parseInt(Math.random()*e,10);i=t[r];t[r]=t[n];t[n]=i}return t};this.loop=function(){if(!o)return;if(f.length===0)return;var t;var n;t=f[r.rand(0,f.length-1)];n=e(a[t]);if(!n[0].blinking)r.blink(n);u=setTimeout(function(){r.loop()},r.rand(s.loopMin,s.loopMax))};this.blinkOn=function(){if(!o){o=true;u=setTimeout(function(){r.loop()},r.rand(s.loopMin,s.loopMax))}};this.blinkOff=function(){if(o){o=false;clearTimeout(u)}};this.bindEvent=function(){i.on("blinkOn",function(e){r.blinkOn()});i.on("blinkOff",function(e){r.blinkOff()})};if(r.repeat())return true;s=n;o=false;u=0;i.html(r.buildHTML());a=i.find("span.novacancy");f=r.arrayMake();r.bindEvent();r.writeCSS();if(s.autoOn)r.blinkOn()};var n=function(t){var n=e.extend({reblinkProbability:1/3,blinkMin:.01,blinkMax:.5,loopMin:.5,loopMax:2,color:"ORANGE",glow:["0 0 80px Orange","0 0 30px Red","0 0 6px Yellow"],off:0,blink:0,classOn:"on",classOff:"off",autoOn:true},t);n.reblinkProbability*=100;n.blinkMin*=1e3;n.blinkMax*=1e3;n.loopMin*=1e3;n.loopMax*=1e3;return n};e.fn.novacancy=function(r){return e.each(this,function(e,i){new t(this,n(r))})}})(jQuery)
@@ -0,0 +1,20 @@
1
+ body {
2
+ background-color: #111111;
3
+ }
4
+
5
+ .board {
6
+ text-align: center;
7
+ border: 1px solid rgba(255,180,0,0.4);
8
+ border-radius: 4px;
9
+ width: 500px;
10
+ margin: 50px auto 0 auto;
11
+ padding: 20px;
12
+ background-color: #000;
13
+ }
14
+
15
+ .board p {
16
+ font-size: 75px;
17
+ font-family: 'Monoton', cursive;
18
+ color: #fff;
19
+ text-transform: uppercase;
20
+ }
@@ -0,0 +1,102 @@
1
+ /*
2
+ html5doctor.com Reset Stylesheet
3
+ v1.6.1
4
+ Last Updated: 2010-09-17
5
+ Author: Richard Clark - http://richclarkdesign.com
6
+ Twitter: @rich_clark
7
+ */
8
+
9
+ html, body, div, span, object, iframe,
10
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
11
+ abbr, address, cite, code,
12
+ del, dfn, em, img, ins, kbd, q, samp,
13
+ small, strong, sub, sup, var,
14
+ b, i,
15
+ dl, dt, dd, ol, ul, li,
16
+ fieldset, form, label, legend,
17
+ table, caption, tbody, tfoot, thead, tr, th, td,
18
+ article, aside, canvas, details, figcaption, figure,
19
+ footer, header, hgroup, menu, nav, section, summary,
20
+ time, mark, audio, video {
21
+ margin:0;
22
+ padding:0;
23
+ border:0;
24
+ outline:0;
25
+ font-size:100%;
26
+ vertical-align:baseline;
27
+ background:transparent;
28
+ }
29
+
30
+ body {
31
+ line-height:1;
32
+ }
33
+
34
+ article,aside,details,figcaption,figure,
35
+ footer,header,hgroup,menu,nav,section {
36
+ display:block;
37
+ }
38
+
39
+ nav ul {
40
+ list-style:none;
41
+ }
42
+
43
+ blockquote, q {
44
+ quotes:none;
45
+ }
46
+
47
+ blockquote:before, blockquote:after,
48
+ q:before, q:after {
49
+ content:'';
50
+ content:none;
51
+ }
52
+
53
+ a {
54
+ margin:0;
55
+ padding:0;
56
+ font-size:100%;
57
+ vertical-align:baseline;
58
+ background:transparent;
59
+ }
60
+
61
+ /* change colours to suit your needs */
62
+ ins {
63
+ background-color:#ff9;
64
+ color:#000;
65
+ text-decoration:none;
66
+ }
67
+
68
+ /* change colours to suit your needs */
69
+ mark {
70
+ background-color:#ff9;
71
+ color:#000;
72
+ font-style:italic;
73
+ font-weight:bold;
74
+ }
75
+
76
+ del {
77
+ text-decoration: line-through;
78
+ }
79
+
80
+ abbr[title], dfn[title] {
81
+ border-bottom:1px dotted;
82
+ cursor:help;
83
+ }
84
+
85
+ table {
86
+ border-collapse:collapse;
87
+ border-spacing:0;
88
+ }
89
+
90
+ /* change border colour to suit your needs */
91
+ hr {
92
+ display:block;
93
+ height:1px;
94
+ border:0;
95
+ border-top:1px solid #cccccc;
96
+ margin:1em 0;
97
+ padding:0;
98
+ }
99
+
100
+ input, select {
101
+ vertical-align:middle;
102
+ }
metadata ADDED
@@ -0,0 +1,80 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: novacancy-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.4
5
+ platform: ruby
6
+ authors:
7
+ - JosiahSiegel
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-03-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.7'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ description:
42
+ email:
43
+ - josiah0601@gmail.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - LICENSE.txt
49
+ - README.md
50
+ - lib/novacancy-rails.rb
51
+ - lib/novacancy-rails/version.rb
52
+ - vendor/assets/javascripts/jquery.novacancy.js
53
+ - vendor/assets/javascripts/jquery.novacancy.min.js
54
+ - vendor/assets/stylesheets/demo.css
55
+ - vendor/assets/stylesheets/html5reset-1.6.1.css
56
+ homepage:
57
+ licenses:
58
+ - MIT
59
+ metadata: {}
60
+ post_install_message:
61
+ rdoc_options: []
62
+ require_paths:
63
+ - lib
64
+ required_ruby_version: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ required_rubygems_version: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: '0'
74
+ requirements: []
75
+ rubyforge_project:
76
+ rubygems_version: 2.4.5
77
+ signing_key:
78
+ specification_version: 4
79
+ summary: novacancy.js for rails
80
+ test_files: []