shoplazza-cli 0.0.1

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 (181) hide show
  1. package/.editorconfig +28 -0
  2. package/.prettierrc +9 -0
  3. package/LICENSE +21 -0
  4. package/README.md +208 -0
  5. package/bin/shoplazza +117 -0
  6. package/fixtures/assets/blog.scss +74 -0
  7. package/fixtures/assets/cart_modal.scss +450 -0
  8. package/fixtures/assets/collection_detail.js +234 -0
  9. package/fixtures/assets/collection_detail.scss +345 -0
  10. package/fixtures/assets/collection_list.scss +11 -0
  11. package/fixtures/assets/collection_slider.scss +169 -0
  12. package/fixtures/assets/feature_columns.scss +26 -0
  13. package/fixtures/assets/feature_product.scss +109 -0
  14. package/fixtures/assets/footer.js +58 -0
  15. package/fixtures/assets/footer.scss +337 -0
  16. package/fixtures/assets/four_images.scss +29 -0
  17. package/fixtures/assets/gallery.scss +55 -0
  18. package/fixtures/assets/header.js +178 -0
  19. package/fixtures/assets/header.scss +929 -0
  20. package/fixtures/assets/image_text.scss +72 -0
  21. package/fixtures/assets/logo_bar.scss +11 -0
  22. package/fixtures/assets/newsletter.scss +90 -0
  23. package/fixtures/assets/not_found.scss +39 -0
  24. package/fixtures/assets/page_detail.scss +16 -0
  25. package/fixtures/assets/pagination.scss +150 -0
  26. package/fixtures/assets/postcss.config.js +6 -0
  27. package/fixtures/assets/product_description.scss +88 -0
  28. package/fixtures/assets/product_detail.js +634 -0
  29. package/fixtures/assets/product_detail.scss +1106 -0
  30. package/fixtures/assets/relative_product.scss +45 -0
  31. package/fixtures/assets/reviews.scss +70 -0
  32. package/fixtures/assets/rich_text.scss +71 -0
  33. package/fixtures/assets/search.js +87 -0
  34. package/fixtures/assets/search.scss +67 -0
  35. package/fixtures/assets/slide.scss +51 -0
  36. package/fixtures/assets/slider.scss +141 -0
  37. package/fixtures/assets/theme.css +976 -0
  38. package/fixtures/assets/theme.scss +1100 -0
  39. package/fixtures/assets/three_images.scss +20 -0
  40. package/fixtures/assets/tools.scss +23 -0
  41. package/fixtures/assets/two_images.scss +24 -0
  42. package/fixtures/assets/video.scss +45 -0
  43. package/fixtures/assets/video_text.scss +63 -0
  44. package/fixtures/config/settings_data.json +107 -0
  45. package/fixtures/config/settings_schema.json +690 -0
  46. package/fixtures/layout/theme.liquid +76 -0
  47. package/fixtures/locales/ar-SA.json +212 -0
  48. package/fixtures/locales/de-DE.json +290 -0
  49. package/fixtures/locales/en-US.json +290 -0
  50. package/fixtures/locales/es-ES.json +290 -0
  51. package/fixtures/locales/fr-FR.json +290 -0
  52. package/fixtures/locales/id-ID.json +212 -0
  53. package/fixtures/locales/it-IT.json +212 -0
  54. package/fixtures/locales/ja-JP.json +289 -0
  55. package/fixtures/locales/ko-KR.json +290 -0
  56. package/fixtures/locales/nl-NL.json +290 -0
  57. package/fixtures/locales/pl-PL.json +290 -0
  58. package/fixtures/locales/pt-PT.json +212 -0
  59. package/fixtures/locales/ru-RU.json +212 -0
  60. package/fixtures/locales/th-TH.json +212 -0
  61. package/fixtures/locales/zh-CN.json +290 -0
  62. package/fixtures/locales/zh-TW.json +290 -0
  63. package/fixtures/sections/apps.liquid +47 -0
  64. package/fixtures/sections/blog.liquid +137 -0
  65. package/fixtures/sections/collection_desc.liquid +34 -0
  66. package/fixtures/sections/collection_detail.liquid +436 -0
  67. package/fixtures/sections/collection_image.liquid +104 -0
  68. package/fixtures/sections/collection_list.liquid +161 -0
  69. package/fixtures/sections/collection_name.liquid +34 -0
  70. package/fixtures/sections/collection_slider.liquid +330 -0
  71. package/fixtures/sections/feature_columns.liquid +275 -0
  72. package/fixtures/sections/feature_product.liquid +227 -0
  73. package/fixtures/sections/footer.liquid +488 -0
  74. package/fixtures/sections/four_images.liquid +160 -0
  75. package/fixtures/sections/gallery.liquid +258 -0
  76. package/fixtures/sections/header.liquid +1157 -0
  77. package/fixtures/sections/html.liquid +40 -0
  78. package/fixtures/sections/image_text.liquid +350 -0
  79. package/fixtures/sections/instagram_plus.liquid +393 -0
  80. package/fixtures/sections/logo_bar.liquid +183 -0
  81. package/fixtures/sections/newsletter.liquid +225 -0
  82. package/fixtures/sections/not_found.liquid +39 -0
  83. package/fixtures/sections/overlay_image.liquid +648 -0
  84. package/fixtures/sections/page_detail.liquid +39 -0
  85. package/fixtures/sections/photo_collection.liquid +433 -0
  86. package/fixtures/sections/product_description.liquid +208 -0
  87. package/fixtures/sections/product_detail.liquid +611 -0
  88. package/fixtures/sections/products.liquid +216 -0
  89. package/fixtures/sections/relative_product.liquid +121 -0
  90. package/fixtures/sections/reviews.liquid +115 -0
  91. package/fixtures/sections/rich_text.liquid +157 -0
  92. package/fixtures/sections/search.liquid +163 -0
  93. package/fixtures/sections/slide.liquid +719 -0
  94. package/fixtures/sections/three_images.liquid +157 -0
  95. package/fixtures/sections/two_images.liquid +125 -0
  96. package/fixtures/sections/video.liquid +95 -0
  97. package/fixtures/sections/video_text.liquid +128 -0
  98. package/fixtures/snippets/bgset.liquid +21 -0
  99. package/fixtures/snippets/card_title.liquid +8 -0
  100. package/fixtures/snippets/cart_modal.liquid +74 -0
  101. package/fixtures/snippets/collection.liquid +77 -0
  102. package/fixtures/snippets/collection_filter_modal.liquid +56 -0
  103. package/fixtures/snippets/default_image_4.liquid +14 -0
  104. package/fixtures/snippets/default_image_6.liquid +18 -0
  105. package/fixtures/snippets/default_image_8.liquid +23 -0
  106. package/fixtures/snippets/four_images_item.liquid +8 -0
  107. package/fixtures/snippets/header_ads.liquid +95 -0
  108. package/fixtures/snippets/hero_image.liquid +94 -0
  109. package/fixtures/snippets/icon_video_play_large.liquid +1 -0
  110. package/fixtures/snippets/icon_video_play_medium.liquid +4 -0
  111. package/fixtures/snippets/icon_video_play_small.liquid +4 -0
  112. package/fixtures/snippets/lazyimg.liquid +22 -0
  113. package/fixtures/snippets/lazyimg_art.liquid +36 -0
  114. package/fixtures/snippets/lazysizes.liquid +41 -0
  115. package/fixtures/snippets/link.liquid +2 -0
  116. package/fixtures/snippets/pagination.liquid +48 -0
  117. package/fixtures/snippets/product.liquid +126 -0
  118. package/fixtures/snippets/product_art_tpl.liquid +152 -0
  119. package/fixtures/snippets/product_info_body.liquid +337 -0
  120. package/fixtures/snippets/product_info_tpl.liquid +423 -0
  121. package/fixtures/snippets/product_label.liquid +46 -0
  122. package/fixtures/snippets/settings.liquid +295 -0
  123. package/fixtures/snippets/social-meta-tags.liquid +106 -0
  124. package/fixtures/snippets/video_html.liquid +11 -0
  125. package/fixtures/snippets/video_source.liquid +98 -0
  126. package/fixtures/snippets/video_thumb_icon.liquid +2 -0
  127. package/fixtures/templates/404.liquid +1 -0
  128. package/fixtures/templates/collection.liquid +92 -0
  129. package/fixtures/templates/index.liquid +206 -0
  130. package/fixtures/templates/page.liquid +1 -0
  131. package/fixtures/templates/product.liquid +99 -0
  132. package/fixtures/templates/search.liquid +1 -0
  133. package/jest.config.js +192 -0
  134. package/lib/__tests__/log.test.js +15 -0
  135. package/lib/__tests__/utils.test.js +69 -0
  136. package/lib/auth/__mocks__/getCode.js +7 -0
  137. package/lib/auth/__mocks__/index.js +0 -0
  138. package/lib/auth/child.js +23 -0
  139. package/lib/auth/getCode.js +35 -0
  140. package/lib/auth/index.js +91 -0
  141. package/lib/commands/__tests__/login.test.js +77 -0
  142. package/lib/commands/__tests__/logout.test.js +29 -0
  143. package/lib/commands/__tests__/store.test.js +44 -0
  144. package/lib/commands/__tests__/switch.test.js +45 -0
  145. package/lib/commands/login.js +99 -0
  146. package/lib/commands/logout.js +14 -0
  147. package/lib/commands/store.js +14 -0
  148. package/lib/commands/switch.js +52 -0
  149. package/lib/commands/theme/__tests__/delete.test.js +49 -0
  150. package/lib/commands/theme/__tests__/init.test.js +21 -0
  151. package/lib/commands/theme/__tests__/list.test.js +80 -0
  152. package/lib/commands/theme/__tests__/package.test.js +17 -0
  153. package/lib/commands/theme/__tests__/publish.test.js +61 -0
  154. package/lib/commands/theme/__tests__/pull.test.js +69 -0
  155. package/lib/commands/theme/__tests__/push.test.js +63 -0
  156. package/lib/commands/theme/__tests__/serve.test.js +107 -0
  157. package/lib/commands/theme/delete.js +64 -0
  158. package/lib/commands/theme/init.js +51 -0
  159. package/lib/commands/theme/list.js +28 -0
  160. package/lib/commands/theme/package.js +37 -0
  161. package/lib/commands/theme/publish.js +56 -0
  162. package/lib/commands/theme/pull.js +62 -0
  163. package/lib/commands/theme/push.js +106 -0
  164. package/lib/commands/theme/serve.js +153 -0
  165. package/lib/commands/theme/share.js +20 -0
  166. package/lib/commands/version.js +6 -0
  167. package/lib/config.js +5 -0
  168. package/lib/db/__mocks__/index.js +9 -0
  169. package/lib/db/__tests__/analytics.test.js +19 -0
  170. package/lib/db/__tests__/user.test.js +20 -0
  171. package/lib/db/analytics.js +48 -0
  172. package/lib/db/index.js +9 -0
  173. package/lib/db/user.js +68 -0
  174. package/lib/log.js +13 -0
  175. package/lib/openAPI/__mocks__/index.js +20 -0
  176. package/lib/openAPI/api.js +76 -0
  177. package/lib/openAPI/index.js +46 -0
  178. package/lib/report.js +37 -0
  179. package/lib/tracing.js +50 -0
  180. package/lib/utils.js +48 -0
  181. package/package.json +54 -0
