tiendapp_validator 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +4 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +46 -0
  8. data/Rakefile +6 -0
  9. data/bin/console +14 -0
  10. data/bin/setup +8 -0
  11. data/lib/tiendapp_validator.rb +31 -0
  12. data/lib/tiendapp_validator/auxiliar_methods.rb +75 -0
  13. data/lib/tiendapp_validator/liquid_validators.rb +61 -0
  14. data/lib/tiendapp_validator/required_files.rb +30 -0
  15. data/lib/tiendapp_validator/schema_validators.rb +11 -0
  16. data/lib/tiendapp_validator/version.rb +3 -0
  17. data/public/store_templates/public/_blog_navigator.liquid +13 -0
  18. data/public/store_templates/public/_cart.liquid +4 -0
  19. data/public/store_templates/public/_cart_button_product.liquid +4 -0
  20. data/public/store_templates/public/_customizations.liquid +157 -0
  21. data/public/store_templates/public/_footer.liquid +77 -0
  22. data/public/store_templates/public/_header.liquid +61 -0
  23. data/public/store_templates/public/_login.liquid +26 -0
  24. data/public/store_templates/public/_navbar.liquid +139 -0
  25. data/public/store_templates/public/_navbar_submenu.liquid +11 -0
  26. data/public/store_templates/public/_product.liquid +20 -0
  27. data/public/store_templates/public/_products.liquid +30 -0
  28. data/public/store_templates/public/assets/css/bootstrap-submenu.min.css +8 -0
  29. data/public/store_templates/public/assets/css/bootstrap.min.css +6 -0
  30. data/public/store_templates/public/assets/css/bootstrap.min.css.map +1 -0
  31. data/public/store_templates/public/assets/css/progress-wizard.min.css +1 -0
  32. data/public/store_templates/public/assets/css/theme.css +1307 -0
  33. data/public/store_templates/public/assets/css/ui-notification.css +105 -0
  34. data/public/store_templates/public/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  35. data/public/store_templates/public/assets/fonts/glyphicons-halflings-regular.svg +288 -0
  36. data/public/store_templates/public/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  37. data/public/store_templates/public/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  38. data/public/store_templates/public/assets/fonts/glyphicons-halflings-regular.woff2 +0 -0
  39. data/public/store_templates/public/assets/images/blog_header.jpg +0 -0
  40. data/public/store_templates/public/assets/images/email_header_logo.png +0 -0
  41. data/public/store_templates/public/assets/images/header_image_1.png +0 -0
  42. data/public/store_templates/public/assets/images/header_image_2.png +0 -0
  43. data/public/store_templates/public/assets/images/header_image_3.png +0 -0
  44. data/public/store_templates/public/assets/images/logo_navbar.png +0 -0
  45. data/public/store_templates/public/assets/js/bootstrap-submenu.min.js +7 -0
  46. data/public/store_templates/public/assets/js/bootstrap.min.js +7 -0
  47. data/public/store_templates/public/assets/js/navbar_responsive_navigation.js +28 -0
  48. data/public/store_templates/public/assets/js/npm.js +13 -0
  49. data/public/store_templates/public/assets/js/sessions.js +27 -0
  50. data/public/store_templates/public/blog.liquid +71 -0
  51. data/public/store_templates/public/checkout/address.liquid +33 -0
  52. data/public/store_templates/public/checkout/cart.liquid +108 -0
  53. data/public/store_templates/public/checkout/delivery.liquid +33 -0
  54. data/public/store_templates/public/checkout/payment.liquid +33 -0
  55. data/public/store_templates/public/config/customization_schema.json +662 -0
  56. data/public/store_templates/public/config/email_customization_schema.json +394 -0
  57. data/public/store_templates/public/home.liquid +18 -0
  58. data/public/store_templates/public/layout.liquid +28 -0
  59. data/public/store_templates/public/login/_footer.liquid +14 -0
  60. data/public/store_templates/public/login/_recover.liquid +14 -0
  61. data/public/store_templates/public/login/_sign_in.liquid +19 -0
  62. data/public/store_templates/public/login/_sign_up.liquid +30 -0
  63. data/public/store_templates/public/mailer/cancel_order.liquid +49 -0
  64. data/public/store_templates/public/mailer/confirm_order.liquid +55 -0
  65. data/public/store_templates/public/mailer/layout.liquid +831 -0
  66. data/public/store_templates/public/mailer/shipped_order.liquid +57 -0
  67. data/public/store_templates/public/order.liquid +26 -0
  68. data/public/store_templates/public/post.liquid +42 -0
  69. data/public/store_templates/public/product.liquid +106 -0
  70. data/public/store_templates/public/sidebar.liquid +2 -0
  71. data/public/store_templates/public/static_page.liquid +28 -0
  72. data/public/store_templates/public/utils/_fonts.liquid +9 -0
  73. data/public/store_templates/public/widgets/_breadcrumbs.liquid +32 -0
  74. data/public/store_templates/public/widgets/_carousel.liquid +37 -0
  75. data/public/store_templates/public/widgets/_cart.liquid +86 -0
  76. data/public/store_templates/public/widgets/_tiendapp_footer.liquid +10 -0
  77. data/tiendapp_validator-0.1.0.gem +0 -0
  78. data/tiendapp_validator-0.1.1.gem +0 -0
  79. data/tiendapp_validator-1.0.0.gem +0 -0
  80. data/tiendapp_validator.gemspec +34 -0
  81. metadata +185 -0
