appscms-tools-theme 2.2.3 → 2.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_data/feature/en/allele-frequency.json +242 -242
- data/_data/feature/en/theframe.json +50 -64
- data/_data/photo-categories.json +10 -10
- data/_includes/batch-conversion.html +4 -37
- data/_includes/monumetric/ads.html +57 -57
- data/_includes/monumetric/monumetric.html +2 -3
- data/_includes/monumetric/profitablecpmgate.html +51 -51
- data/_layouts/calculator.html +69 -69
- data/_layouts/frame.html +128 -128
- data/assets/css/calculators.css +40 -40
- data/assets/css/frame.css +431 -431
- data/assets/js/ads.js +8 -8
- data/assets/js/append-div.js +10 -10
- data/assets/js/frame.js +24 -16
- data/assets/js/photo-effects.json +21 -55
- data/assets/js/testing-batch.js +4 -12
- data/assets/js/theme.js +11 -11
- metadata +7 -7
data/assets/js/ads.js
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
;(function (s, u, z, p) {
|
2
|
-
;(s.src = u), s.setAttribute('data-zone', z), p.appendChild(s)
|
3
|
-
})(
|
4
|
-
document.createElement('script'),
|
5
|
-
'https://inklinkor.com/tag.min.js',
|
6
|
-
5225477,
|
7
|
-
document.body || document.documentElement
|
8
|
-
)
|
1
|
+
;(function (s, u, z, p) {
|
2
|
+
;(s.src = u), s.setAttribute('data-zone', z), p.appendChild(s)
|
3
|
+
})(
|
4
|
+
document.createElement('script'),
|
5
|
+
'https://inklinkor.com/tag.min.js',
|
6
|
+
5225477,
|
7
|
+
document.body || document.documentElement
|
8
|
+
)
|
data/assets/js/append-div.js
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
---
|
2
|
-
---
|
3
|
-
function insertAfter(referenceNode, newNode) {
|
4
|
-
referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling)
|
5
|
-
}
|
6
|
-
let themeContentBox = document.getElementById('theme-content-box')
|
7
|
-
const div = document.createElement('div')
|
8
|
-
const profitablecpmgateId = '{{site.profitablecpmgateId}}'
|
9
|
-
div.setAttribute('id', `container-${profitablecpmgateId}`)
|
10
|
-
insertAfter(themeContentBox, div)
|
1
|
+
---
|
2
|
+
---
|
3
|
+
function insertAfter(referenceNode, newNode) {
|
4
|
+
referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling)
|
5
|
+
}
|
6
|
+
let themeContentBox = document.getElementById('theme-content-box')
|
7
|
+
const div = document.createElement('div')
|
8
|
+
const profitablecpmgateId = '{{site.profitablecpmgateId}}'
|
9
|
+
div.setAttribute('id', `container-${profitablecpmgateId}`)
|
10
|
+
insertAfter(themeContentBox, div)
|
data/assets/js/frame.js
CHANGED
@@ -19,7 +19,7 @@ let image = null
|
|
19
19
|
const showLoader = () => {
|
20
20
|
showLoading()
|
21
21
|
}
|
22
|
-
const closeLoader = () => {
|
22
|
+
const closeLoader = () => {}
|
23
23
|
const clickInput = (e) => {
|
24
24
|
console.log(`#file-${e.dataset.index}`)
|
25
25
|
document.querySelector(`#file-${e.dataset.index}`).click()
|
@@ -52,16 +52,21 @@ form.addEventListener('submit', (e) => {
|
|
52
52
|
e.preventDefault()
|
53
53
|
drawImage()
|
54
54
|
})
|
55
|
-
const drawInputImage = (ctx, item, indexValue
|
55
|
+
const drawInputImage = (ctx, item, indexValue) => {
|
56
56
|
return new Promise((resolve, reject) => {
|
57
57
|
let image = document.createElement('img')
|
58
58
|
image.src = files[indexValue]
|
59
59
|
image.onload = () => {
|
60
|
+
ctx.save()
|
60
61
|
image.width = Number(item.width)
|
61
62
|
image.height = Number(item.height)
|
62
63
|
if (item.filter) {
|
63
64
|
ctx.filter = item.filter
|
64
65
|
}
|
66
|
+
if (item.rotate) {
|
67
|
+
ctx.rotate((item.rotate * Math.PI) / 180)
|
68
|
+
}
|
69
|
+
|
65
70
|
ctx.drawImage(
|
66
71
|
image,
|
67
72
|
Number(item.x),
|
@@ -69,31 +74,35 @@ const drawInputImage = (ctx, item, indexValue, canvas, image) => {
|
|
69
74
|
image.width,
|
70
75
|
image.height
|
71
76
|
)
|
72
|
-
if (item.
|
73
|
-
|
77
|
+
if (item.translate) {
|
78
|
+
ctx.translate(item.translate.x, item.translate.y)
|
74
79
|
}
|
80
|
+
if (item.skew) {
|
81
|
+
ctx.setTransform(1, item.skew.x, item.skew.y, 1, 0, 0)
|
82
|
+
}
|
83
|
+
ctx.restore()
|
75
84
|
resolve()
|
76
85
|
}
|
77
86
|
})
|
78
87
|
}
|
79
88
|
|
80
89
|
const drawRotated = (degrees, ctx, canvas, image, item) => {
|
81
|
-
console.log(image)
|
82
|
-
ctx.clearRect(0, 0, canvas.width, canvas.height)
|
90
|
+
// console.log(image)
|
91
|
+
// ctx.clearRect(0, 0, canvas.width, canvas.height)
|
83
92
|
|
84
93
|
// save the unrotatedctx of the canvas so we can restore it later
|
85
94
|
// the alternative is to untranslate & unrotate after drawing
|
86
95
|
ctx.save()
|
87
96
|
|
88
97
|
// move to the center of the canvas
|
89
|
-
ctx.translate(item.x, item.y)
|
98
|
+
// ctx.translate(item.x, item.y)
|
90
99
|
|
91
100
|
// rotate the canvas to the specified degrees
|
92
|
-
ctx.rotate((
|
101
|
+
ctx.rotate((50 * Math.PI) / 180)
|
93
102
|
|
94
103
|
// draw the image
|
95
104
|
// since thectx is rotated, the image will be rotated also
|
96
|
-
ctx.drawImage(image, -image.width / 2, -image.width / 2)
|
105
|
+
// ctx.drawImage(image, -image.width / 2, -image.width / 2)
|
97
106
|
|
98
107
|
// we’re done with the rotating so restore the unrotatedctx
|
99
108
|
ctx.restore()
|
@@ -118,21 +127,18 @@ const drawImage = () => {
|
|
118
127
|
})
|
119
128
|
).then(() => {
|
120
129
|
ctx.filter = 'none'
|
121
|
-
ctx.drawImage(img, 0, 0, canvas.width, canvas.height)
|
130
|
+
// ctx.drawImage(img, 0, 0, canvas.width, canvas.height)
|
122
131
|
featureData.elements.map((item, indexValue) => {
|
123
132
|
if (item.type === 'text') {
|
124
133
|
let myFont = new FontFace(item.font, `url(${item.fontPath})`)
|
125
134
|
myFont.load().then(function (font) {
|
135
|
+
ctx.save()
|
126
136
|
document.fonts.add(font)
|
127
137
|
ctx.font = `${item.fontSize}px ${item.font}`
|
128
138
|
if (item.shadowColor) {
|
129
139
|
ctx.shadowColor = `${item.shadowColor}`
|
130
140
|
}
|
131
|
-
|
132
|
-
console.log((item.rotate * Math.PI) / 180)
|
133
|
-
if (item.rotate) {
|
134
|
-
ctx.rotate((item.rotate * Math.PI) / 180)
|
135
|
-
}
|
141
|
+
|
136
142
|
if (item.shadowOffsetX) {
|
137
143
|
ctx.shadowOffsetX = 3
|
138
144
|
}
|
@@ -142,9 +148,11 @@ const drawImage = () => {
|
|
142
148
|
if (item.shadowBlur) {
|
143
149
|
ctx.shadowBlur = 2
|
144
150
|
}
|
151
|
+
if (item.rotate) {
|
152
|
+
ctx.rotate((item.rotate * Math.PI) / 180)
|
153
|
+
}
|
145
154
|
ctx.textAlign = 'center'
|
146
155
|
ctx.fillStyle = `${item.color}`
|
147
|
-
ctx.save()
|
148
156
|
ctx.fillText(
|
149
157
|
document.querySelector(`#${item.id}`).value,
|
150
158
|
item.x,
|
@@ -1,56 +1,22 @@
|
|
1
|
-
[
|
2
|
-
{
|
3
|
-
"name": "together_forever",
|
4
|
-
"effectImagePath": "/assets/images/together_forever.png",
|
5
|
-
"elements": [
|
6
|
-
{
|
7
|
-
"type": "image",
|
8
|
-
"filter": "",
|
9
|
-
"perspective": "",
|
10
|
-
"height": 300,
|
11
|
-
"width": 300,
|
12
|
-
"
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
"
|
18
|
-
"id": "
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
"y": "100",
|
23
|
-
"color": "red",
|
24
|
-
"fontFamily": "Calligraphy",
|
25
|
-
"fontPath": "/assets/fonts/Calligraphy.ttf",
|
26
|
-
"fontWeight": "bold",
|
27
|
-
"fontSize": 50
|
28
|
-
},
|
29
|
-
{
|
30
|
-
"type": "image",
|
31
|
-
"imagePath": "",
|
32
|
-
"filter": "grayscale(100%)",
|
33
|
-
"perspective": "",
|
34
|
-
"rotate": 40,
|
35
|
-
"height": 300,
|
36
|
-
"width": 300,
|
37
|
-
"x": 100,
|
38
|
-
"y": 200,
|
39
|
-
"id": "file-3"
|
40
|
-
},
|
41
|
-
{
|
42
|
-
"label": "",
|
43
|
-
"id": "text-2",
|
44
|
-
"type": "text",
|
45
|
-
"x": "200",
|
46
|
-
"y": "200",
|
47
|
-
"rotate": 40,
|
48
|
-
"color": "red",
|
49
|
-
"fontFamily": "Calligraphy",
|
50
|
-
"fontPath": "/assets/fonts/Calligraphy.ttf",
|
51
|
-
"fontWeight": "bold",
|
52
|
-
"fontSize": 50
|
53
|
-
}
|
54
|
-
]
|
55
|
-
}
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"name": "together_forever",
|
4
|
+
"effectImagePath": "/assets/images/together_forever.png",
|
5
|
+
"elements": [
|
6
|
+
{
|
7
|
+
"type": "image",
|
8
|
+
"filter": "",
|
9
|
+
"perspective": "",
|
10
|
+
"height": 300,
|
11
|
+
"width": 300,
|
12
|
+
"translate": {
|
13
|
+
"x": -5,
|
14
|
+
"y": -10
|
15
|
+
},
|
16
|
+
"x": 100,
|
17
|
+
"y": 100,
|
18
|
+
"id": "file-1"
|
19
|
+
}
|
20
|
+
]
|
21
|
+
}
|
56
22
|
]
|
data/assets/js/testing-batch.js
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
const opacity = document.querySelector("#opacity")
|
1
2
|
const batchConversion = async (file, indexValue) => {
|
2
3
|
return new Promise((resolve, reject) => {
|
3
4
|
if (file) {
|
@@ -12,18 +13,9 @@ const batchConversion = async (file, indexValue) => {
|
|
12
13
|
image.onload = () => {
|
13
14
|
canvas.width = image.width
|
14
15
|
canvas.height = image.height
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
ctx.globalAlpha = filters.value
|
19
|
-
ctx.drawImage(image, 0, 0, canvas.width, canvas.height)
|
20
|
-
resolve([indexValue, canvas.toDataURL('image/png'), "image"])
|
21
|
-
} else {
|
22
|
-
ctx.filter = filters.getAttribute('data-filter') + '(' + filters.value + filters.getAttribute('data-scale') + ') '
|
23
|
-
ctx.drawImage(image, 0, 0, canvas.width, canvas.height)
|
24
|
-
resolve([indexValue, canvas.toDataURL('image/png'), "image"])
|
25
|
-
}
|
26
|
-
|
16
|
+
ctx.globalAlpha = opacity.value
|
17
|
+
ctx.drawImage(image, 0, 0, canvas.width, canvas.height)
|
18
|
+
resolve([indexValue, canvas.toDataURL('image/png'), "image"])
|
27
19
|
}
|
28
20
|
image.src = e.target.result
|
29
21
|
}
|
data/assets/js/theme.js
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
$(document).ready(function () {
|
2
|
-
var safuiAlert = $('#safeui-alert')
|
3
|
-
if (safuiAlert) {
|
4
|
-
safuiAlert
|
5
|
-
.first()
|
6
|
-
.delay(10000)
|
7
|
-
.slideUp(1000, function () {
|
8
|
-
$(this).remove()
|
9
|
-
})
|
10
|
-
}
|
11
|
-
})
|
1
|
+
$(document).ready(function () {
|
2
|
+
var safuiAlert = $('#safeui-alert')
|
3
|
+
if (safuiAlert) {
|
4
|
+
safuiAlert
|
5
|
+
.first()
|
6
|
+
.delay(10000)
|
7
|
+
.slideUp(1000, function () {
|
8
|
+
$(this).remove()
|
9
|
+
})
|
10
|
+
}
|
11
|
+
})
|
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.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- vivek-appscms
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-08-
|
11
|
+
date: 2022-08-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -52,7 +52,7 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '12.0'
|
55
|
-
description:
|
55
|
+
description:
|
56
56
|
email:
|
57
57
|
- vivek@appscms.com
|
58
58
|
executables: []
|
@@ -2637,7 +2637,7 @@ homepage: https://github.com/Appscms-com/appscms-tools-theme
|
|
2637
2637
|
licenses:
|
2638
2638
|
- MIT
|
2639
2639
|
metadata: {}
|
2640
|
-
post_install_message:
|
2640
|
+
post_install_message:
|
2641
2641
|
rdoc_options: []
|
2642
2642
|
require_paths:
|
2643
2643
|
- lib
|
@@ -2652,8 +2652,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
2652
2652
|
- !ruby/object:Gem::Version
|
2653
2653
|
version: '0'
|
2654
2654
|
requirements: []
|
2655
|
-
rubygems_version: 3.1.
|
2656
|
-
signing_key:
|
2655
|
+
rubygems_version: 3.1.6
|
2656
|
+
signing_key:
|
2657
2657
|
specification_version: 4
|
2658
2658
|
summary: Appscms theme for all tools
|
2659
2659
|
test_files: []
|