@@ -0,0 +1,648 @@
1
+ {% comment %} color_to_hex: Converts a CSS color string to hex6 format. {% endcomment %}
2
+ {% assign image_height = section.settings.image_height %}
3
+ {% assign text_size = section.settings.text_size %}
4
+ {% assign image_src = section.settings.image_src %}
5
+ {% assign opacity = section.settings.opacity | divided_by: 100.0 %}
6
+ {% assign alignment = section.settings.alignment %}
7
+ {% assign url = section.settings.link_to_url.url %}
8
+ {% assign link_type = section.settings.link_to_url.type %}
9
+ {% assign text_position = section.settings.text_position %}
10
+ {% assign text_color = section.settings.text_color %}
11
+ {% assign text_justify = section.settings.text_justify %}
12
+ {% assign is_bottom_margin_show = section.settings.is_bottom_margin_show %}
13
+ {% assign overlay_bg_color = section.settings.overlay_bg_color | color_to_hex %}
14
+
15
+ {% assign title = nil %}
16
+ {% assign text = nil %}
17
+ {% assign button_label = nil %}
18
+ {% for block in section.blocks %}
19
+ {% if block.type == 'heading' and block.settings.title %}
20
+ {% assign title = block.settings.title %}
21
+ {% endif %}
22
+ {% if block.type == 'text' and block.settings.text %}
23
+ {% assign text = block.settings.text %}
24
+ {% endif %}
25
+ {% if block.type == 'button' and block.settings.button_label %}
26
+ {% assign button_label = block.settings.button_label %}
27
+ {% assign button_link = block.settings.button_link.url %}
28
+ {% assign button_link_type = block.settings.button_link.type %}
29
+ {% assign button_bg_color = block.settings.button_bg_color | color_to_hex | default: '#ffffff' %}
30
+ {% assign button_text_color = block.settings.button_text_color | default: '#212121' %}
31
+ {% endif %}
32
+ {% endfor %}
33
+
34
+
35
+
36
+
37
+
38
+ {% if image_height == "large" %}
39
+ {% assign mobile_height = "460px" %}
40
+ {% assign pc_height = "600px" %}
41
+ {% elsif image_height == "medium" %}
42
+ {% assign mobile_height = "400px" %}
43
+ {% assign pc_height = "500px" %}
44
+ {% elsif image_height == "small" %}
45
+ {% assign mobile_height = "300px" %}
46
+ {% assign pc_height = "400px" %}
47
+ {% elsif image_height == "origin" %}
48
+ {% assign mobile_height = 'origin' %}
49
+ {% assign pc_height = 'origin' %}
50
+ {% else if image_height == nil %}
51
+ {% assign mobile_height = "325px" %}
52
+ {% assign pc_height = "450px" %}
53
+ {% endif %}
54
+
55
+ {% comment %} Mobile {% endcomment %}
56
+ <div class="d-md-none w-100 overlay-image">
57
+ {% include 'hero_image',
58
+ image_height: mobile_height,
59
+ text_size: text_size,
60
+ image_src: image_src,
61
+ alignment: alignment,
62
+ title: title,
63
+ text: text,
64
+ url: url,
65
+ link_type: link_type,
66
+ button_label: button_label,
67
+ button_link: button_link,
68
+ button_link_type: button_link_type,
69
+ image_size: '1080x'
70
+ %}
71
+ </div>
72
+ {% comment %} PC {% endcomment %}
73
+ <div class="d-none d-md-block w-100 overlay-image">
74
+ {% include 'hero_image',
75
+ image_height: pc_height,
76
+ text_size: text_size,
77
+ image_src: image_src,
78
+ alignment: alignment,
79
+ title: title,
80
+ text: text,
81
+ url: url,
82
+ link_type: link_type,
83
+ button_label: button_label,
84
+ button_link: button_link,
85
+ button_link_type: button_link_type,
86
+ image_size: '1920x'
87
+ %}
88
+ </div>
89
+ <style>
90
+ [data-section-id='{{section.id}}'] .hero__inner .mega-title{
91
+ {% assign titleFont = settings.skin_title_font_family %}
92
+ font-family: {{titleFont.family}},{{titleFont.fallback_families}};
93
+ font-style: {{titleFont.style}};
94
+ font-weight: {{titleFont.weight}};
95
+ margin: 0;
96
+ }
97
+
98
+ [data-section-id='{{section.id}}'] .page-width {
99
+ display: grid;
100
+ row-gap: 20px;
101
+ }
102
+
103
+ [data-section-id='{{section.id}}'] .hero__inner .mega-title, [data-section-id='{{section.id}}'] .hero__inner .mega-subtitle{
104
+ {% if text_color == nil %}
105
+ color: #fff;
106
+ {% else %}
107
+ color: {{ text_color }};
108
+ {% endif %}
109
+ margin: 0;
110
+ }
111
+
112
+ @media screen and (max-width: 767.98px) {
113
+ [data-section-id='{{section.id}}'] .hero__inner .page-width-outer {
114
+ padding: 54px 15px;
115
+ }
116
+
117
+ {% if image_src == blank and image_height == "origin" %}
118
+ [data-section-id='{{section.id}}'] .hero__bg .img {
119
+ height: 260px!important;
120
+ }
121
+ {% endif %}
122
+ }
123
+
124
+ @media screen and (min-width: 768px) {
125
+ [data-section-id='{{section.id}}'] .hero__inner .page-width-outer {
126
+ width: 720px;
127
+ margin: 0 auto;
128
+ padding: 76px 0px;
129
+ }
130
+
131
+ {% if image_src == blank and image_height == "origin" %}
132
+ [data-section-id='{{section.id}}'] .hero__bg .img {
133
+ height: 450px!important;
134
+ }
135
+ {% endif %}
136
+ }
137
+
138
+ @media screen and (min-width: 992px) {
139
+ [data-section-id='{{section.id}}'] .hero__inner .page-width-outer {
140
+ width: 960px;
141
+ margin: 0 auto;
142
+ padding: 76px 0px;
143
+ }
144
+ }
145
+
146
+ @media screen and (min-width: 1200px) {
147
+ [data-section-id='{{section.id}}'] .hero__inner .page-width-outer {
148
+ width: 1080px;
149
+ margin: 0 auto;
150
+ padding: 76px 0px;
151
+ }
152
+ }
153
+
154
+ [data-section-id='{{section.id}}'] .hero__inner .page-width-outer {
155
+ display: flex;
156
+ height: 100%;
157
+ {% if text_position == nil or text_position == 'center' %}
158
+ align-items: center;
159
+ justify-content: center;
160
+ {% elsif text_position == 'top_left' %}
161
+ align-items: flex-start;
162
+ justify-content: flex-start;
163
+ {% elsif text_position == 'top_center' %}
164
+ align-items: flex-start;
165
+ justify-content: center;
166
+ {% elsif text_position == 'top_right' %}
167
+ align-items: flex-start;
168
+ justify-content: flex-end;
169
+ {% elsif text_position == 'center_left' %}
170
+ align-items: center;
171
+ justify-content: flex-start;
172
+ {% elsif text_position == 'center_right' %}
173
+ align-items: center;
174
+ justify-content: flex-end;
175
+ {% elsif text_position == 'bottom_left' %}
176
+ align-items: flex-end;
177
+ justify-content: flex-start;
178
+ {% elsif text_position == 'bottom_center' %}
179
+ align-items: flex-end;
180
+ justify-content: center;
181
+ {% elsif text_position == 'bottom_right' %}
182
+ align-items: flex-end;
183
+ justify-content: flex-end;
184
+ {% endif %}
185
+ }
186
+
187
+ [data-section-id='{{section.id}}'] .hero__inner .page-width {
188
+ padding: 0;
189
+ {% if text_justify == nil %}
190
+ text-align: center;
191
+ {% else %}
192
+ text-align: {{ text_justify }};
193
+ {% endif %}
194
+ }
195
+
196
+ {% if is_bottom_margin_show %}
197
+ [data-section-id='{{section.id}}'] .overlay-image {
198
+ padding-bottom: 40px;
199
+ }
200
+ {% endif %}
201
+
202
+ [data-section-id='{{section.id}}'] .hero__inner {
203
+ {% if overlay_bg_color == nil %}
204
+ background: {{ '#000000' | color_modify: 'alpha', opacity }} !important;
205
+ {% else %}
206
+ background: {{ overlay_bg_color | color_modify: 'alpha', opacity }} !important;
207
+ {% endif %}
208
+ }
209
+
210
+ [data-section-id='{{section.id}}'] .hero .hero-btn {
211
+ background: {{ button_bg_color }};
212
+ border-color: {{ button_bg_color }};
213
+ color: {{ button_text_color }};
214
+ margin: 0;
215
+ }
216
+ [data-section-id='{{section.id}}'] .hero .hero-btn:is(:hover, :focus) {
217
+ {% assign lighten = 5 %}
218
+ border-color: {{ button_bg_color | color_lighten: lighten }} !important;
219
+ background: {{button_bg_color | color_lighten: lighten}} !important;
220
+ color: {{ button_text_color }} !important;
221
+ cursor: pointer;
222
+ }
223
+ </style>
224
+
225
+ {% javascript %}
226
+
227
+ {% comment %} Calculate the padding of the origin size image {% endcomment %}
228
+ $(function(){
229
+ var imageHeight = {{ images[image_src].height }};
230
+ var imageWidth = {{ images[image_src].width }};
231
+ var imageHeightType = {{ section.settings.image_height | json }};
232
+ var imageRealHeight = $(window).width() * (imageHeight / imageWidth);
233
+ var imagePadding = imageRealHeight * 0.15 + 'px';
234
+ if(imageHeightType === 'origin') {
235
+ $("[data-section-id='{{section.id}}'] .hero__inner .page-width-outer").css({
236
+ 'padding-top': imagePadding,
237
+ 'padding-bottom': imagePadding
238
+ })
239
+ }
240
+ });
241
+ {% endjavascript %}
242
+
243
+ {% schema %}
244
+ {
245
+ "name": "overlay_image",
246
+ "max_blocks": 3,
247
+ "settings": [
248
+ {
249
+ "type": "image_picker",
250
+ "id": "image_src",
251
+ "label": {
252
+ "zh-CN": "图片",
253
+ "en-US": "Image"
254
+ },
255
+ "info": {
256
+ "zh-CN": "建议尺寸(宽*高):1920x667px,高度可自适应",
257
+ "en-US": "Recommended resolution( width * height): 1920*667px, adaptive height"
258
+ },
259
+ "default": ""
260
+ },
261
+ {
262
+ "type": "url",
263
+ "id": "link_to_url",
264
+ "label": {
265
+ "en-US": "Image link",
266
+ "zh-CN": "图片链接"
267
+ },
268
+ "default": ""
269
+ },
270
+ {
271
+ "type": "range",
272
+ "id": "opacity",
273
+ "step": 1,
274
+ "max": 100,
275
+ "min": 0,
276
+ "label": {
277
+ "en-US": "Opacity",
278
+ "zh-CN": "蒙层不透明度"
279
+ },
280
+ "default": 25,
281
+ "unit": "%"
282
+ },
283
+ {
284
+ "type": "color",
285
+ "id": "overlay_bg_color",
286
+ "label": {
287
+ "en-US": "Overlay",
288
+ "zh-CN": "蒙层颜色"
289
+ },
290
+ "default": "#000000"
291
+ },
292
+ {
293
+ "type": "select",
294
+ "id": "image_height",
295
+ "label": {
296
+ "zh-CN": "图片高度",
297
+ "en-US": "Image height"
298
+ },
299
+ "default": "medium",
300
+ "options": [
301
+ {
302
+ "label": {
303
+ "en-US": "Natural",
304
+ "zh-CN": "保留原尺寸"
305
+ },
306
+ "value": "origin"
307
+ },
308
+ {
309
+ "label": {
310
+ "zh-CN": "大",
311
+ "en-US": "Large"
312
+ },
313
+ "value": "large"
314
+ },
315
+ {
316
+ "label": {
317
+ "zh-CN": "中",
318
+ "en-US": "Medium"
319
+ },
320
+ "value": "medium"
321
+ },
322
+ {
323
+ "label": {
324
+ "zh-CN": "小",
325
+ "en-US": "Small"
326
+ },
327
+ "value": "small"
328
+ }
329
+ ]
330
+ },
331
+ {
332
+ "type": "select",
333
+ "id": "alignment",
334
+ "label": {
335
+ "zh-CN": "截取位置",
336
+ "en-US": "Crop"
337
+ },
338
+ "default": "center",
339
+ "options": [
340
+ {
341
+ "label": {
342
+ "en-US": "Top",
343
+ "zh-CN": "上"
344
+ },
345
+ "value": "top"
346
+ },
347
+ {
348
+ "label": {
349
+ "zh-CN": "中",
350
+ "en-US": "Center"
351
+ },
352
+ "value": "center"
353
+ },
354
+ {
355
+ "label": {
356
+ "en-US": "Bottom",
357
+ "zh-CN": "下"
358
+ },
359
+ "value": "bottom"
360
+ }
361
+ ]
362
+ },
363
+ {
364
+ "type": "checkbox",
365
+ "label": {
366
+ "en-US": "Show below space",
367
+ "zh-CN": "显示下间距"
368
+ },
369
+ "id": "is_bottom_margin_show",
370
+ "default": false
371
+ },
372
+ {
373
+ "type": "select",
374
+ "id": "text_size",
375
+ "label": {
376
+ "zh-CN": "标题和正文大小",
377
+ "en-US": "Heading and text size"
378
+ },
379
+ "default": "medium",
380
+ "options": [
381
+ {
382
+ "label": {
383
+ "zh-CN": "小",
384
+ "en-US": "Small"
385
+ },
386
+ "value": "small"
387
+ },
388
+ {
389
+ "label": {
390
+ "zh-CN": "中",
391
+ "en-US": "Medium"
392
+ },
393
+ "value": "medium"
394
+ },
395
+ {
396
+ "label": {
397
+ "zh-CN": "大",
398
+ "en-US": "Large"
399
+ },
400
+ "value": "large"
401
+ }
402
+ ]
403
+ },
404
+ {
405
+ "type": "select",
406
+ "id": "text_position",
407
+ "label": {
408
+ "en-US": "Text layout",
409
+ "zh-CN": "文字布局"
410
+ },
411
+ "default": "center",
412
+ "options": [
413
+ {
414
+ "label": {
415
+ "en-US": "Top left",
416
+ "zh-CN": "上左"
417
+ },
418
+ "value": "top_left"
419
+ },
420
+ {
421
+ "label": {
422
+ "en-US": "Top center",
423
+ "zh-CN": "上中"
424
+ },
425
+ "value": "top_center"
426
+ },
427
+ {
428
+ "label": {
429
+ "en-US": "Top right",
430
+ "zh-CN": "上右"
431
+ },
432
+ "value": "top_right"
433
+ },
434
+ {
435
+ "label": {
436
+ "en-US": "Center left",
437
+ "zh-CN": "中左"
438
+ },
439
+ "value": "center_left"
440
+ },
441
+ {
442
+ "label": {
443
+ "en-US": "Center",
444
+ "zh-CN": "中"
445
+ },
446
+ "value": "center"
447
+ },
448
+ {
449
+ "label": {
450
+ "en-US": "Center right",
451
+ "zh-CN": "中右"
452
+ },
453
+ "value": "center_right"
454
+ },
455
+ {
456
+ "label": {
457
+ "en-US": "Bottom left",
458
+ "zh-CN": "下左"
459
+ },
460
+ "value": "bottom_left"
461
+ },
462
+ {
463
+ "label": {
464
+ "en-US": "Bottom center",
465
+ "zh-CN": "下中"
466
+ },
467
+ "value": "bottom_center"
468
+ },
469
+ {
470
+ "label": {
471
+ "en-US": "Bottom right",
472
+ "zh-CN": "下右"
473
+ },
474
+ "value": "bottom_right"
475
+ }
476
+ ]
477
+ },
478
+ {
479
+ "type": "select",
480
+ "id": "text_justify",
481
+ "label": {
482
+ "en-US": "Text alignment",
483
+ "zh-CN": "文字对齐方式"
484
+ },
485
+ "default": "center",
486
+ "options": [
487
+ {
488
+ "label": {
489
+ "en-US": "Left",
490
+ "zh-CN": "居左"
491
+ },
492
+ "value": "left"
493
+ },
494
+ {
495
+ "label": {
496
+ "zh-CN": "居中",
497
+ "en-US": "Center"
498
+ },
499
+ "value": "center"
500
+ },
501
+ {
502
+ "label": {
503
+ "en-US": "Right",
504
+ "zh-CN": "居右"
505
+ },
506
+ "value": "right"
507
+ }
508
+ ]
509
+ },
510
+ {
511
+ "type": "color",
512
+ "id": "text_color",
513
+ "label": {
514
+ "en-US": "Text color",
515
+ "zh-CN": "文字颜色"
516
+ },
517
+ "default": "#FFFFFF"
518
+ }
519
+ ],
520
+ "blocks": [
521
+ {
522
+ "type": "heading",
523
+ "name": {
524
+ "zh-CN": "标题",
525
+ "en-US": "Heading"
526
+ },
527
+ "limit": 1,
528
+ "settings": [
529
+ {
530
+ "type": "text",
531
+ "id": "title",
532
+ "label": {
533
+ "en-US": "Heading",
534
+ "zh-CN": "标题"
535
+ },
536
+ "default": "Image with text overlay"
537
+ }
538
+ ]
539
+ },
540
+ {
541
+ "type": "text",
542
+ "name": {
543
+ "zh-CN": "文字",
544
+ "en-US": "Text"
545
+ },
546
+ "limit": 1,
547
+ "settings": [
548
+ {
549
+ "type": "richtext",
550
+ "id": "text",
551
+ "label": {
552
+ "en-US": "Text",
553
+ "zh-CN": "正文"
554
+ },
555
+ "default": "Use overlay text to give your customers insight into your brand. Select imagery and text that relates to your style and story"
556
+ }
557
+ ]
558
+ },
559
+ {
560
+ "type": "button",
561
+ "name": {
562
+ "zh-CN": "按钮",
563
+ "en-US": "Button"
564
+ },
565
+ "limit": 1,
566
+ "settings": [
567
+ {
568
+ "type": "text",
569
+ "id": "button_label",
570
+ "label": {
571
+ "zh-CN": "按钮文字",
572
+ "en-US": "Button text"
573
+ },
574
+ "default": "Option button"
575
+ },
576
+ {
577
+ "type": "url",
578
+ "id": "button_link",
579
+ "label": {
580
+ "en-US": "Button link",
581
+ "zh-CN": "按钮链接"
582
+ },
583
+ "default": ""
584
+ },
585
+ {
586
+ "type": "color",
587
+ "id": "button_bg_color",
588
+ "label": {
589
+ "en-US": "Button background color",
590
+ "zh-CN": "按钮背景颜色"
591
+ },
592
+ "default": "#ffffff"
593
+ },
594
+ {
595
+ "type": "color",
596
+ "id": "button_text_color",
597
+ "label": {
598
+ "en-US": "Button text color",
599
+ "zh-CN": "按钮文字颜色"
600
+ },
601
+ "default": "#000000"
602
+ }
603
+ ]
604
+ }
605
+ ],
606
+ "presets": [
607
+ {
608
+ "name": "overlay_image",
609
+ "cname": {
610
+ "en-US": "Single image",
611
+ "zh-CN": "单图片"
612
+ },
613
+ "category": {
614
+ "en-US": "Material",
615
+ "zh-CN": "素材"
616
+ },
617
+ "ccategory": {
618
+ "en-US": "Material",
619
+ "zh-CN": "素材"
620
+ },
621
+ "display": true,
622
+ "blocks": [
623
+ {
624
+ "type": "heading",
625
+ "settings": {
626
+ "title": "Image with text overlay"
627
+ }
628
+ },
629
+ {
630
+ "type": "text",
631
+ "settings": {
632
+ "text": "Use overlay text to give your customers insight into your brand. Select imagery and text that relates to your style and story"
633
+ }
634
+ },
635
+ {
636
+ "type": "button",
637
+ "settings": {
638
+ "button_label": "Option button",
639
+ "button_link": "",
640
+ "button_bg_color": "#ffffff",
641
+ "button_text_color": "#000000"
642
+ }
643
+ }
644
+ ]
645
+ }
646
+ ]
647
+ }
648
+ {% endschema %}
@@ -0,0 +1,39 @@
1
+ {% use 'page_detail.css' %}
2
+ <div class="overflow-hidden">
3
+ <div class="container container-page-gap">
4
+ <div class="row">
5
+ <div class="page_template dj-mce-view w-100">
6
+ {% if page.title %}<p class="page_template__title h2 w-100 text-center dj_skin_title_font">{{page.title}}</p>{% endif %}
7
+ {% if page.content %}<div class="dj_skin_text">{{page.content}}</div>{% endif %}
8
+ </div>
9
+ </div>
10
+ </div>
11
+ </div>
12
+
13
+ {% schema %}
14
+ {
15
+ "name": "page_detail",
16
+ "templates": ["page"],
17
+ "limit": 1,
18
+ "settings": [],
19
+ "presets": [
20
+ {
21
+ "name": "page_detail",
22
+ "cname": {
23
+ "zh-CN": "自定义页面",
24
+ "en-US": "Custom page"
25
+ },
26
+ "category": {
27
+ "zh-CN": "基础",
28
+ "en-US": "Basic"
29
+ },
30
+ "ccategory": {
31
+ "zh-CN": "基础",
32
+ "en-US": "Basic"
33
+ },
34
+ "display": true,
35
+ "blocks": []
36
+ }
37
+ ]
38
+ }
39
+ {% endschema %}