@@ -0,0 +1,394 @@
1
+ {
2
+ "meta": {
3
+ "template_name": "Test Template",
4
+ "description": "A sample description.",
5
+ "version": "0.1"
6
+ },
7
+ "email_customization" : {
8
+ "shared":
9
+ {
10
+ "label": "Compartido",
11
+ "setting_groups":
12
+ [
13
+ {
14
+ "name": "Header",
15
+ "icon": "newspaper-o",
16
+ "settings":
17
+ [
18
+ {
19
+ "type": "header",
20
+ "content": "Configuraciones para todos los correos"
21
+ },
22
+ {
23
+ "type": "image",
24
+ "id": "email_header_logo",
25
+ "label": "Logo Encabezado",
26
+ "default": "email_header_logo.png",
27
+ "info": "Imagen para el logo del email."
28
+ },
29
+ {
30
+ "type": "text",
31
+ "id": "email_header_text",
32
+ "label": "Texto Encabezado",
33
+ "default": "{{store.name}} - Un encabezado de ejemplo",
34
+ "info": "El texto del encabezado de los correos."
35
+ },
36
+ {
37
+ "type": "color",
38
+ "id": "email_header_background_color",
39
+ "label": "Color del Fondo",
40
+ "default": "#82bfc4",
41
+ "info": "Color que tendrá el fondo de tu encabezado."
42
+ },
43
+ {
44
+ "type": "color",
45
+ "id": "email_header_color",
46
+ "label": "Color del Texto",
47
+ "default": "#ffffff",
48
+ "info": "Color que tendrá el texto de tu encabezado."
49
+ },
50
+ {
51
+ "type": "font",
52
+ "id": "email_header_font",
53
+ "label": "Fuente Encabezado",
54
+ "default": "Tahoma",
55
+ "info": "Tipografía que se utilizará en el encabezado en los emails."
56
+ },
57
+ {
58
+ "type": "integer",
59
+ "id": "email_header_font_size",
60
+ "label": "Tamaño Fuente",
61
+ "default": 14,
62
+ "min": 1,
63
+ "max": 32,
64
+ "info": "Tamaño de la tipografía del encabezado."
65
+ }
66
+
67
+ ]
68
+ },
69
+ {
70
+ "name": "General",
71
+ "icon": "sitemap",
72
+ "settings":
73
+ [
74
+ {
75
+ "type": "header",
76
+ "content": "Configuraciones para todos los correos"
77
+ },
78
+ {
79
+ "type": "color",
80
+ "id": "email_background_color",
81
+ "label": "Color del fondo",
82
+ "default": "#ffffff",
83
+ "info": "Color que tendrá el fondo de los emails."
84
+ },
85
+ {
86
+ "type": "color",
87
+ "id": "email_text_color",
88
+ "label": "Color de la Fuente",
89
+ "default": "#000000",
90
+ "info": "Color que tendrá el texto de los emails."
91
+ },
92
+ {
93
+ "type": "font",
94
+ "id": "main_email_font",
95
+ "label": "Fuente principal",
96
+ "default": "Tahoma",
97
+ "info": "Tipografía que se utilizará por defecto en los emails."
98
+ }
99
+ ]
100
+ }
101
+ ]
102
+ },
103
+
104
+ "confirm_order": {
105
+ "label": "Email de confirmación de orden",
106
+ "setting_groups":
107
+ [
108
+ {
109
+ "name": "Textos",
110
+ "icon": "font",
111
+ "settings":
112
+ [
113
+ {
114
+ "type": "text",
115
+ "id": "email_order_head_text",
116
+ "label": "Texto superior",
117
+ "default": "{{order.username}}, a continuación se detallan los contenidos de tu compra:",
118
+ "info": "Texto que antedecerá el contenido del correo."
119
+ },
120
+ {
121
+ "type": "text",
122
+ "id": "email_order_please_check",
123
+ "label": "Texto de revisión",
124
+ "default": "Por favor, revisa y conserva la siguiente información de tu compra.",
125
+ "info": "Texto que incitará al usuario a mantener el recibo de su compra."
126
+ },
127
+ {
128
+ "type": "text",
129
+ "id": "email_order_bottom_text",
130
+ "label": "Texto final",
131
+ "default": "¡Muchas gracias por tu compra!",
132
+ "info": "Texto final de la orden."
133
+ }
134
+ ]
135
+ },
136
+ {
137
+ "name": "Tabla de compra",
138
+ "icon": "table",
139
+ "settings":
140
+ [
141
+ {
142
+ "type": "color",
143
+ "id": "email_order_table_background_color_even",
144
+ "label": "Color filas pares",
145
+ "default": "#ffffff",
146
+ "info": "Color de las filas pares de la tabla que contiene la orden."
147
+ },
148
+ {
149
+ "type": "color",
150
+ "id": "email_order_table_background_color_odd",
151
+ "label": "Color filas impares",
152
+ "default": "#f2f2f2",
153
+ "info": "Color de las filas impares de la tabla que contiene la orden."
154
+ },
155
+ {
156
+ "type": "color",
157
+ "id": "email_order_table_background_color_header",
158
+ "label": "Color filas encabezado",
159
+ "default": "#efefef",
160
+ "info": "Color de las filas de encabezado de la tabla que contiene la orden."
161
+ },
162
+ {
163
+ "type": "color",
164
+ "id": "email_order_table_text_color_even",
165
+ "label": "Color texto filas pares",
166
+ "default": "#000000",
167
+ "info": "Color del texto de las filas pares de la tabla que contiene la orden."
168
+ },
169
+ {
170
+ "type": "color",
171
+ "id": "email_order_table_text_color_odd",
172
+ "label": "Color texto filas impares",
173
+ "default": "#000000",
174
+ "info": "Color del texto de las filas impares de la tabla que contiene la orden."
175
+ },
176
+ {
177
+ "type": "color",
178
+ "id": "email_order_table_border_color",
179
+ "label": "Color del borde",
180
+ "default": "#ccc",
181
+ "info": "Color del borde de la tabla que contiene la orden."
182
+ },
183
+ {
184
+ "type": "integer",
185
+ "id": "email_order_table_border_size",
186
+ "label": "Tamaño del borde",
187
+ "default": "1",
188
+ "info": "Tamaño del borde de la tabla que contiene la orden."
189
+ },
190
+ {
191
+ "type": "integer",
192
+ "id": "email_order_table_padding",
193
+ "label": "Espaciado interno",
194
+ "default": "5",
195
+ "info": "Tamaño del espaciado de la tabla que contiene la orden."
196
+ }
197
+ ]
198
+ }
199
+
200
+ ]
201
+ },
202
+ "cancel_order": {
203
+ "label": "Email de cancelación de orden",
204
+ "setting_groups":
205
+ [
206
+ {
207
+ "name": "Textos",
208
+ "icon": "font",
209
+ "settings":
210
+ [
211
+ {
212
+ "type": "text",
213
+ "id": "email_cancel_order_head_text",
214
+ "label": "Texto superior",
215
+ "default": "{{order.username}}, tu pedido ha sido cancelado.",
216
+ "info": "Texto que antedecerá el contenido del correo."
217
+ },
218
+ {
219
+ "type": "text",
220
+ "id": "email_cancel_order_please_check",
221
+ "label": "Texto de revisión",
222
+ "default": "Por favor conserva esta información de cancelación para tus registros. Resumen de pedido (cancelado):",
223
+ "info": "Texto que incitará al usuario a mantener el recibo de su cancelación."
224
+ },
225
+ {
226
+ "type": "text",
227
+ "id": "email_cancel_order_bottom_text",
228
+ "label": "Texto final",
229
+ "default": "Se despide atentamente, {{store.name}}",
230
+ "info": "Texto final de la orden."
231
+ }
232
+ ]
233
+ },
234
+ {
235
+ "name": "Tabla de compra",
236
+ "icon": "table",
237
+ "settings":
238
+ [
239
+ {
240
+ "type": "color",
241
+ "id": "email_cancel_order_table_background_color_even",
242
+ "label": "Color filas pares",
243
+ "default": "#ffffff",
244
+ "info": "Color de las filas pares de la tabla que contiene la orden."
245
+ },
246
+ {
247
+ "type": "color",
248
+ "id": "email_cancel_order_table_background_color_odd",
249
+ "label": "Color filas impares",
250
+ "default": "#f2f2f2",
251
+ "info": "Color de las filas impares de la tabla que contiene la orden."
252
+ },
253
+ {
254
+ "type": "color",
255
+ "id": "email_cancel_order_table_text_color_even",
256
+ "label": "Color texto filas pares",
257
+ "default": "#000000",
258
+ "info": "Color del texto de las filas pares de la tabla que contiene la orden."
259
+ },
260
+ {
261
+ "type": "color",
262
+ "id": "email_cancel_order_table_text_color_odd",
263
+ "label": "Color texto filas impares",
264
+ "default": "#000000",
265
+ "info": "Color del texto de las filas impares de la tabla que contiene la orden."
266
+ },
267
+ {
268
+ "type": "color",
269
+ "id": "email_cancel_order_table_border_color",
270
+ "label": "Color del borde",
271
+ "default": "#ccc",
272
+ "info": "Color del borde de la tabla que contiene la orden."
273
+ },
274
+ {
275
+ "type": "integer",
276
+ "id": "email_cancel_order_table_border_size",
277
+ "label": "Tamaño del borde",
278
+ "default": "1",
279
+ "info": "Tamaño del borde de la tabla que contiene la orden."
280
+ },
281
+ {
282
+ "type": "integer",
283
+ "id": "email_cancel_order_table_padding",
284
+ "label": "Espaciado interno",
285
+ "default": "5",
286
+ "info": "Tamaño del espaciado de la tabla que contiene la orden."
287
+ }
288
+ ]
289
+ }
290
+
291
+ ]
292
+ },
293
+ "shipped_order": {
294
+ "label": "Email de confirmación de envío",
295
+ "setting_groups":
296
+ [
297
+ {
298
+ "name": "Textos",
299
+ "icon": "font",
300
+ "settings":
301
+ [
302
+ {
303
+ "type": "text",
304
+ "id": "email_shipment_head_text",
305
+ "label": "Texto superior",
306
+ "default": "Estimado {{shipment.username}}, su pedido ha sido enviado.",
307
+ "info": "Texto que antedecerá el contenido del correo."
308
+ },
309
+ {
310
+ "type": "text",
311
+ "id": "email_shipment_before_contents",
312
+ "label": "Encabezado de contenidos",
313
+ "default": "Resumen del envío:",
314
+ "info": "Texto que antecederá el contenido del envío."
315
+ },
316
+ {
317
+ "type": "text",
318
+ "id": "email_shipment_bottom_text",
319
+ "label": "Texto final",
320
+ "default": "¡Muchas gracias por tu compra!",
321
+ "info": "Texto final del envío."
322
+ }
323
+ ]
324
+ },
325
+ {
326
+ "name": "Tabla de productos",
327
+ "icon": "table",
328
+ "settings":
329
+ [
330
+ {
331
+ "type": "color",
332
+ "id": "email_shipment_table_background_color_even",
333
+ "label": "Color filas pares",
334
+ "default": "#ffffff",
335
+ "info": "Color de las filas pares de la tabla que contiene el envío."
336
+ },
337
+ {
338
+ "type": "color",
339
+ "id": "email_shipment_table_background_color_odd",
340
+ "label": "Color filas impares",
341
+ "default": "#f2f2f2",
342
+ "info": "Color de las filas impares de la tabla que contiene el envío."
343
+ },
344
+ {
345
+ "type": "color",
346
+ "id": "email_shipment_table_background_color_header",
347
+ "label": "Color filas encabezado",
348
+ "default": "#efefef",
349
+ "info": "Color de las filas de encabezado de la tabla que contiene el envío."
350
+ },
351
+ {
352
+ "type": "color",
353
+ "id": "email_shipment_table_text_color_even",
354
+ "label": "Color texto filas pares",
355
+ "default": "#000000",
356
+ "info": "Color del texto de las filas pares de la tabla que contiene el envío."
357
+ },
358
+ {
359
+ "type": "color",
360
+ "id": "email_shipment_table_text_color_odd",
361
+ "label": "Color texto filas impares",
362
+ "default": "#000000",
363
+ "info": "Color del texto de las filas impares de la tabla que contiene el envío."
364
+ },
365
+ {
366
+ "type": "color",
367
+ "id": "email_shipment_table_border_color",
368
+ "label": "Color del borde",
369
+ "default": "#ccc",
370
+ "info": "Color del borde de la tabla que contiene el envío."
371
+ },
372
+ {
373
+ "type": "integer",
374
+ "id": "email_shipment_table_border_size",
375
+ "label": "Tamaño del borde",
376
+ "default": "1",
377
+ "info": "Tamaño del borde de la tabla que contiene el envío."
378
+ },
379
+ {
380
+ "type": "integer",
381
+ "id": "email_shipment_table_padding",
382
+ "label": "Espaciado interno",
383
+ "default": "5",
384
+ "info": "Tamaño del espaciado de la tabla que contiene el envío."
385
+ }
386
+ ]
387
+ }
388
+
389
+
390
+ ]
391
+ }
392
+ }
393
+
394
+ }
@@ -0,0 +1,18 @@
1
+
2
+ {% include 'header' %}
3
+
4
+ <div id="body-container" >
5
+ <span class="overlay" ng-show="products.loading()">
6
+ <i class="fa fa-circle-o-notch fa-spin fa-4x"></i>
7
+ </span>
8
+ <div class="container">
9
+ <div class="row" data-hook>
10
+
11
+ {% include 'widgets/breadcrumbs' %}
12
+ <div id="content" data-hook>
13
+ {% include 'products' %}
14
+ </div>
15
+
16
+ </div>
17
+ </div>
18
+ </div>
@@ -0,0 +1,28 @@
1
+ <html ng-app="tiendAppFrontend" ng-controller="AppController">
2
+
3
+ <head>
4
+ {{ 'css/bootstrap.min.css' | asset_url | stylesheet_tag }}
5
+ {{ 'js/bootstrap.min.js' | asset_url | javascript_tag }}
6
+ {{ 'css/theme.css' | asset_url | stylesheet_tag }}
7
+ {{ 'css/bootstrap-submenu.min.css' | asset_url | stylesheet_tag }}
8
+ {{ 'css/ui-notification.css' | asset_url | stylesheet_tag }}
9
+ {{ 'js/sessions.js' | asset_url | javascript_tag }}
10
+ {% include 'utils/fonts' %}
11
+
12
+ {% include 'customizations' %}
13
+ </head>
14
+ <body data-hook="body" products-controller pagination-controller {% if user.has_users? %} ng-controller="sessionModalController as sessionModalController" users-controller {% endif %} {% if user.has_cart? %} cart-controller {% endif %}>
15
+ {% include 'navbar' %}
16
+
17
+
18
+ <div id="main_container" class="row">
19
+ {{ content_for_layout }}
20
+ </div>
21
+ {% if user.has_users? %}
22
+ {% include 'login' %}
23
+ {% endif %}
24
+ {% include 'footer' %}
25
+
26
+ <ng-view></ng-view>
27
+ </body>
28
+ </html>
@@ -0,0 +1,14 @@
1
+ <div class="form-footer">
2
+ <div class="pull-left">
3
+ <a href="#" ng-click="sessionModalController.setState(1)">Crear Cuenta</a>|
4
+ <a href="#" ng-click="sessionModalController.setState(2)">Recuperar Contraseña</a>
5
+ </div>
6
+
7
+ <button ng-disabled="session.loading" class="btn btn-primary">
8
+ <i class="fa fa-refresh fa-spin" ng-show="session.loading"></i>
9
+ {[sessionModalController.submit]}
10
+ </button>
11
+ <button type="button" class="btn btn-error" ng-click="sessionModalController.toggle()">
12
+ Cancelar
13
+ </button>
14
+ </div>