o2webappizer 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/README.md +4 -9
  4. data/bin/o2webappizer +1 -1
  5. data/lib/o2webappizer.rb +1 -0
  6. data/lib/o2webappizer/app_builder.rb +167 -0
  7. data/lib/o2webappizer/generators/app_generator.rb +29 -0
  8. data/lib/o2webappizer/version.rb +1 -1
  9. data/templates/{dot_gitignore → .gitignore.tt} +4 -5
  10. data/templates/.ruby-version.tt +1 -0
  11. data/templates/Gemfile.tt +101 -0
  12. data/templates/README.md.tt +33 -0
  13. data/templates/app/assets/javascripts/app.js.coffee +7 -0
  14. data/templates/app/assets/javascripts/application.js.coffee +27 -0
  15. data/templates/app/assets/stylesheets/application.sass +20 -0
  16. data/templates/app/controllers/application_controller.rb +9 -0
  17. data/templates/app/controllers/cms/authenticate.rb.tt +38 -0
  18. data/templates/app/helpers/application_helper.rb +2 -0
  19. data/templates/app/helpers/spree/frontend_helper_decorator.rb +12 -0
  20. data/templates/app/mailers/application_mailer.rb +3 -0
  21. data/templates/app/views/layouts/application.html.erb.tt +27 -0
  22. data/templates/app/views/layouts/mailer.html.erb +1 -0
  23. data/templates/app/views/layouts/mailer.text.erb +1 -0
  24. data/templates/app/views/spree/layouts/spree_application.html.erb +37 -0
  25. data/templates/app/views/spree/shared/_head.html.erb +14 -0
  26. data/templates/app/views/spree/shared/_main_nav_bar.html.erb +18 -0
  27. data/templates/config/database.yml.tt +99 -0
  28. data/templates/config/initializers/assets.rb.tt +19 -0
  29. data/templates/config/initializers/devise.rb.tt +1 -0
  30. data/templates/config/initializers/lazyload.rb +3 -0
  31. data/templates/config/initializers/rails_admin.rb +101 -0
  32. data/templates/config/initializers/rails_admin_cms.rb +17 -0
  33. data/templates/config/initializers/rich.rb +142 -0
  34. data/templates/config/initializers/simple_form.rb +165 -0
  35. data/templates/config/initializers/simple_form_bootstrap.rb +149 -0
  36. data/templates/config/initializers/spree.rb +55 -0
  37. data/templates/config/locales/en.yml +7 -0
  38. data/templates/config/locales/routes.en.yml +3 -0
  39. data/templates/config/locales/simple_form.en.yml +31 -0
  40. data/templates/config/routes.rb.tt +68 -0
  41. data/templates/config/secrets.yml.tt +28 -0
  42. data/templates/public/404.html +67 -0
  43. data/templates/public/422.html +67 -0
  44. data/templates/public/500.html +66 -0
  45. data/templates/public/favicon.ico +0 -0
  46. data/templates/public/images/full/missing.png +0 -0
  47. data/templates/public/images/huge/missing.png +0 -0
  48. data/templates/public/images/large/missing.png +0 -0
  49. data/templates/public/images/loading.gif +0 -0
  50. data/templates/public/images/medium/missing.png +0 -0
  51. data/templates/public/images/mini/missing.png +0 -0
  52. data/templates/public/images/original/missing.png +0 -0
  53. data/templates/public/images/rich_thumb/missing.png +0 -0
  54. data/templates/public/images/small/missing.png +0 -0
  55. data/templates/public/images/thumb/missing.png +0 -0
  56. data/templates/public/robots.txt.tt +15 -0
  57. data/templates/vendor/assets/javascripts/jquery.lazyload.js +242 -0
  58. data/templates/vendor/assets/javascripts/modernizr.js +3 -0
  59. data/templates/vendor/assets/javascripts/spree/backend/all.js +11 -0
  60. data/templates/vendor/assets/javascripts/spree/frontend/all.js +13 -0
  61. data/templates/vendor/assets/stylesheets/nprogress-variables.sass +3 -0
  62. data/templates/vendor/assets/stylesheets/spree/backend/all.css +10 -0
  63. data/templates/vendor/assets/stylesheets/spree/frontend/all.css +12 -0
  64. metadata +58 -3
