appscms-tools-theme 2.2.6 → 2.2.9
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.
- checksums.yaml +4 -4
- data/_data/feature/en/theframe.json +10 -5
- data/_data/photo-categories.json +442 -1
- data/_includes/script.html +5 -1
- data/_layouts/feature.html +3 -0
- data/_layouts/frame.html +160 -93
- data/assets/css/frame.css +88 -0
- data/assets/js/frame.js +22 -27
- data/assets/js/photo-effects.json +11 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1b523701948b5c98ba153ea9273e0ac3d4e4e869c69c7239d12950e006cfb044
|
|
4
|
+
data.tar.gz: b0b8321dcb0b19fbe5a96f2bcd467bc152528a6cd97717da8fe6323cc4d0890e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4dd9896964d15ae2bd312e44b1ef65d8a11d99017af1f5050dcffb3860f0d49e44fc33cda5c13f0e3e6e08b5f17640de380228c83937c28c609e131d82d2ce61
|
|
7
|
+
data.tar.gz: fe51f0f1792bb51e48424fc1a29d0b1a5773f7ea853dd4eabb28e586ea680f418d0db821bf4f0cfa41cb39973df302f9155af139ae78ce37a92f9060b40ff8c3
|
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
"https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.5.12/cropper.css",
|
|
28
28
|
"/assets/css/frame.css"
|
|
29
29
|
],
|
|
30
|
-
"mainPreviewImage": "https://cdn.photofunia.com/effects/
|
|
30
|
+
"mainPreviewImage": "https://cdn.photofunia.com/effects/balloon/icons/medium.jpg",
|
|
31
31
|
"imageSamples": [
|
|
32
|
-
"https://cdn.photofunia.com/effects/
|
|
33
|
-
"https://cdn.photofunia.com/effects/
|
|
34
|
-
"https://cdn.photofunia.com/effects/
|
|
35
|
-
"https://cdn.photofunia.com/effects/
|
|
32
|
+
"https://cdn.photofunia.com/effects/balloon/icons/medium.jpg",
|
|
33
|
+
"https://cdn.photofunia.com/effects/balloon/icons/medium.jpg",
|
|
34
|
+
"https://cdn.photofunia.com/effects/balloon/icons/medium.jpg",
|
|
35
|
+
"https://cdn.photofunia.com/effects/balloon/icons/medium.jpg"
|
|
36
36
|
],
|
|
37
37
|
"image": {
|
|
38
38
|
"src": "/assets/images/gallary.png",
|
|
@@ -46,6 +46,11 @@
|
|
|
46
46
|
{
|
|
47
47
|
"type": "image",
|
|
48
48
|
"label": "1."
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"type": "text",
|
|
52
|
+
"id": "text-1",
|
|
53
|
+
"label": "text"
|
|
49
54
|
}
|
|
50
55
|
]
|
|
51
56
|
}
|
data/_data/photo-categories.json
CHANGED
|
@@ -1,6 +1,447 @@
|
|
|
1
1
|
[
|
|
2
2
|
{
|
|
3
|
-
"category": "
|
|
3
|
+
"category": "All effects",
|
|
4
|
+
"features": [
|
|
5
|
+
{
|
|
6
|
+
"name": "Calendar",
|
|
7
|
+
"link": "/calendar"
|
|
8
|
+
}
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"category": "All effects",
|
|
13
|
+
"features": [
|
|
14
|
+
{
|
|
15
|
+
"name": "Calendar",
|
|
16
|
+
"link": "/calendar"
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"category": "All effects",
|
|
22
|
+
"features": [
|
|
23
|
+
{
|
|
24
|
+
"name": "Calendar",
|
|
25
|
+
"link": "/calendar"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"category": "All effects",
|
|
31
|
+
"features": [
|
|
32
|
+
{
|
|
33
|
+
"name": "Calendar",
|
|
34
|
+
"link": "/calendar"
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"category": "All effects",
|
|
40
|
+
"features": [
|
|
41
|
+
{
|
|
42
|
+
"name": "Calendar",
|
|
43
|
+
"link": "/calendar"
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"category": "All effects",
|
|
49
|
+
"features": [
|
|
50
|
+
{
|
|
51
|
+
"name": "Calendar",
|
|
52
|
+
"link": "/calendar"
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"category": "All effects",
|
|
58
|
+
"features": [
|
|
59
|
+
{
|
|
60
|
+
"name": "Calendar",
|
|
61
|
+
"link": "/calendar"
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"category": "All effects",
|
|
67
|
+
"features": [
|
|
68
|
+
{
|
|
69
|
+
"name": "Calendar",
|
|
70
|
+
"link": "/calendar"
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"category": "All effects",
|
|
76
|
+
"features": [
|
|
77
|
+
{
|
|
78
|
+
"name": "Calendar",
|
|
79
|
+
"link": "/calendar"
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"category": "All effects",
|
|
85
|
+
"features": [
|
|
86
|
+
{
|
|
87
|
+
"name": "Calendar",
|
|
88
|
+
"link": "/calendar"
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"category": "All effects",
|
|
94
|
+
"features": [
|
|
95
|
+
{
|
|
96
|
+
"name": "Calendar",
|
|
97
|
+
"link": "/calendar"
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"category": "All effects",
|
|
103
|
+
"features": [
|
|
104
|
+
{
|
|
105
|
+
"name": "Calendar",
|
|
106
|
+
"link": "/calendar"
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"category": "All effects",
|
|
112
|
+
"features": [
|
|
113
|
+
{
|
|
114
|
+
"name": "Calendar",
|
|
115
|
+
"link": "/calendar"
|
|
116
|
+
}
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"category": "All effects",
|
|
121
|
+
"features": [
|
|
122
|
+
{
|
|
123
|
+
"name": "Calendar",
|
|
124
|
+
"link": "/calendar"
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"category": "All effects",
|
|
130
|
+
"features": [
|
|
131
|
+
{
|
|
132
|
+
"name": "Calendar",
|
|
133
|
+
"link": "/calendar"
|
|
134
|
+
}
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"category": "All effects",
|
|
139
|
+
"features": [
|
|
140
|
+
{
|
|
141
|
+
"name": "Calendar",
|
|
142
|
+
"link": "/calendar"
|
|
143
|
+
}
|
|
144
|
+
]
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"category": "All effects",
|
|
148
|
+
"features": [
|
|
149
|
+
{
|
|
150
|
+
"name": "Calendar",
|
|
151
|
+
"link": "/calendar"
|
|
152
|
+
}
|
|
153
|
+
]
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"category": "All effects",
|
|
157
|
+
"features": [
|
|
158
|
+
{
|
|
159
|
+
"name": "Calendar",
|
|
160
|
+
"link": "/calendar"
|
|
161
|
+
}
|
|
162
|
+
]
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"category": "All effects",
|
|
166
|
+
"features": [
|
|
167
|
+
{
|
|
168
|
+
"name": "Calendar",
|
|
169
|
+
"link": "/calendar"
|
|
170
|
+
}
|
|
171
|
+
]
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"category": "All effects",
|
|
175
|
+
"features": [
|
|
176
|
+
{
|
|
177
|
+
"name": "Calendar",
|
|
178
|
+
"link": "/calendar"
|
|
179
|
+
}
|
|
180
|
+
]
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"category": "All effects",
|
|
184
|
+
"features": [
|
|
185
|
+
{
|
|
186
|
+
"name": "Calendar",
|
|
187
|
+
"link": "/calendar"
|
|
188
|
+
}
|
|
189
|
+
]
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"category": "All effects",
|
|
193
|
+
"features": [
|
|
194
|
+
{
|
|
195
|
+
"name": "Calendar",
|
|
196
|
+
"link": "/calendar"
|
|
197
|
+
}
|
|
198
|
+
]
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"category": "All effects",
|
|
202
|
+
"features": [
|
|
203
|
+
{
|
|
204
|
+
"name": "Calendar",
|
|
205
|
+
"link": "/calendar"
|
|
206
|
+
}
|
|
207
|
+
]
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"category": "All effects",
|
|
211
|
+
"features": [
|
|
212
|
+
{
|
|
213
|
+
"name": "Calendar",
|
|
214
|
+
"link": "/calendar"
|
|
215
|
+
}
|
|
216
|
+
]
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"category": "All effects",
|
|
220
|
+
"features": [
|
|
221
|
+
{
|
|
222
|
+
"name": "Calendar",
|
|
223
|
+
"link": "/calendar"
|
|
224
|
+
}
|
|
225
|
+
]
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"category": "All effects",
|
|
229
|
+
"features": [
|
|
230
|
+
{
|
|
231
|
+
"name": "Calendar",
|
|
232
|
+
"link": "/calendar"
|
|
233
|
+
}
|
|
234
|
+
]
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"category": "All effects",
|
|
238
|
+
"features": [
|
|
239
|
+
{
|
|
240
|
+
"name": "Calendar",
|
|
241
|
+
"link": "/calendar"
|
|
242
|
+
}
|
|
243
|
+
]
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"category": "All effects",
|
|
247
|
+
"features": [
|
|
248
|
+
{
|
|
249
|
+
"name": "Calendar",
|
|
250
|
+
"link": "/calendar"
|
|
251
|
+
}
|
|
252
|
+
]
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"category": "All effects",
|
|
256
|
+
"features": [
|
|
257
|
+
{
|
|
258
|
+
"name": "Calendar",
|
|
259
|
+
"link": "/calendar"
|
|
260
|
+
}
|
|
261
|
+
]
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"category": "All effects",
|
|
265
|
+
"features": [
|
|
266
|
+
{
|
|
267
|
+
"name": "Calendar",
|
|
268
|
+
"link": "/calendar"
|
|
269
|
+
}
|
|
270
|
+
]
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"category": "All effects",
|
|
274
|
+
"features": [
|
|
275
|
+
{
|
|
276
|
+
"name": "Calendar",
|
|
277
|
+
"link": "/calendar"
|
|
278
|
+
}
|
|
279
|
+
]
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"category": "All effects",
|
|
283
|
+
"features": [
|
|
284
|
+
{
|
|
285
|
+
"name": "Calendar",
|
|
286
|
+
"link": "/calendar"
|
|
287
|
+
}
|
|
288
|
+
]
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"category": "All effects",
|
|
292
|
+
"features": [
|
|
293
|
+
{
|
|
294
|
+
"name": "Calendar",
|
|
295
|
+
"link": "/calendar"
|
|
296
|
+
}
|
|
297
|
+
]
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"category": "All effects",
|
|
301
|
+
"features": [
|
|
302
|
+
{
|
|
303
|
+
"name": "Calendar",
|
|
304
|
+
"link": "/calendar"
|
|
305
|
+
}
|
|
306
|
+
]
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"category": "All effects",
|
|
310
|
+
"features": [
|
|
311
|
+
{
|
|
312
|
+
"name": "Calendar",
|
|
313
|
+
"link": "/calendar"
|
|
314
|
+
}
|
|
315
|
+
]
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"category": "All effects",
|
|
319
|
+
"features": [
|
|
320
|
+
{
|
|
321
|
+
"name": "Calendar",
|
|
322
|
+
"link": "/calendar"
|
|
323
|
+
}
|
|
324
|
+
]
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"category": "All effects",
|
|
328
|
+
"features": [
|
|
329
|
+
{
|
|
330
|
+
"name": "Calendar",
|
|
331
|
+
"link": "/calendar"
|
|
332
|
+
}
|
|
333
|
+
]
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"category": "All effects",
|
|
337
|
+
"features": [
|
|
338
|
+
{
|
|
339
|
+
"name": "Calendar",
|
|
340
|
+
"link": "/calendar"
|
|
341
|
+
}
|
|
342
|
+
]
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"category": "All effects",
|
|
346
|
+
"features": [
|
|
347
|
+
{
|
|
348
|
+
"name": "Calendar",
|
|
349
|
+
"link": "/calendar"
|
|
350
|
+
}
|
|
351
|
+
]
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"category": "All effects",
|
|
355
|
+
"features": [
|
|
356
|
+
{
|
|
357
|
+
"name": "Calendar",
|
|
358
|
+
"link": "/calendar"
|
|
359
|
+
}
|
|
360
|
+
]
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"category": "All effects",
|
|
364
|
+
"features": [
|
|
365
|
+
{
|
|
366
|
+
"name": "Calendar",
|
|
367
|
+
"link": "/calendar"
|
|
368
|
+
}
|
|
369
|
+
]
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
"category": "All effects",
|
|
373
|
+
"features": [
|
|
374
|
+
{
|
|
375
|
+
"name": "Calendar",
|
|
376
|
+
"link": "/calendar"
|
|
377
|
+
}
|
|
378
|
+
]
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"category": "All effects",
|
|
382
|
+
"features": [
|
|
383
|
+
{
|
|
384
|
+
"name": "Calendar",
|
|
385
|
+
"link": "/calendar"
|
|
386
|
+
}
|
|
387
|
+
]
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"category": "All effects",
|
|
391
|
+
"features": [
|
|
392
|
+
{
|
|
393
|
+
"name": "Calendar",
|
|
394
|
+
"link": "/calendar"
|
|
395
|
+
}
|
|
396
|
+
]
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"category": "All effects",
|
|
400
|
+
"features": [
|
|
401
|
+
{
|
|
402
|
+
"name": "Calendar",
|
|
403
|
+
"link": "/calendar"
|
|
404
|
+
}
|
|
405
|
+
]
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"category": "All effects",
|
|
409
|
+
"features": [
|
|
410
|
+
{
|
|
411
|
+
"name": "Calendar",
|
|
412
|
+
"link": "/calendar"
|
|
413
|
+
}
|
|
414
|
+
]
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
"category": "All effects",
|
|
418
|
+
"features": [
|
|
419
|
+
{
|
|
420
|
+
"name": "Calendar",
|
|
421
|
+
"link": "/calendar"
|
|
422
|
+
}
|
|
423
|
+
]
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
"category": "All effects",
|
|
427
|
+
"features": [
|
|
428
|
+
{
|
|
429
|
+
"name": "Calendar",
|
|
430
|
+
"link": "/calendar"
|
|
431
|
+
}
|
|
432
|
+
]
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
"category": "All effects",
|
|
436
|
+
"features": [
|
|
437
|
+
{
|
|
438
|
+
"name": "Calendar",
|
|
439
|
+
"link": "/calendar"
|
|
440
|
+
}
|
|
441
|
+
]
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"category": "All effects",
|
|
4
445
|
"features": [
|
|
5
446
|
{
|
|
6
447
|
"name": "Calendar",
|
data/_includes/script.html
CHANGED
|
@@ -26,7 +26,11 @@ replace: "$tool", page.tool }}
|
|
|
26
26
|
{%- endfor -%}
|
|
27
27
|
{%- endif -%}
|
|
28
28
|
<script src="//cdnjs.cloudflare.com/ajax/libs/webfont/1.6.28/webfontloader.js" crossorigin="anonymous"></script>
|
|
29
|
-
|
|
29
|
+
{%- assign font = "Source Sans Pro" -%}
|
|
30
|
+
{%- if page.layout == "frame" -%}
|
|
31
|
+
{%- assign font = "PT Sans" -%}
|
|
32
|
+
{%- endif -%}
|
|
33
|
+
<script>WebFont.load({ google: { families: ['{{font}}:200,300,400,500,600,700,800&display=swap'] } })</script>
|
|
30
34
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"
|
|
31
35
|
integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w=="
|
|
32
36
|
crossorigin="anonymous" referrerpolicy="no-referrer" />
|
data/_layouts/feature.html
CHANGED
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
</div>
|
|
28
28
|
</div>
|
|
29
29
|
{%- endif -%}
|
|
30
|
+
{%- if page.layout != "frame" -%}
|
|
30
31
|
<div class="flex-container pb-3">
|
|
31
32
|
<div class="flex-class py-4 mt-4 mt-md-0 ">
|
|
32
33
|
<div class="d-flex justify-content-center align-items-center"><span class="fHhdVc">
|
|
@@ -66,6 +67,8 @@
|
|
|
66
67
|
</h2>
|
|
67
68
|
</div>
|
|
68
69
|
</div>
|
|
70
|
+
{%- endif -%}
|
|
71
|
+
|
|
69
72
|
{%- if site.noFeatureBox == true -%}
|
|
70
73
|
<div class="feature-content-box" id="theme-content-box">
|
|
71
74
|
{{content}}
|
data/_layouts/frame.html
CHANGED
|
@@ -3,123 +3,190 @@ layout: feature
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
{%- assign fileData = site.data[page.folderName][page.lang][page.fileName] -%}
|
|
6
|
-
<div class="container">
|
|
7
|
-
<div class="
|
|
8
|
-
<div class="
|
|
9
|
-
<div class="
|
|
10
|
-
<
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
6
|
+
<div class="container mt-4">
|
|
7
|
+
<div class="col-md-11 mx-auto">
|
|
8
|
+
<div class="row">
|
|
9
|
+
<div class="col-md-3">
|
|
10
|
+
<div class="categories-section">
|
|
11
|
+
</div>
|
|
12
|
+
<div class="categories-list">
|
|
13
|
+
<div class="accordion" id="accordionExample">
|
|
14
|
+
{%- for item in site.data.photo-categories -%}
|
|
15
|
+
<div class="card">
|
|
16
|
+
<div class="card-header" id="heading-{{forloop.index}}">
|
|
17
|
+
<h3 class="mb-0">
|
|
18
|
+
<button class="btn btn-block text-left p-0" type="button" data-toggle="collapse"
|
|
19
|
+
data-target="#collapse-{{forloop.index}}" aria-expanded="true"
|
|
20
|
+
aria-controls="collapse-{{forloop.index}}">
|
|
21
|
+
{{item.category}}
|
|
22
|
+
</button>
|
|
23
|
+
</h3>
|
|
24
|
+
</div>
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
<div id="collapse-{{forloop.index}}" class="collapse"
|
|
27
|
+
aria-labelledby="heading-{{forloop.index}}" data-parent="#accordionExample">
|
|
28
|
+
<div class="card-body">
|
|
29
|
+
{%- for i in item.features -%}
|
|
30
|
+
<a href="{{i.link}}">{{i.name}}</a>
|
|
31
|
+
{%- endfor -%}
|
|
32
|
+
</div>
|
|
32
33
|
</div>
|
|
33
34
|
</div>
|
|
35
|
+
{%- endfor -%}
|
|
34
36
|
</div>
|
|
35
|
-
{%- endfor -%}
|
|
36
37
|
</div>
|
|
37
|
-
</div>
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
<form id="effect-form" data-feature-name="{{page.featureName}}">
|
|
44
|
-
{%- for item in fileData.elements -%}
|
|
45
|
-
{%- if item.type == "image" -%}
|
|
46
|
-
<label for="{{item.id}}">{{item.label}}</label>
|
|
47
|
-
<button type="button" id="{{item.id}}" data-index="{{forloop.index}}"
|
|
48
|
-
onclick="clickInput(this)">Choose
|
|
49
|
-
image</button>
|
|
50
|
-
<input class="d-none" id="file-{{forloop.index}}" type="file" onchange="fileOnChange(this)"
|
|
51
|
-
data-index="{{forloop.index}}" accept=".webp,.png,.jpg,.jpeg" required />
|
|
52
|
-
{%- endif -%}
|
|
53
|
-
{%- if item.type == "text" -%}
|
|
54
|
-
<label for="{{item.id}}">{{item.label}}</label>
|
|
55
|
-
<input type="text" id="{{item.id}}">
|
|
56
|
-
{%- endif -%}
|
|
57
|
-
{%- endfor -%}
|
|
39
|
+
</div>
|
|
40
|
+
<div class="col-md-9">
|
|
41
|
+
<div class="row">
|
|
42
|
+
<div class="col-md-8">
|
|
58
43
|
<div>
|
|
59
|
-
<
|
|
44
|
+
<div>
|
|
45
|
+
<div>
|
|
46
|
+
{%- assign frameh1 = fileData.H1 | replace: "$variable", page.value -%}
|
|
47
|
+
<h1 class="frame-h1">{%- for word in frameh1-%}
|
|
48
|
+
{%- if forloop.first == true -%}
|
|
49
|
+
{{word | capitalize }}
|
|
50
|
+
{%- else -%}
|
|
51
|
+
{{word}}
|
|
52
|
+
{%- endif -%}
|
|
53
|
+
{%- endfor -%}</h1>
|
|
54
|
+
</div>
|
|
55
|
+
{%- assign frameh2 = fileData.H2 | replace: "$variable", page.value -%}
|
|
56
|
+
<h2 class="frame-h2">
|
|
57
|
+
{%- for word in frameh2 -%}
|
|
58
|
+
{%- if forloop.first == true -%}
|
|
59
|
+
{{word | capitalize }}
|
|
60
|
+
{%- else -%}
|
|
61
|
+
{{word}}
|
|
62
|
+
{%- endif -%}
|
|
63
|
+
{%- endfor -%}
|
|
64
|
+
</h2>
|
|
65
|
+
</div>
|
|
60
66
|
</div>
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
<
|
|
67
|
+
<div class="preview-section">
|
|
68
|
+
<img src="{{fileData.mainPreviewImage}}" alt="">
|
|
69
|
+
</div>
|
|
70
|
+
<h3 id="example-h3">Examples</h3>
|
|
71
|
+
<div class="image-samples" onclick="openExamplesModal()">
|
|
72
|
+
{%- for item in fileData.imageSamples -%}
|
|
73
|
+
<img src="{{item}}" alt="sample">
|
|
74
|
+
{%- endfor -%}
|
|
75
|
+
</div>
|
|
76
|
+
|
|
66
77
|
</div>
|
|
67
|
-
<
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
78
|
+
<div class="col-md-4">
|
|
79
|
+
<form id="effect-form" data-feature-name="{{page.featureName}}">
|
|
80
|
+
{%- for item in fileData.elements -%}
|
|
81
|
+
{%- if item.type == "image" -%}
|
|
82
|
+
<label for="{{item.id}}">{{item.label}}</label>
|
|
83
|
+
<button type="button" id="{{item.id}}" data-index="{{forloop.index}}"
|
|
84
|
+
onclick="clickInput(this)">Choose
|
|
85
|
+
image</button>
|
|
86
|
+
<input class="d-none" id="file-{{forloop.index}}" type="file" onchange="fileOnChange(this)"
|
|
87
|
+
data-index="{{forloop.index}}" accept=".webp,.png,.jpg,.jpeg" required />
|
|
88
|
+
{%- endif -%}
|
|
89
|
+
{%- if item.type == "text" -%}
|
|
90
|
+
<label for="{{item.id}}">{{item.label}}</label>
|
|
91
|
+
<input type="text" id="{{item.id}}">
|
|
92
|
+
{%- endif -%}
|
|
93
|
+
{%- endfor -%}
|
|
94
|
+
<div>
|
|
95
|
+
<button type="submit">Go</button>
|
|
96
|
+
</div>
|
|
97
|
+
</form>
|
|
72
98
|
</div>
|
|
73
99
|
</div>
|
|
74
|
-
</div>
|
|
75
100
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
101
|
+
<div class="crop-image-modal-container">
|
|
102
|
+
<div class="row w-100">
|
|
103
|
+
<div class="crop-image-modal col-lg-6 col-md-8 mx-auto">
|
|
104
|
+
<div class="crop-image-modal-header" style="background-color:{{fileData.color}} ;">
|
|
105
|
+
<div>Select an area you would like to use</div>
|
|
106
|
+
<div>
|
|
107
|
+
<button onclick="closeModal()">
|
|
108
|
+
<i class="fas fa-times"></i>
|
|
109
|
+
</button>
|
|
110
|
+
</div>
|
|
85
111
|
</div>
|
|
86
|
-
|
|
87
|
-
<div class="crop-image-modal-body">
|
|
112
|
+
<div class="crop-image-modal-body">
|
|
88
113
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
114
|
+
</div>
|
|
115
|
+
<div class="crop-btn-section">
|
|
116
|
+
<button id="crop" class="mx-auto my-3"
|
|
117
|
+
style="background-color: {{fileData.color}};">crop</button>
|
|
118
|
+
</div>
|
|
93
119
|
</div>
|
|
94
120
|
</div>
|
|
95
121
|
</div>
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
122
|
+
<div class="example-images-modal-container">
|
|
123
|
+
<div class="row w-100">
|
|
124
|
+
<div class="example-images-modal col-lg-6 col-md-8 mx-auto">
|
|
125
|
+
<div class="crop-image-modal-header" style="background-color:{{fileData.color}} ;">
|
|
126
|
+
<div>Examples</div>
|
|
127
|
+
<div>
|
|
128
|
+
<button onclick="closeExamplesModal()">
|
|
129
|
+
<i class="fas fa-times"></i>
|
|
130
|
+
</button>
|
|
131
|
+
</div>
|
|
104
132
|
</div>
|
|
105
|
-
<div
|
|
133
|
+
<div class="example-images-modal-body">
|
|
134
|
+
<div id="carouselExampleFade" class="carousel slide carousel-fade" data-ride="carousel">
|
|
135
|
+
<div class="carousel-inner w-75 mx-auto">
|
|
136
|
+
{%- for item in fileData.imageSamples -%}
|
|
137
|
+
{%- if forloop.index == 1 -%}
|
|
138
|
+
<div class="carousel-item active">
|
|
139
|
+
<img src="{{item}}" class="d-block w-100" alt="{{item}}">
|
|
140
|
+
</div>
|
|
141
|
+
{%- endif -%}
|
|
142
|
+
<div class="carousel-item">
|
|
143
|
+
<img src="{{item}}" class="d-block w-100" alt="{{item}}">
|
|
144
|
+
</div>
|
|
145
|
+
{%- endfor -%}
|
|
146
|
+
</div>
|
|
147
|
+
<button class="carousel-control-prev" type="button"
|
|
148
|
+
data-target="#carouselExampleFade" data-slide="prev">
|
|
149
|
+
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
|
|
150
|
+
<span class="sr-only">Previous</span>
|
|
151
|
+
</button>
|
|
152
|
+
<button class="carousel-control-next" type="button"
|
|
153
|
+
data-target="#carouselExampleFade" data-slide="next">
|
|
154
|
+
<span class="carousel-control-next-icon" aria-hidden="true"></span>
|
|
155
|
+
<span class="sr-only">Next</span>
|
|
156
|
+
</button>
|
|
157
|
+
</div>
|
|
106
158
|
</div>
|
|
159
|
+
|
|
107
160
|
</div>
|
|
108
161
|
</div>
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
162
|
+
</div>
|
|
163
|
+
<div id="workspace" data-name="together_forever" style="display: none;">
|
|
164
|
+
<div class="row">
|
|
165
|
+
<div class="col-md-8 mx-auto">
|
|
166
|
+
<div class="select-img-panel">
|
|
167
|
+
<div id="saving-data" style="display: none;">
|
|
168
|
+
<img loading="lazy" src="/img/save.gif" alt="saving"> <span class="ml-2">Saving your
|
|
169
|
+
images...</span>
|
|
170
|
+
</div>
|
|
171
|
+
<div id="canvas-panel">
|
|
172
|
+
</div>
|
|
120
173
|
</div>
|
|
121
174
|
</div>
|
|
175
|
+
<div class="col-md-4">
|
|
176
|
+
<div class="options-panel">
|
|
177
|
+
<div class="title">
|
|
178
|
+
|
|
179
|
+
</div>
|
|
180
|
+
<div class="download-wrapper">
|
|
181
|
+
<button id="download-button" style="background-color: {{fileData.color}};"><svg
|
|
182
|
+
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
|
183
|
+
<path
|
|
184
|
+
d="M256 0C114.6 0 0 114.6 0 256c0 141.4 114.6 256 256 256s256-114.6 256-256C512 114.6 397.4 0 256 0zM382.6 302.6l-103.1 103.1C270.7 414.6 260.9 416 256 416c-4.881 0-14.65-1.391-22.65-9.398L129.4 302.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 306.8V128c0-17.69 14.33-32 32-32s32 14.31 32 32v178.8l49.38-49.38c12.5-12.5 32.75-12.5 45.25 0S395.1 290.1 382.6 302.6z" />
|
|
185
|
+
</svg>Download</button>
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
122
188
|
|
|
189
|
+
</div>
|
|
123
190
|
</div>
|
|
124
191
|
</div>
|
|
125
192
|
</div>
|
data/assets/css/frame.css
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
body {
|
|
2
|
+
font-family: 'PT Sans', sans-serif !important;
|
|
3
|
+
}
|
|
1
4
|
#img-svg {
|
|
2
5
|
margin: auto;
|
|
3
6
|
margin-top: 16px;
|
|
@@ -370,6 +373,7 @@ input {
|
|
|
370
373
|
color: #0f0c0c;
|
|
371
374
|
border: 1px solid #ccc;
|
|
372
375
|
}
|
|
376
|
+
.example-images-modal-container,
|
|
373
377
|
.crop-image-modal-container {
|
|
374
378
|
position: fixed;
|
|
375
379
|
display: none;
|
|
@@ -382,6 +386,7 @@ input {
|
|
|
382
386
|
z-index: 999999;
|
|
383
387
|
padding: 0px 20px;
|
|
384
388
|
}
|
|
389
|
+
.example-images-modal,
|
|
385
390
|
.crop-image-modal {
|
|
386
391
|
height: fit-content;
|
|
387
392
|
background-color: #fff;
|
|
@@ -391,6 +396,7 @@ input {
|
|
|
391
396
|
padding: 0;
|
|
392
397
|
overflow-y: auto;
|
|
393
398
|
}
|
|
399
|
+
.example-images-modal-header,
|
|
394
400
|
.crop-image-modal-header {
|
|
395
401
|
border-top-right-radius: 5px;
|
|
396
402
|
border-top-left-radius: 5px;
|
|
@@ -401,6 +407,7 @@ input {
|
|
|
401
407
|
align-items: center;
|
|
402
408
|
padding: 10px 20px;
|
|
403
409
|
}
|
|
410
|
+
.example-images-modal-header div,
|
|
404
411
|
.crop-image-modal-header div {
|
|
405
412
|
height: 100%;
|
|
406
413
|
display: flex;
|
|
@@ -408,18 +415,22 @@ input {
|
|
|
408
415
|
font-size: 20px;
|
|
409
416
|
color: #fff;
|
|
410
417
|
}
|
|
418
|
+
.example-images-modal-body,
|
|
411
419
|
.crop-image-modal-body {
|
|
412
420
|
width: 450px;
|
|
413
421
|
margin: 10px auto;
|
|
414
422
|
}
|
|
423
|
+
.example-images-modal-header button,
|
|
415
424
|
.crop-image-modal-header button {
|
|
416
425
|
border: none;
|
|
417
426
|
background-color: transparent;
|
|
418
427
|
}
|
|
428
|
+
.example-images-modal-header button i,
|
|
419
429
|
.crop-image-modal-header button i {
|
|
420
430
|
color: #fff;
|
|
421
431
|
font-size: 20px;
|
|
422
432
|
}
|
|
433
|
+
.example-images-modal-body,
|
|
423
434
|
.crop-image-modal-body {
|
|
424
435
|
border-top-right-radius: 5px;
|
|
425
436
|
border-top-left-radius: 5px;
|
|
@@ -429,3 +440,80 @@ input {
|
|
|
429
440
|
padding: 7px 14px;
|
|
430
441
|
color: #fff;
|
|
431
442
|
}
|
|
443
|
+
.carousel-control-next,
|
|
444
|
+
.carousel-control-prev {
|
|
445
|
+
border: none;
|
|
446
|
+
background: none;
|
|
447
|
+
height: 40px;
|
|
448
|
+
background: #ff5554;
|
|
449
|
+
top: 50%;
|
|
450
|
+
}
|
|
451
|
+
.accordion > .card > .card-header {
|
|
452
|
+
background: none;
|
|
453
|
+
border: none;
|
|
454
|
+
height: 34px;
|
|
455
|
+
padding: 0;
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
.accordion > .card {
|
|
459
|
+
border: none;
|
|
460
|
+
border-bottom: 1px solid #f2f2f2 !important;
|
|
461
|
+
display: block;
|
|
462
|
+
padding: 7px 9px;
|
|
463
|
+
color: #444;
|
|
464
|
+
text-decoration: none;
|
|
465
|
+
font-size: 0.95em;
|
|
466
|
+
border-radius: 1px;
|
|
467
|
+
}
|
|
468
|
+
.categories-list .card {
|
|
469
|
+
padding: 7px 9px;
|
|
470
|
+
}
|
|
471
|
+
.categories-list .accordion > .card > .card-header {
|
|
472
|
+
height: auto;
|
|
473
|
+
}
|
|
474
|
+
.frame-h1 {
|
|
475
|
+
margin: 0;
|
|
476
|
+
font-size: 17pt;
|
|
477
|
+
line-height: 24pt;
|
|
478
|
+
font-weight: 600;
|
|
479
|
+
text-align: left;
|
|
480
|
+
color: #555;
|
|
481
|
+
}
|
|
482
|
+
.frame-h2 {
|
|
483
|
+
font-size: 15px;
|
|
484
|
+
line-height: 16px;
|
|
485
|
+
color: #656464;
|
|
486
|
+
max-width: 345px;
|
|
487
|
+
color: #555;
|
|
488
|
+
padding: 4px 0;
|
|
489
|
+
text-align: left;
|
|
490
|
+
}
|
|
491
|
+
.image-samples {
|
|
492
|
+
display: flex;
|
|
493
|
+
flex-wrap: wrap;
|
|
494
|
+
margin-top: 5px;
|
|
495
|
+
margin-bottom: 18px;
|
|
496
|
+
gap: 5px;
|
|
497
|
+
cursor: pointer;
|
|
498
|
+
}
|
|
499
|
+
.image-samples img {
|
|
500
|
+
cursor: pointer;
|
|
501
|
+
width: 52px;
|
|
502
|
+
height: 52px;
|
|
503
|
+
float: left;
|
|
504
|
+
background-color: #eee;
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
#example-h3 {
|
|
508
|
+
font-size: 0.98em;
|
|
509
|
+
padding: 3px 0 3px;
|
|
510
|
+
text-align: left;
|
|
511
|
+
color: #555;
|
|
512
|
+
margin: 0 0 8px;
|
|
513
|
+
font-weight: 600;
|
|
514
|
+
border-bottom: 1px solid #dadada;
|
|
515
|
+
}
|
|
516
|
+
.preview-section img {
|
|
517
|
+
width: 100%;
|
|
518
|
+
height: 100%;
|
|
519
|
+
}
|
data/assets/js/frame.js
CHANGED
|
@@ -4,6 +4,7 @@ const lang = getScript.dataset.lang
|
|
|
4
4
|
const inputBox = document.querySelector('#Inputbox')
|
|
5
5
|
const fileDropBox = document.querySelector('.custom-box')
|
|
6
6
|
const cropModal = document.querySelector('.crop-image-modal-container')
|
|
7
|
+
const exampleModal = document.querySelector('.example-images-modal-container')
|
|
7
8
|
const workspace = document.getElementById('workspace')
|
|
8
9
|
const canvasPanel = document.getElementById('canvas-panel')
|
|
9
10
|
const download = document.querySelector('#download-button')
|
|
@@ -48,6 +49,9 @@ const fileOnChange = (e) => {
|
|
|
48
49
|
const closeModal = () => {
|
|
49
50
|
cropModal.style.display = 'none'
|
|
50
51
|
}
|
|
52
|
+
const closeExamplesModal = () => {
|
|
53
|
+
exampleModal.style.display = 'none'
|
|
54
|
+
}
|
|
51
55
|
form.addEventListener('submit', (e) => {
|
|
52
56
|
e.preventDefault()
|
|
53
57
|
drawImage()
|
|
@@ -86,27 +90,6 @@ const drawInputImage = (ctx, item, indexValue) => {
|
|
|
86
90
|
})
|
|
87
91
|
}
|
|
88
92
|
|
|
89
|
-
const drawRotated = (degrees, ctx, canvas, image, item) => {
|
|
90
|
-
// console.log(image)
|
|
91
|
-
// ctx.clearRect(0, 0, canvas.width, canvas.height)
|
|
92
|
-
|
|
93
|
-
// save the unrotatedctx of the canvas so we can restore it later
|
|
94
|
-
// the alternative is to untranslate & unrotate after drawing
|
|
95
|
-
ctx.save()
|
|
96
|
-
|
|
97
|
-
// move to the center of the canvas
|
|
98
|
-
// ctx.translate(item.x, item.y)
|
|
99
|
-
|
|
100
|
-
// rotate the canvas to the specified degrees
|
|
101
|
-
ctx.rotate((50 * Math.PI) / 180)
|
|
102
|
-
|
|
103
|
-
// draw the image
|
|
104
|
-
// since thectx is rotated, the image will be rotated also
|
|
105
|
-
// ctx.drawImage(image, -image.width / 2, -image.width / 2)
|
|
106
|
-
|
|
107
|
-
// we’re done with the rotating so restore the unrotatedctx
|
|
108
|
-
ctx.restore()
|
|
109
|
-
}
|
|
110
93
|
const drawImage = () => {
|
|
111
94
|
let img = new Image()
|
|
112
95
|
img.src = featureData.effectImagePath
|
|
@@ -127,13 +110,26 @@ const drawImage = () => {
|
|
|
127
110
|
})
|
|
128
111
|
).then(() => {
|
|
129
112
|
ctx.filter = 'none'
|
|
130
|
-
|
|
113
|
+
ctx.drawImage(img, 0, 0, canvas.width, canvas.height)
|
|
131
114
|
featureData.elements.map((item, indexValue) => {
|
|
132
115
|
if (item.type === 'text') {
|
|
133
116
|
let myFont = new FontFace(item.font, `url(${item.fontPath})`)
|
|
134
117
|
myFont.load().then(function (font) {
|
|
135
118
|
ctx.save()
|
|
136
119
|
document.fonts.add(font)
|
|
120
|
+
let textValue = document.querySelector(`#${item.id}`).value
|
|
121
|
+
if (textValue.length > 10 && item.fontSizeOption1) {
|
|
122
|
+
item.fontSize = item.fontSizeOption1
|
|
123
|
+
}
|
|
124
|
+
if (textValue.length > 12 && item.fontSizeOption2) {
|
|
125
|
+
item.fontSize = item.fontSizeOption2
|
|
126
|
+
}
|
|
127
|
+
if (textValue.length > 15 && item.fontSizeOption3) {
|
|
128
|
+
item.fontSize = item.fontSizeOption3
|
|
129
|
+
}
|
|
130
|
+
if (textValue.length > 20 && item.fontSizeOption4) {
|
|
131
|
+
item.fontSize = item.fontSizeOption4
|
|
132
|
+
}
|
|
137
133
|
ctx.font = `${item.fontSize}px ${item.font}`
|
|
138
134
|
if (item.shadowColor) {
|
|
139
135
|
ctx.shadowColor = `${item.shadowColor}`
|
|
@@ -153,11 +149,7 @@ const drawImage = () => {
|
|
|
153
149
|
}
|
|
154
150
|
ctx.textAlign = 'center'
|
|
155
151
|
ctx.fillStyle = `${item.color}`
|
|
156
|
-
ctx.fillText(
|
|
157
|
-
document.querySelector(`#${item.id}`).value,
|
|
158
|
-
item.x,
|
|
159
|
-
item.y
|
|
160
|
-
)
|
|
152
|
+
ctx.fillText(textValue, item.x, item.y)
|
|
161
153
|
ctx.restore()
|
|
162
154
|
})
|
|
163
155
|
}
|
|
@@ -210,6 +202,9 @@ document.querySelector('#crop').addEventListener('click', () => {
|
|
|
210
202
|
files[index - 1] = cropperImg
|
|
211
203
|
cropModal.style.display = 'none'
|
|
212
204
|
})
|
|
205
|
+
const openExamplesModal = () => {
|
|
206
|
+
exampleModal.style.display = 'flex'
|
|
207
|
+
}
|
|
213
208
|
let inputFile = ''
|
|
214
209
|
const handleFile = (file) => {
|
|
215
210
|
cropModal.style.display = 'flex'
|
|
@@ -16,6 +16,17 @@
|
|
|
16
16
|
"x": 100,
|
|
17
17
|
"y": 100,
|
|
18
18
|
"id": "file-1"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"type": "text",
|
|
22
|
+
"x": "200",
|
|
23
|
+
"y": "200",
|
|
24
|
+
"color": "red",
|
|
25
|
+
"fontFamily": "Calligraphy",
|
|
26
|
+
"fontPath": "/assets/fonts/Calligraphy.ttf",
|
|
27
|
+
"id": "text-1",
|
|
28
|
+
"fontSize": 50,
|
|
29
|
+
"fontSizeOption1": 10
|
|
19
30
|
}
|
|
20
31
|
]
|
|
21
32
|
}
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: appscms-tools-theme
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.2.
|
|
4
|
+
version: 2.2.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- vivek-appscms
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-08-
|
|
11
|
+
date: 2022-08-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: jekyll
|