@@ -0,0 +1,242 @@
1
+ /*!
2
+ * Lazy Load - jQuery plugin for lazy loading images
3
+ *
4
+ * Copyright (c) 2007-2015 Mika Tuupola
5
+ *
6
+ * Licensed under the MIT license:
7
+ * http://www.opensource.org/licenses/mit-license.php
8
+ *
9
+ * Project home:
10
+ * http://www.appelsiini.net/projects/lazyload
11
+ *
12
+ * Version: 1.9.7
13
+ *
14
+ */
15
+
16
+ (function($, window, document, undefined) {
17
+ var $window = $(window);
18
+
19
+ $.fn.lazyload = function(options) {
20
+ var elements = this;
21
+ var $container;
22
+ var settings = {
23
+ threshold : 0,
24
+ failure_limit : 0,
25
+ event : "scroll",
26
+ effect : "show",
27
+ container : window,
28
+ data_attribute : "original",
29
+ skip_invisible : false,
30
+ appear : null,
31
+ load : null,
32
+ placeholder : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"
33
+ };
34
+
35
+ function update() {
36
+ var counter = 0;
37
+
38
+ elements.each(function() {
39
+ var $this = $(this);
40
+ if (settings.skip_invisible && !$this.is(":visible")) {
41
+ return;
42
+ }
43
+ if ($.abovethetop(this, settings) ||
44
+ $.leftofbegin(this, settings)) {
45
+ /* Nothing. */
46
+ } else if (!$.belowthefold(this, settings) &&
47
+ !$.rightoffold(this, settings)) {
48
+ $this.trigger("appear");
49
+ /* if we found an image we'll load, reset the counter */
50
+ counter = 0;
51
+ } else {
52
+ if (++counter > settings.failure_limit) {
53
+ return false;
54
+ }
55
+ }
56
+ });
57
+
58
+ }
59
+
60
+ if(options) {
61
+ /* Maintain BC for a couple of versions. */
62
+ if (undefined !== options.failurelimit) {
63
+ options.failure_limit = options.failurelimit;
64
+ delete options.failurelimit;
65
+ }
66
+ if (undefined !== options.effectspeed) {
67
+ options.effect_speed = options.effectspeed;
68
+ delete options.effectspeed;
69
+ }
70
+
71
+ $.extend(settings, options);
72
+ }
73
+
74
+ /* Cache container as jQuery as object. */
75
+ $container = (settings.container === undefined ||
76
+ settings.container === window) ? $window : $(settings.container);
77
+
78
+ /* Fire one scroll event per scroll. Not one scroll event per image. */
79
+ if (0 === settings.event.indexOf("scroll")) {
80
+ $container.bind(settings.event, function() {
81
+ return update();
82
+ });
83
+ }
84
+
85
+ this.each(function() {
86
+ var self = this;
87
+ var $self = $(self);
88
+
89
+ self.loaded = false;
90
+
91
+ /* If no src attribute given use data:uri. */
92
+ if ($self.attr("src") === undefined || $self.attr("src") === false) {
93
+ if ($self.is("img")) {
94
+ $self.attr("src", settings.placeholder);
95
+ }
96
+ }
97
+
98
+ /* When appear is triggered load original image. */
99
+ $self.one("appear", function() {
100
+ if (!this.loaded) {
101
+ if (settings.appear) {
102
+ var elements_left = elements.length;
103
+ settings.appear.call(self, elements_left, settings);
104
+ }
105
+ $("<img />")
106
+ .bind("load", function() {
107
+
108
+ var original = $self.attr("data-" + settings.data_attribute);
109
+ $self.hide();
110
+ if ($self.is("img")) {
111
+ $self.attr("src", original);
112
+ } else {
113
+ $self.css("background-image", "url('" + original + "')");
114
+ }
115
+ $self[settings.effect](settings.effect_speed);
116
+
117
+ self.loaded = true;
118
+
119
+ /* Remove image from array so it is not looped next time. */
120
+ var temp = $.grep(elements, function(element) {
121
+ return !element.loaded;
122
+ });
123
+ elements = $(temp);
124
+
125
+ if (settings.load) {
126
+ var elements_left = elements.length;
127
+ settings.load.call(self, elements_left, settings);
128
+ }
129
+ })
130
+ .attr("src", $self.attr("data-" + settings.data_attribute));
131
+ }
132
+ });
133
+
134
+ /* When wanted event is triggered load original image */
135
+ /* by triggering appear. */
136
+ if (0 !== settings.event.indexOf("scroll")) {
137
+ $self.bind(settings.event, function() {
138
+ if (!self.loaded) {
139
+ $self.trigger("appear");
140
+ }
141
+ });
142
+ }
143
+ });
144
+
145
+ /* Check if something appears when window is resized. */
146
+ $window.bind("resize", function() {
147
+ update();
148
+ });
149
+
150
+ /* With IOS5 force loading images when navigating with back button. */
151
+ /* Non optimal workaround. */
152
+ if ((/(?:iphone|ipod|ipad).*os 5/gi).test(navigator.appVersion)) {
153
+ $window.bind("pageshow", function(event) {
154
+ if (event.originalEvent && event.originalEvent.persisted) {
155
+ elements.each(function() {
156
+ $(this).trigger("appear");
157
+ });
158
+ }
159
+ });
160
+ }
161
+
162
+ /* Force initial check if images should appear. */
163
+ $(document).ready(function() {
164
+ update();
165
+ });
166
+
167
+ return this;
168
+ };
169
+
170
+ /* Convenience methods in jQuery namespace. */
171
+ /* Use as $.belowthefold(element, {threshold : 100, container : window}) */
172
+
173
+ $.belowthefold = function(element, settings) {
174
+ var fold;
175
+
176
+ if (settings.container === undefined || settings.container === window) {
177
+ fold = (window.innerHeight ? window.innerHeight : $window.height()) + $window.scrollTop();
178
+ } else {
179
+ fold = $(settings.container).offset().top + $(settings.container).height();
180
+ }
181
+
182
+ return fold <= $(element).offset().top - settings.threshold;
183
+ };
184
+
185
+ $.rightoffold = function(element, settings) {
186
+ var fold;
187
+
188
+ if (settings.container === undefined || settings.container === window) {
189
+ fold = $window.width() + $window.scrollLeft();
190
+ } else {
191
+ fold = $(settings.container).offset().left + $(settings.container).width();
192
+ }
193
+
194
+ return fold <= $(element).offset().left - settings.threshold;
195
+ };
196
+
197
+ $.abovethetop = function(element, settings) {
198
+ var fold;
199
+
200
+ if (settings.container === undefined || settings.container === window) {
201
+ fold = $window.scrollTop();
202
+ } else {
203
+ fold = $(settings.container).offset().top;
204
+ }
205
+
206
+ return fold >= $(element).offset().top + settings.threshold + $(element).height();
207
+ };
208
+
209
+ $.leftofbegin = function(element, settings) {
210
+ var fold;
211
+
212
+ if (settings.container === undefined || settings.container === window) {
213
+ fold = $window.scrollLeft();
214
+ } else {
215
+ fold = $(settings.container).offset().left;
216
+ }
217
+
218
+ return fold >= $(element).offset().left + settings.threshold + $(element).width();
219
+ };
220
+
221
+ $.inviewport = function(element, settings) {
222
+ return !$.rightoffold(element, settings) && !$.leftofbegin(element, settings) &&
223
+ !$.belowthefold(element, settings) && !$.abovethetop(element, settings);
224
+ };
225
+
226
+ /* Custom selectors for your convenience. */
227
+ /* Use as $("img:below-the-fold").something() or */
228
+ /* $("img").filter(":below-the-fold").something() which is faster */
229
+
230
+ $.extend($.expr[":"], {
231
+ "below-the-fold" : function(a) { return $.belowthefold(a, {threshold : 0}); },
232
+ "above-the-top" : function(a) { return !$.belowthefold(a, {threshold : 0}); },
233
+ "right-of-screen": function(a) { return $.rightoffold(a, {threshold : 0}); },
234
+ "left-of-screen" : function(a) { return !$.rightoffold(a, {threshold : 0}); },
235
+ "in-viewport" : function(a) { return $.inviewport(a, {threshold : 0}); },
236
+ /* Maintain BC for couple of versions. */
237
+ "above-the-fold" : function(a) { return !$.belowthefold(a, {threshold : 0}); },
238
+ "right-of-fold" : function(a) { return $.rightoffold(a, {threshold : 0}); },
239
+ "left-of-fold" : function(a) { return !$.rightoffold(a, {threshold : 0}); }
240
+ });
241
+
242
+ })(jQuery, window, document);
@@ -0,0 +1,3 @@
1
+ /*! modernizr 3.2.0 (Custom Build) | MIT *
2
+ * http://modernizr.com/download/?-boxshadow-checked-csscolumns-csstransforms-csstransforms3d-csstransitions-generatedcontent-placeholder-smil-svg-touchevents-domprefixes-prefixed-prefixes-printshiv-testallprops-testprop-teststyles !*/
3
+ !function(e,t,n){function r(e,t){return typeof e===t}function o(){var e,t,n,o,i,a,s;for(var u in g)if(g.hasOwnProperty(u)){if(e=[],t=g[u],t.name&&(e.push(t.name.toLowerCase()),t.options&&t.options.aliases&&t.options.aliases.length))for(n=0;n<t.options.aliases.length;n++)e.push(t.options.aliases[n].toLowerCase());for(o=r(t.fn,"function")?t.fn():t.fn,i=0;i<e.length;i++)a=e[i],s=a.split("."),1===s.length?Modernizr[s[0]]=o:(!Modernizr[s[0]]||Modernizr[s[0]]instanceof Boolean||(Modernizr[s[0]]=new Boolean(Modernizr[s[0]])),Modernizr[s[0]][s[1]]=o),x.push((o?"":"no-")+s.join("-"))}}function i(e){return e.replace(/([a-z])-([a-z])/g,function(e,t,n){return t+n.toUpperCase()}).replace(/^-/,"")}function a(){return"function"!=typeof t.createElement?t.createElement(arguments[0]):C?t.createElementNS.call(t,"http://www.w3.org/2000/svg",arguments[0]):t.createElement.apply(t,arguments)}function s(e,t){return!!~(""+e).indexOf(t)}function u(){var e=t.body;return e||(e=a(C?"svg":"body"),e.fake=!0),e}function l(e,n,r,o){var i,s,l,c,f="modernizr",d=a("div"),p=u();if(parseInt(r,10))for(;r--;)l=a("div"),l.id=o?o[r]:f+(r+1),d.appendChild(l);return i=a("style"),i.type="text/css",i.id="s"+f,(p.fake?p:d).appendChild(i),p.appendChild(d),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(t.createTextNode(e)),d.id=f,p.fake&&(p.style.background="",p.style.overflow="hidden",c=w.style.overflow,w.style.overflow="hidden",w.appendChild(p)),s=n(d,e),p.fake?(p.parentNode.removeChild(p),w.style.overflow=c,w.offsetHeight):d.parentNode.removeChild(d),!!s}function c(e,t){return function(){return e.apply(t,arguments)}}function f(e,t,n){var o;for(var i in e)if(e[i]in t)return n===!1?e[i]:(o=t[e[i]],r(o,"function")?c(o,n||t):o);return!1}function d(e){return e.replace(/([A-Z])/g,function(e,t){return"-"+t.toLowerCase()}).replace(/^ms-/,"-ms-")}function p(t,r){var o=t.length;if("CSS"in e&&"supports"in e.CSS){for(;o--;)if(e.CSS.supports(d(t[o]),r))return!0;return!1}if("CSSSupportsRule"in e){for(var i=[];o--;)i.push("("+d(t[o])+":"+r+")");return i=i.join(" or "),l("@supports ("+i+") { #modernizr { position: absolute; } }",function(e){return"absolute"==getComputedStyle(e,null).position})}return n}function m(e,t,o,u){function l(){f&&(delete P.style,delete P.modElem)}if(u=r(u,"undefined")?!1:u,!r(o,"undefined")){var c=p(e,o);if(!r(c,"undefined"))return c}for(var f,d,m,h,v,g=["modernizr","tspan"];!P.style;)f=!0,P.modElem=a(g.shift()),P.style=P.modElem.style;for(m=e.length,d=0;m>d;d++)if(h=e[d],v=P.style[h],s(h,"-")&&(h=i(h)),P.style[h]!==n){if(u||r(o,"undefined"))return l(),"pfx"==t?h:!0;try{P.style[h]=o}catch(y){}if(P.style[h]!=v)return l(),"pfx"==t?h:!0}return l(),!1}function h(e,t,n,o,i){var a=e.charAt(0).toUpperCase()+e.slice(1),s=(e+" "+N.join(a+" ")+a).split(" ");return r(t,"string")||r(t,"undefined")?m(s,t,o,i):(s=(e+" "+E.join(a+" ")+a).split(" "),f(s,t,n))}function v(e,t,r){return h(e,n,n,t,r)}var g=[],y={_version:"3.2.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,t){var n=this;setTimeout(function(){t(n[e])},0)},addTest:function(e,t,n){g.push({name:e,fn:t,options:n})},addAsyncTest:function(e){g.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=y,Modernizr=new Modernizr,Modernizr.addTest("svg",!!t.createElementNS&&!!t.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect);var S=y._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):[];y._prefixes=S;var x=[],b="Moz O ms Webkit",E=y._config.usePrefixes?b.toLowerCase().split(" "):[];y._domPrefixes=E;var w=t.documentElement,C="svg"===w.nodeName.toLowerCase();C||!function(e,t){function n(e,t){var n=e.createElement("p"),r=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x<style>"+t+"</style>",r.insertBefore(n.lastChild,r.firstChild)}function r(){var e=C.elements;return"string"==typeof e?e.split(" "):e}function o(e,t){var n=C.elements;"string"!=typeof n&&(n=n.join(" ")),"string"!=typeof e&&(e=e.join(" ")),C.elements=n+" "+e,l(t)}function i(e){var t=w[e[b]];return t||(t={},E++,e[b]=E,w[E]=t),t}function a(e,n,r){if(n||(n=t),v)return n.createElement(e);r||(r=i(n));var o;return o=r.cache[e]?r.cache[e].cloneNode():x.test(e)?(r.cache[e]=r.createElem(e)).cloneNode():r.createElem(e),!o.canHaveChildren||S.test(e)||o.tagUrn?o:r.frag.appendChild(o)}function s(e,n){if(e||(e=t),v)return e.createDocumentFragment();n=n||i(e);for(var o=n.frag.cloneNode(),a=0,s=r(),u=s.length;u>a;a++)o.createElement(s[a]);return o}function u(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag()),e.createElement=function(n){return C.shivMethods?a(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+r().join().replace(/[\w\-:]+/g,function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'})+");return n}")(C,t.frag)}function l(e){e||(e=t);var r=i(e);return!C.shivCSS||h||r.hasCSS||(r.hasCSS=!!n(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),v||u(e,r),e}function c(e){for(var t,n=e.getElementsByTagName("*"),o=n.length,i=RegExp("^(?:"+r().join("|")+")$","i"),a=[];o--;)t=n[o],i.test(t.nodeName)&&a.push(t.applyElement(f(t)));return a}function f(e){for(var t,n=e.attributes,r=n.length,o=e.ownerDocument.createElement(k+":"+e.nodeName);r--;)t=n[r],t.specified&&o.setAttribute(t.nodeName,t.nodeValue);return o.style.cssText=e.style.cssText,o}function d(e){for(var t,n=e.split("{"),o=n.length,i=RegExp("(^|[\\s,>+~])("+r().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),a="$1"+k+"\\:$2";o--;)t=n[o]=n[o].split("}"),t[t.length-1]=t[t.length-1].replace(i,a),n[o]=t.join("}");return n.join("{")}function p(e){for(var t=e.length;t--;)e[t].removeNode()}function m(e){function t(){clearTimeout(a._removeSheetTimer),r&&r.removeNode(!0),r=null}var r,o,a=i(e),s=e.namespaces,u=e.parentWindow;return!_||e.printShived?e:("undefined"==typeof s[k]&&s.add(k),u.attachEvent("onbeforeprint",function(){t();for(var i,a,s,u=e.styleSheets,l=[],f=u.length,p=Array(f);f--;)p[f]=u[f];for(;s=p.pop();)if(!s.disabled&&T.test(s.media)){try{i=s.imports,a=i.length}catch(m){a=0}for(f=0;a>f;f++)p.push(i[f]);try{l.push(s.cssText)}catch(m){}}l=d(l.reverse().join("")),o=c(e),r=n(e,l)}),u.attachEvent("onafterprint",function(){p(o),clearTimeout(a._removeSheetTimer),a._removeSheetTimer=setTimeout(t,500)}),e.printShived=!0,e)}var h,v,g="3.7.3",y=e.html5||{},S=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,x=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,b="_html5shiv",E=0,w={};!function(){try{var e=t.createElement("a");e.innerHTML="<xyz></xyz>",h="hidden"in e,v=1==e.childNodes.length||function(){t.createElement("a");var e=t.createDocumentFragment();return"undefined"==typeof e.cloneNode||"undefined"==typeof e.createDocumentFragment||"undefined"==typeof e.createElement}()}catch(n){h=!0,v=!0}}();var C={elements:y.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:g,shivCSS:y.shivCSS!==!1,supportsUnknownElements:v,shivMethods:y.shivMethods!==!1,type:"default",shivDocument:l,createElement:a,createDocumentFragment:s,addElements:o};e.html5=C,l(t);var T=/^$|\b(?:all|print)\b/,k="html5shiv",_=!v&&function(){var n=t.documentElement;return!("undefined"==typeof t.namespaces||"undefined"==typeof t.parentWindow||"undefined"==typeof n.applyElement||"undefined"==typeof n.removeNode||"undefined"==typeof e.attachEvent)}();C.type+=" print",C.shivPrint=m,m(t),"object"==typeof module&&module.exports&&(module.exports=C)}("undefined"!=typeof e?e:this,t),Modernizr.addTest("placeholder","placeholder"in a("input")&&"placeholder"in a("textarea"));var T="CSS"in e&&"supports"in e.CSS,k="supportsCSS"in e;Modernizr.addTest("supports",T||k);var _={}.toString;Modernizr.addTest("smil",function(){return!!t.createElementNS&&/SVGAnimate/.test(_.call(t.createElementNS("http://www.w3.org/2000/svg","animate")))});var N=y._config.usePrefixes?b.split(" "):[];y._cssomPrefixes=N;var z=function(t){var r,o=S.length,i=e.CSSRule;if("undefined"==typeof i)return n;if(!t)return!1;if(t=t.replace(/^@/,""),r=t.replace(/-/g,"_").toUpperCase()+"_RULE",r in i)return"@"+t;for(var a=0;o>a;a++){var s=S[a],u=s.toUpperCase()+"_"+r;if(u in i)return"@-"+s.toLowerCase()+"-"+t}return!1};y.atRule=z;var j=y.testStyles=l;Modernizr.addTest("touchevents",function(){var n;if("ontouchstart"in e||e.DocumentTouch&&t instanceof DocumentTouch)n=!0;else{var r=["@media (",S.join("touch-enabled),("),"heartz",")","{#modernizr{top:9px;position:absolute}}"].join("");j(r,function(e){n=9===e.offsetTop})}return n}),Modernizr.addTest("checked",function(){return j("#modernizr {position:absolute} #modernizr input {margin-left:10px} #modernizr :checked {margin-left:20px;display:block}",function(e){var t=a("input");return t.setAttribute("type","checkbox"),t.setAttribute("checked","checked"),e.appendChild(t),20===t.offsetLeft})}),j('#modernizr{font:0/0 a}#modernizr:after{content:":)";visibility:hidden;font:7px/1 a}',function(e){Modernizr.addTest("generatedcontent",e.offsetHeight>=7)});var A={elem:a("modernizr")};Modernizr._q.push(function(){delete A.elem});var P={style:A.elem.style};Modernizr._q.unshift(function(){delete P.style});y.testProp=function(e,t,r){return m([e],n,t,r)};y.testAllProps=h;y.prefixed=function(e,t,n){return 0===e.indexOf("@")?z(e):(-1!=e.indexOf("-")&&(e=i(e)),t?h(e,t,n):h(e,"pfx"))};y.testAllProps=v,Modernizr.addTest("boxshadow",v("boxShadow","1px 1px",!0)),function(){Modernizr.addTest("csscolumns",function(){var e=!1,t=v("columnCount");try{(e=!!t)&&(e=new Boolean(e))}catch(n){}return e});for(var e,t,n=["Width","Span","Fill","Gap","Rule","RuleColor","RuleStyle","RuleWidth","BreakBefore","BreakAfter","BreakInside"],r=0;r<n.length;r++)e=n[r].toLowerCase(),t=v("column"+n[r]),("breakbefore"===e||"breakafter"===e||"breakinside"==e)&&(t=t||v(n[r])),Modernizr.addTest("csscolumns."+e,t)}(),Modernizr.addTest("csstransforms",function(){return-1===navigator.userAgent.indexOf("Android 2.")&&v("transform","scale(1)",!0)}),Modernizr.addTest("csstransforms3d",function(){var e=!!v("perspective","1px",!0),t=Modernizr._config.usePrefixes;if(e&&(!t||"webkitPerspective"in w.style)){var n,r="#modernizr{width:0;height:0}";Modernizr.supports?n="@supports (perspective: 1px)":(n="@media (transform-3d)",t&&(n+=",(-webkit-transform-3d)")),n+="{#modernizr{width:7px;height:18px;margin:0;padding:0;border:0}}",j(r+n,function(t){e=7===t.offsetWidth&&18===t.offsetHeight})}return e}),Modernizr.addTest("csstransitions",v("transition","all",!0)),o(),delete y.addTest,delete y.addAsyncTest;for(var F=0;F<Modernizr._q.length;F++)Modernizr._q[F]();e.Modernizr=Modernizr}(window,document);
@@ -0,0 +1,11 @@
1
+ // This is a manifest file that'll be compiled into including all the files listed below.
2
+ // Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
3
+ // be included in the compiled file accessible from http://example.com/assets/application.js
4
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
5
+ // the compiled file.
6
+ //
7
+ //= require jquery
8
+ //= require jquery_ujs
9
+ //= require spree/backend
10
+
11
+ //= require_tree .
@@ -0,0 +1,13 @@
1
+ // This is a manifest file that'll be compiled into including all the files listed below.
2
+ // Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
3
+ // be included in the compiled file accessible from http://example.com/assets/application.js
4
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
5
+ // the compiled file.
6
+ //
7
+ //= require jquery
8
+ //= require jquery_ujs
9
+ //= require spree/frontend
10
+
11
+ //= require application
12
+
13
+ //= require_tree .
@@ -0,0 +1,3 @@
1
+ //$nprogress-color: #29d
2
+ //$nprogress-height: 5px
3
+ //$nprogress-zindex: 100
@@ -0,0 +1,10 @@
1
+ /*
2
+ * This is a manifest file that'll automatically include all the stylesheets available in this directory
3
+ * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
4
+ * the top of the compiled file, but it's generally better to create a new file per style scope.
5
+ *
6
+ *= require spree/backend
7
+
8
+ *= require_self
9
+ *= require_tree .
10
+ */
@@ -0,0 +1,12 @@
1
+ /*
2
+ * This is a manifest file that'll automatically include all the stylesheets available in this directory
3
+ * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
4
+ * the top of the compiled file, but it's generally better to create a new file per style scope.
5
+ *
6
+ *= require spree/frontend
7
+
8
+ *= require application
9
+
10
+ *= require_self
11
+ *= require_tree .
12
+ */
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: o2webappizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrice Lebel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-06 00:00:00.000000000 Z
11
+ date: 2016-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -86,7 +86,61 @@ files:
86
86
  - lib/o2webappizer/generators/app_generator.rb
87
87
  - lib/o2webappizer/version.rb
88
88
  - o2webappizer.gemspec
89
- - templates/dot_gitignore
89
+ - templates/.gitignore.tt
90
+ - templates/.ruby-version.tt
91
+ - templates/Gemfile.tt
92
+ - templates/README.md.tt
93
+ - templates/app/assets/javascripts/app.js.coffee
94
+ - templates/app/assets/javascripts/application.js.coffee
95
+ - templates/app/assets/stylesheets/application.sass
96
+ - templates/app/controllers/application_controller.rb
97
+ - templates/app/controllers/cms/authenticate.rb.tt
98
+ - templates/app/helpers/application_helper.rb
99
+ - templates/app/helpers/spree/frontend_helper_decorator.rb
100
+ - templates/app/mailers/application_mailer.rb
101
+ - templates/app/views/layouts/application.html.erb.tt
102
+ - templates/app/views/layouts/mailer.html.erb
103
+ - templates/app/views/layouts/mailer.text.erb
104
+ - templates/app/views/spree/layouts/spree_application.html.erb
105
+ - templates/app/views/spree/shared/_head.html.erb
106
+ - templates/app/views/spree/shared/_main_nav_bar.html.erb
107
+ - templates/config/database.yml.tt
108
+ - templates/config/initializers/assets.rb.tt
109
+ - templates/config/initializers/devise.rb.tt
110
+ - templates/config/initializers/lazyload.rb
111
+ - templates/config/initializers/rails_admin.rb
112
+ - templates/config/initializers/rails_admin_cms.rb
113
+ - templates/config/initializers/rich.rb
114
+ - templates/config/initializers/simple_form.rb
115
+ - templates/config/initializers/simple_form_bootstrap.rb
116
+ - templates/config/initializers/spree.rb
117
+ - templates/config/locales/en.yml
118
+ - templates/config/locales/routes.en.yml
119
+ - templates/config/locales/simple_form.en.yml
120
+ - templates/config/routes.rb.tt
121
+ - templates/config/secrets.yml.tt
122
+ - templates/public/404.html
123
+ - templates/public/422.html
124
+ - templates/public/500.html
125
+ - templates/public/favicon.ico
126
+ - templates/public/images/full/missing.png
127
+ - templates/public/images/huge/missing.png
128
+ - templates/public/images/large/missing.png
129
+ - templates/public/images/loading.gif
130
+ - templates/public/images/medium/missing.png
131
+ - templates/public/images/mini/missing.png
132
+ - templates/public/images/original/missing.png
133
+ - templates/public/images/rich_thumb/missing.png
134
+ - templates/public/images/small/missing.png
135
+ - templates/public/images/thumb/missing.png
136
+ - templates/public/robots.txt.tt
137
+ - templates/vendor/assets/javascripts/jquery.lazyload.js
138
+ - templates/vendor/assets/javascripts/modernizr.js
139
+ - templates/vendor/assets/javascripts/spree/backend/all.js
140
+ - templates/vendor/assets/javascripts/spree/frontend/all.js
141
+ - templates/vendor/assets/stylesheets/nprogress-variables.sass
142
+ - templates/vendor/assets/stylesheets/spree/backend/all.css
143
+ - templates/vendor/assets/stylesheets/spree/frontend/all.css
90
144
  homepage: https://github.com/o2web/o2webappizer
91
145
  licenses:
92
146
  - MIT
@@ -112,3 +166,4 @@ signing_key:
112
166
  specification_version: 4
113
167
  summary: Project Boilerplate Builder used by O2Web
114
168
  test_files: []
169
+ has_rdoc: