appscms-tools-theme 4.9.8 → 4.9.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_data/.DS_Store +0 -0
- data/_data/feature/en/compress-pdf.json +7 -1
- data/_data/header/hi/data.json +2 -2
- data/_data/home/de/da.json +0 -0
- data/_data/home/de/de.json +0 -0
- data/_data/review/trustpilot.json +28 -29
- data/_includes/.DS_Store +0 -0
- data/_includes/Atest.html +248 -0
- data/_includes/appscms/customblog/pageRelatedPosts.html +29 -19
- data/_includes/appscms/featurePageAuthors/featurePageAuthors.html +2 -1
- data/_includes/appscms/navbars/navbar.html +1 -1
- data/_includes/appscms/navbars/toolbar.html +1 -1
- data/_includes/authors/authors.html +1 -0
- data/assets/.DS_Store +0 -0
- data/assets/images/lakshmi.svg +1 -0
- data/assets/js/appscms-search.js +120 -125
- data/assets/js/appscms-theme.js +241 -74
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 77077be30078f5cdcdf699ae245f6b31e0d5e14f94dbd34562b631de11ae83aa
|
4
|
+
data.tar.gz: 31134090f09b375a8d3f4eda101587b712a62be08d9b22d4e8229e307e00ce04
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65c68aca35073b283a7e0322750fe2a43f0ab092eb053ee404a08aa3c0a9394d697e350795c410269f90bf899915e49016125f145c8965dfa1eb5d727fc80f8f
|
7
|
+
data.tar.gz: ab56cdf2130296edd4d85c4b635d18e8d63a25319ec2bdf0d2690321a82b2c6e816aca07eb99e1fbb630922a9d1dbac9e5bdc76b83252ba8f91a0d2368169622
|
data/_data/.DS_Store
CHANGED
Binary file
|
@@ -210,7 +210,7 @@
|
|
210
210
|
"USP_FACTOR": "USP_FACTOR"
|
211
211
|
}
|
212
212
|
],
|
213
|
-
"author": "
|
213
|
+
"author": "lakshmi",
|
214
214
|
"contributors": [
|
215
215
|
{
|
216
216
|
"name": "Debosmita Bedajna"
|
@@ -220,6 +220,12 @@
|
|
220
220
|
},
|
221
221
|
{
|
222
222
|
"name": "RK Shree"
|
223
|
+
},
|
224
|
+
{
|
225
|
+
"name": "Bandana"
|
226
|
+
},
|
227
|
+
{
|
228
|
+
"name": "Manpreet Singh"
|
223
229
|
}
|
224
230
|
]
|
225
231
|
}
|
data/_data/header/hi/data.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
|
-
|
3
|
-
|
2
|
+
"navbarBrandText": "",
|
3
|
+
"navbarBrandLogoSvg": "<svg height='40' width='180' xmlns:x='http://ns.adobe.com/Extensibility/1.0/' xmlns:i='http://ns.adobe.com/AdobeIllustrator/10.0/' xmlns:graph='http://ns.adobe.com/Graphs/1.0/' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='Layer_1' x='0px' y='0px' viewBox='0 0 250 50' style='enable-background:new 0 0 250 50;' xml:space='preserve'><style type='text/css'>.st0{fill:#1C0DC8;}.st1{clip-path:url(#SVGID_1_);fill:url(#SVGID_2_);}.st2{fill:#FFFFFF;}</style><metadata><sfw xmlns='http://ns.adobe.com/SaveForWeb/1.0/'><slices></slices><slicesourcebounds bottomleftorigin='true' height='46.5' width='216' x='1.4' y='-48.2'></slicesourcebounds></sfw></metadata><g><g><path class='st0' d='M55.6,33.2c-1-0.4-1.8-1-2.3-1.8s-0.9-1.7-0.9-2.8h4.4c0.1,0.6,0.3,1.1,0.6,1.4c0.4,0.3,0.8,0.5,1.4,0.5 c0.6,0,1.1-0.1,1.4-0.4c0.4-0.3,0.5-0.7,0.5-1.2c0-0.4-0.1-0.8-0.4-1c-0.3-0.3-0.6-0.5-1-0.7c-0.4-0.2-1-0.4-1.7-0.6 c-1.1-0.3-2-0.7-2.7-1c-0.7-0.3-1.3-0.8-1.8-1.5c-0.5-0.7-0.7-1.5-0.7-2.6c0-1.6,0.6-2.8,1.7-3.7c1.1-0.9,2.6-1.3,4.4-1.3 c1.9,0,3.4,0.4,4.5,1.3c1.1,0.9,1.7,2.1,1.8,3.7h-4.4c0-0.5-0.2-1-0.6-1.3s-0.8-0.5-1.4-0.5c-0.5,0-0.9,0.1-1.2,0.4 c-0.3,0.3-0.5,0.6-0.5,1.1c0,0.5,0.3,1,0.8,1.3c0.5,0.3,1.3,0.6,2.4,1c1.1,0.4,2,0.7,2.7,1.1s1.3,0.8,1.8,1.5 c0.5,0.6,0.7,1.5,0.7,2.5c0,1-0.2,1.8-0.7,2.6c-0.5,0.8-1.2,1.4-2.1,1.9s-2,0.7-3.3,0.7C57.7,33.8,56.6,33.6,55.6,33.2z'></path><path class='st0' d='M67.5,23.3c0.5-1,1.2-1.8,2.1-2.4c0.9-0.6,1.9-0.8,3-0.8c0.9,0,1.8,0.2,2.5,0.6c0.7,0.4,1.3,0.9,1.6,1.5v-1.9 h4.1v13.4h-4.1v-1.9c-0.4,0.6-1,1.1-1.7,1.5c-0.7,0.4-1.5,0.6-2.5,0.6c-1.1,0-2.1-0.3-3-0.9c-0.9-0.6-1.6-1.4-2.1-2.4 c-0.5-1-0.8-2.3-0.8-3.6C66.8,25.6,67,24.4,67.5,23.3z M75.9,24.6c-0.6-0.6-1.3-0.9-2.1-0.9c-0.8,0-1.5,0.3-2.1,0.9 c-0.6,0.6-0.9,1.4-0.9,2.4c0,1,0.3,1.8,0.9,2.4c0.6,0.6,1.3,0.9,2.1,0.9c0.8,0,1.5-0.3,2.1-0.9c0.6-0.6,0.9-1.4,0.9-2.4 C76.8,26,76.5,25.1,75.9,24.6z'></path><path class='st0' d='M90.6,23.7h-2.2v10h-4.1v-10h-1.5v-3.4h1.5v-0.4c0-1.6,0.5-2.9,1.4-3.8c0.9-0.9,2.3-1.3,4.2-1.3 c0.3,0,0.5,0,0.7,0v3.5c-0.8,0-1.3,0.1-1.7,0.3c-0.3,0.3-0.5,0.8-0.5,1.5v0.1h2.2V23.7z'></path><path class='st0' d='M105.1,28h-9.3c0.1,0.8,0.3,1.5,0.8,1.9c0.5,0.4,1.1,0.7,1.7,0.7c1,0,1.7-0.4,2.1-1.3h4.4 c-0.2,0.9-0.6,1.7-1.2,2.4s-1.3,1.3-2.2,1.7c-0.9,0.4-1.9,0.6-3,0.6c-1.3,0-2.5-0.3-3.5-0.8c-1-0.6-1.8-1.4-2.4-2.4 s-0.9-2.3-0.9-3.6c0-1.4,0.3-2.6,0.9-3.6c0.6-1,1.4-1.8,2.4-2.4c1-0.6,2.2-0.8,3.5-0.8c1.3,0,2.4,0.3,3.5,0.8 c1,0.5,1.8,1.3,2.4,2.3c0.6,1,0.9,2.2,0.9,3.5C105.1,27.1,105.1,27.5,105.1,28z M100.9,25.7c0-0.7-0.2-1.3-0.7-1.7 c-0.5-0.4-1.1-0.6-1.8-0.6c-0.7,0-1.3,0.2-1.7,0.6c-0.5,0.4-0.8,1-0.9,1.7H100.9z'></path><path class='st0' d='M111.4,16.8v16.8h-4.1V16.8H111.4z'></path><path class='st0' d='M135.4,21.7c1,1,1.5,2.4,1.5,4.2v7.8h-4.1v-7.3c0-0.9-0.2-1.5-0.7-2c-0.5-0.5-1.1-0.7-1.9-0.7 s-1.4,0.2-1.9,0.7c-0.5,0.5-0.7,1.1-0.7,2v7.3h-4.1v-7.3c0-0.9-0.2-1.5-0.7-2c-0.5-0.5-1.1-0.7-1.9-0.7c-0.8,0-1.4,0.2-1.9,0.7 c-0.5,0.5-0.7,1.1-0.7,2v7.3h-4.1V20.3h4.1V22c0.4-0.6,1-1,1.6-1.3c0.7-0.3,1.4-0.5,2.3-0.5c1,0,1.9,0.2,2.7,0.6 c0.8,0.4,1.4,1,1.9,1.8c0.5-0.7,1.1-1.3,1.9-1.8s1.7-0.7,2.6-0.7C133.1,20.1,134.5,20.6,135.4,21.7z'></path><path class='st0' d='M139.8,23.3c0.5-1,1.2-1.8,2.1-2.4c0.9-0.6,1.9-0.8,3-0.8c0.9,0,1.8,0.2,2.5,0.6c0.7,0.4,1.3,0.9,1.6,1.5 v-1.9h4.1v13.4H149v-1.9c-0.4,0.6-1,1.1-1.7,1.5c-0.7,0.4-1.5,0.6-2.5,0.6c-1.1,0-2.1-0.3-3-0.9c-0.9-0.6-1.6-1.4-2.1-2.4 c-0.5-1-0.8-2.3-0.8-3.6C139,25.6,139.2,24.4,139.8,23.3z M148.2,24.6c-0.6-0.6-1.3-0.9-2.1-0.9c-0.8,0-1.5,0.3-2.1,0.9 c-0.6,0.6-0.9,1.4-0.9,2.4c0,1,0.3,1.8,0.9,2.4c0.6,0.6,1.3,0.9,2.1,0.9c0.8,0,1.5-0.3,2.1-0.9c0.6-0.6,0.9-1.4,0.9-2.4 C149,26,148.7,25.1,148.2,24.6z'></path><path class='st0' d='M163.7,20.7c0.7,0.4,1.3,0.9,1.6,1.5v-1.9h4.1v13.4c0,1.2-0.2,2.3-0.7,3.3c-0.5,1-1.2,1.8-2.2,2.4 s-2.2,0.9-3.7,0.9c-2,0-3.6-0.5-4.8-1.4c-1.2-0.9-1.9-2.2-2.1-3.8h4.1c0.1,0.5,0.4,0.9,0.9,1.2c0.5,0.3,1.1,0.4,1.8,0.4 c0.8,0,1.5-0.2,2-0.7s0.8-1.3,0.8-2.3v-1.9c-0.4,0.6-1,1.1-1.7,1.5c-0.7,0.4-1.5,0.6-2.5,0.6c-1.1,0-2.1-0.3-3-0.9 c-0.9-0.6-1.6-1.4-2.1-2.4c-0.5-1-0.8-2.3-0.8-3.6c0-1.4,0.3-2.6,0.8-3.6c0.5-1,1.2-1.8,2.1-2.4c0.9-0.6,1.9-0.8,3-0.8 C162.1,20.1,162.9,20.3,163.7,20.7z M164.5,24.6c-0.6-0.6-1.3-0.9-2.1-0.9c-0.8,0-1.5,0.3-2.1,0.9c-0.6,0.6-0.9,1.4-0.9,2.4 c0,1,0.3,1.8,0.9,2.4c0.6,0.6,1.3,0.9,2.1,0.9c0.8,0,1.5-0.3,2.1-0.9c0.6-0.6,0.9-1.4,0.9-2.4C165.3,26,165,25.1,164.5,24.6z'></path><path class='st0' d='M184.9,28h-9.3c0.1,0.8,0.3,1.5,0.8,1.9c0.5,0.4,1.1,0.7,1.7,0.7c1,0,1.7-0.4,2.1-1.3h4.4 c-0.2,0.9-0.6,1.7-1.2,2.4s-1.3,1.3-2.2,1.7c-0.9,0.4-1.9,0.6-3,0.6c-1.3,0-2.5-0.3-3.5-0.8c-1-0.6-1.8-1.4-2.4-2.4 s-0.9-2.3-0.9-3.6c0-1.4,0.3-2.6,0.9-3.6c0.6-1,1.4-1.8,2.4-2.4c1-0.6,2.2-0.8,3.5-0.8c1.3,0,2.4,0.3,3.5,0.8 c1,0.5,1.8,1.3,2.4,2.3c0.6,1,0.9,2.2,0.9,3.5C185,27.1,185,27.5,184.9,28z M180.8,25.7c0-0.7-0.2-1.3-0.7-1.7 c-0.5-0.4-1.1-0.6-1.8-0.6c-0.7,0-1.3,0.2-1.7,0.6c-0.5,0.4-0.8,1-0.9,1.7H180.8z'></path><path class='st0' d='M195.3,33.7l-4.1-5.6v5.6h-4.1V15.9h4.1v9.8l4.1-5.4h5.1l-5.6,6.7l5.6,6.7H195.3z'></path><path class='st0' d='M202.3,18.3c-0.5-0.4-0.7-0.9-0.7-1.6c0-0.6,0.2-1.2,0.7-1.6s1-0.6,1.8-0.6c0.7,0,1.3,0.2,1.7,0.6 s0.7,1,0.7,1.6c0,0.6-0.2,1.1-0.7,1.6s-1,0.6-1.7,0.6C203.3,18.9,202.8,18.7,202.3,18.3z M206.1,20.3v13.4H202V20.3H206.1z'></path><path class='st0' d='M216.5,30.2v3.5h-2.1c-1.5,0-2.6-0.4-3.5-1.1c-0.8-0.7-1.2-1.9-1.2-3.6v-5.3h-1.6v-3.4h1.6V17h4.1v3.3h2.7 v3.4h-2.7v5.4c0,0.4,0.1,0.7,0.3,0.9c0.2,0.2,0.5,0.3,1,0.3H216.5z'></path></g><g><g><defs><path id='SVGID_4_' d='M8.3,10.3c-0.8,1.1-0.8,4.6-0.8,11.4v3.4c0,12,9.1,17.9,14.8,20.4c1.5,0.7,2.3,1,4.5,1s2.9-0.4,4.5-1 C36.9,43,46,37.2,46,25.1v-3.4c0-6.8,0-10.3-0.8-11.4c-0.8-1.1-4-2.2-10.4-4.4l-1.2-0.4c-3.4-1.1-5-1.7-6.7-1.7 c-1.7,0-3.4,0.5-6.7,1.7l-1.2,0.4C12.3,8,9.2,9.2,8.3,10.3z'></path></defs><clipPath id='SVGID_1_'><use xlink:href='#SVGID_4_' style='overflow:visible;'></use></clipPath><linearGradient id='SVGID_2_' gradientUnits='userSpaceOnUse' x1='4.2901' y1='45.9056' x2='40.5632' y2='14.204' gradientTransform='matrix(1 0 0 -1 0 52)'><stop offset='0' style='stop-color:#4F00E8'></stop><stop offset='0.2561' style='stop-color:#4B01E6'></stop><stop offset='0.489' style='stop-color:#4003E1'></stop><stop offset='0.7129' style='stop-color:#2E06D9'></stop><stop offset='0.9299' style='stop-color:#140BCD'></stop><stop offset='1' style='stop-color:#0A0DC8'></stop></linearGradient><rect x='1.4' y='1.7' class='st1' width='48.2' height='45.7'></rect></g></g><g><path class='st2' d='M24.6,17c-0.5-0.5-0.8-1.1-0.8-1.9s0.3-1.4,0.8-1.9c0.5-0.5,1.2-0.8,2.1-0.8c0.9,0,1.6,0.3,2.1,0.8 c0.4,0.4,0.8,1,0.8,1.7c0.1,0.9-0.3,1.8-1,2.3c-0.5,0.4-1.2,0.7-2,0.7C25.9,17.8,25.1,17.5,24.6,17z M29.2,20.2v14.9 c0,0.4-0.3,0.6-0.6,0.6h-3.7c-0.4,0-0.6-0.3-0.6-0.6V20.2c0-0.4,0.3-0.6,0.6-0.6h3.7C28.9,19.5,29.2,19.8,29.2,20.2z'></path></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg>",
|
4
4
|
"megaMenu": {
|
5
5
|
"nav-link-name": "Tools",
|
6
6
|
"dropdown": [{
|
File without changes
|
File without changes
|
@@ -1,30 +1,29 @@
|
|
1
1
|
{
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
2
|
+
"reviews": [
|
3
|
+
{
|
4
|
+
"name": "Alice Johnson",
|
5
|
+
"title": "Excellent Image Editing Tool",
|
6
|
+
"review": "Safeimagekit is a lifesaver for quick and secure image editing. Love the variety of tools!"
|
7
|
+
},
|
8
|
+
{
|
9
|
+
"name": "Michael Lee",
|
10
|
+
"title": "Very Easy to Use",
|
11
|
+
"review": "Super simple to resize and adjust images. No need to download anything; works seamlessly online!"
|
12
|
+
},
|
13
|
+
{
|
14
|
+
"name": "Sophia Martinez",
|
15
|
+
"title": "Great for Quick Edits",
|
16
|
+
"review": "Perfect for quick edits without compromising privacy. Highly recommend Safeimagekit."
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"name": "David Kim",
|
20
|
+
"title": "Fast and Reliable",
|
21
|
+
"review": "Impressed by the speed and reliability of Safeimagekit. Great for editing on the go without extra downloads."
|
22
|
+
}
|
23
|
+
],
|
24
|
+
"title": "Over 5 Million Users Enjoy Using Our Applications monthly.",
|
25
|
+
"description": "Join a thriving community of creators who rely on our safeimagekit.com Tools.",
|
26
|
+
"rated": 4.1,
|
27
|
+
"numberOfReviews": "320",
|
28
|
+
"trustpilotReviewLink": "https://www.trustpilot.com/review/safeaudiokit.com"
|
29
|
+
}
|
data/_includes/.DS_Store
CHANGED
Binary file
|
@@ -0,0 +1,248 @@
|
|
1
|
+
<script src="https://d3js.org/d3.v4.min.js"></script>
|
2
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/venn.js/0.2.20/venn.min.js"></script>
|
3
|
+
<style>
|
4
|
+
#venn {
|
5
|
+
margin: 20px auto;
|
6
|
+
width: 800px;
|
7
|
+
height: 600px;
|
8
|
+
}
|
9
|
+
|
10
|
+
.controls {
|
11
|
+
margin-bottom: 20px;
|
12
|
+
}
|
13
|
+
|
14
|
+
canvas {
|
15
|
+
display: none;
|
16
|
+
}
|
17
|
+
</style>
|
18
|
+
<div class="controls">
|
19
|
+
<label for="setCount">Number of sets:</label>
|
20
|
+
<select id="setCount" onchange="updateControls()">
|
21
|
+
<option value="2" selected>2</option>
|
22
|
+
<option value="3">3</option>
|
23
|
+
<option value="4">4</option>
|
24
|
+
<option value="5">5</option>
|
25
|
+
<option value="6">6</option>
|
26
|
+
<option value="7">7</option>
|
27
|
+
<option value="8">8</option>
|
28
|
+
</select>
|
29
|
+
|
30
|
+
<div id="setInputs"></div>
|
31
|
+
|
32
|
+
<label for="transparency">Transparency (0 to 1):</label>
|
33
|
+
<input type="number" id="transparency" value="0.4" step="0.1" min="0" max="1">
|
34
|
+
|
35
|
+
<label for="fontColor">Font Color:</label>
|
36
|
+
<input type="color" id="fontColor" value="#000000">
|
37
|
+
|
38
|
+
<button onclick="updateVenn()">Update Venn Diagram</button>
|
39
|
+
<button onclick="downloadVenn('png')">Download PNG</button>
|
40
|
+
<button onclick="downloadVenn('jpg')">Download JPG</button>
|
41
|
+
</div>
|
42
|
+
|
43
|
+
<div id="venn"></div>
|
44
|
+
|
45
|
+
<canvas id="canvas"></canvas>
|
46
|
+
<script>
|
47
|
+
let sets = [
|
48
|
+
{ sets: ['A'], size: 12 },
|
49
|
+
{ sets: ['B'], size: 12 },
|
50
|
+
{ sets: ['A', 'B'], size: 2 }
|
51
|
+
];
|
52
|
+
|
53
|
+
// Render the initial Venn diagram
|
54
|
+
const chart = venn.VennDiagram();
|
55
|
+
const div = d3.select("#venn").datum(sets).call(chart);
|
56
|
+
|
57
|
+
function updateControls() {
|
58
|
+
const setCount = parseInt(document.getElementById("setCount").value, 10);
|
59
|
+
const setInputs = document.getElementById("setInputs");
|
60
|
+
|
61
|
+
// Reset inputs
|
62
|
+
setInputs.innerHTML = '';
|
63
|
+
|
64
|
+
// Add inputs for individual set sizes
|
65
|
+
for (let i = 0; i < setCount; i++) {
|
66
|
+
const setLabel = String.fromCharCode(65 + i); // A, B, C, etc.
|
67
|
+
setInputs.innerHTML += `
|
68
|
+
<div>
|
69
|
+
<label for="set${setLabel}">Set ${setLabel} size:</label>
|
70
|
+
<input type="number" id="set${setLabel}" value="12">
|
71
|
+
</div>`;
|
72
|
+
}
|
73
|
+
|
74
|
+
// Add input for intersections if applicable
|
75
|
+
if (setCount > 1) {
|
76
|
+
setInputs.innerHTML += `
|
77
|
+
<div>
|
78
|
+
<label for="intersections">Intersection sizes (comma-separated):</label>
|
79
|
+
<input type="text" id="intersections" placeholder="e.g., 20,15,10">
|
80
|
+
</div>`;
|
81
|
+
}
|
82
|
+
|
83
|
+
// If 4 sets are selected, set default values
|
84
|
+
if (setCount === 4) {
|
85
|
+
document.getElementById("setA").value = 12;
|
86
|
+
document.getElementById("setB").value = 12;
|
87
|
+
document.getElementById("setC").value = 12;
|
88
|
+
document.getElementById("setD").value = 12;
|
89
|
+
document.getElementById("intersections").value = "2,2,2,1,2,2,3,3,3,3";
|
90
|
+
}
|
91
|
+
|
92
|
+
if (setCount === 5) {
|
93
|
+
document.getElementById("setA").value = 20;
|
94
|
+
document.getElementById("setB").value = 20;
|
95
|
+
document.getElementById("setC").value = 20;
|
96
|
+
document.getElementById("setD").value = 20;
|
97
|
+
document.getElementById("setE").value = 20;
|
98
|
+
document.getElementById("intersections").value = "5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,1";
|
99
|
+
}
|
100
|
+
if (setCount === 6) {
|
101
|
+
document.getElementById("setA").value = 20;
|
102
|
+
document.getElementById("setB").value = 20;
|
103
|
+
document.getElementById("setC").value = 20;
|
104
|
+
document.getElementById("setD").value = 20;
|
105
|
+
document.getElementById("setE").value = 20;
|
106
|
+
document.getElementById("setF").value = 20;
|
107
|
+
|
108
|
+
// Set intersection values as specified
|
109
|
+
document.getElementById("intersections").value = "5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1";
|
110
|
+
}
|
111
|
+
if (setCount === 7) {
|
112
|
+
document.getElementById("setA").value = 20;
|
113
|
+
document.getElementById("setB").value = 20;
|
114
|
+
document.getElementById("setC").value = 20;
|
115
|
+
document.getElementById("setD").value = 20;
|
116
|
+
document.getElementById("setE").value = 20;
|
117
|
+
document.getElementById("setF").value = 20;
|
118
|
+
document.getElementById("setG").value = 20;
|
119
|
+
|
120
|
+
document.getElementById("intersections").value =
|
121
|
+
"7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,2";
|
122
|
+
}
|
123
|
+
if (setCount === 8) {
|
124
|
+
document.getElementById("setA").value = 20;
|
125
|
+
document.getElementById("setB").value = 20;
|
126
|
+
document.getElementById("setC").value = 20;
|
127
|
+
document.getElementById("setD").value = 20;
|
128
|
+
document.getElementById("setE").value = 20;
|
129
|
+
document.getElementById("setF").value = 20;
|
130
|
+
document.getElementById("setG").value = 20;
|
131
|
+
document.getElementById("setH").value = 20;
|
132
|
+
|
133
|
+
document.getElementById("intersections").value =
|
134
|
+
"8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,2";
|
135
|
+
}
|
136
|
+
}
|
137
|
+
|
138
|
+
function updateVenn() {
|
139
|
+
const setCount = parseInt(document.getElementById("setCount").value, 10);
|
140
|
+
const transparency = parseFloat(document.getElementById("transparency").value);
|
141
|
+
const fontColor = document.getElementById("fontColor").value;
|
142
|
+
const updatedSets = [];
|
143
|
+
|
144
|
+
// Add individual sets
|
145
|
+
for (let i = 0; i < setCount; i++) {
|
146
|
+
const setLabel = String.fromCharCode(65 + i); // A, B, C, etc.
|
147
|
+
const setSize = parseInt(document.getElementById(`set${setLabel}`).value || "12", 10);
|
148
|
+
updatedSets.push({ sets: [setLabel], size: setSize });
|
149
|
+
}
|
150
|
+
|
151
|
+
// Add intersections based on the set count
|
152
|
+
if (setCount > 1) {
|
153
|
+
const intersectionInput = document.getElementById("intersections");
|
154
|
+
if (intersectionInput && intersectionInput.value.trim() !== '') {
|
155
|
+
const intersectionSizes = intersectionInput.value.split(',').map(Number);
|
156
|
+
let index = 0;
|
157
|
+
|
158
|
+
// Generate all combinations of sets for intersections
|
159
|
+
for (let i = 2; i <= setCount; i++) { // Only generate combinations of size >= 2
|
160
|
+
const combinations = getCombinations(
|
161
|
+
Array.from({ length: setCount }, (_, k) => String.fromCharCode(65 + k)),
|
162
|
+
i
|
163
|
+
);
|
164
|
+
combinations.forEach(combo => {
|
165
|
+
if (index < intersectionSizes.length) {
|
166
|
+
updatedSets.push({ sets: combo, size: intersectionSizes[index++] });
|
167
|
+
}
|
168
|
+
});
|
169
|
+
}
|
170
|
+
} else {
|
171
|
+
// Default pairwise intersections if no input is provided
|
172
|
+
for (let i = 0; i < setCount - 1; i++) {
|
173
|
+
for (let j = i + 1; j < setCount; j++) {
|
174
|
+
const setA = String.fromCharCode(65 + i);
|
175
|
+
const setB = String.fromCharCode(65 + j);
|
176
|
+
updatedSets.push({ sets: [setA, setB], size: 2 }); // Default size for pairwise intersections
|
177
|
+
}
|
178
|
+
}
|
179
|
+
}
|
180
|
+
}
|
181
|
+
|
182
|
+
sets = updatedSets;
|
183
|
+
d3.select("#venn").datum(sets).call(chart);
|
184
|
+
|
185
|
+
// Update transparency and font color
|
186
|
+
d3.selectAll(".venn-circle path").style("fill-opacity", transparency);
|
187
|
+
d3.selectAll(".venn-circle text").style("fill", fontColor);
|
188
|
+
}
|
189
|
+
|
190
|
+
// Helper function to generate combinations
|
191
|
+
function getCombinations(array, size) {
|
192
|
+
function combine(input, length, start, result) {
|
193
|
+
if (length === 0) return [result];
|
194
|
+
const combinations = [];
|
195
|
+
for (let i = start; i <= input.length - length; i++) {
|
196
|
+
combinations.push(...combine(input, length - 1, i + 1, result.concat(input[i])));
|
197
|
+
}
|
198
|
+
return combinations;
|
199
|
+
}
|
200
|
+
return combine(array, size, 0, []);
|
201
|
+
}
|
202
|
+
|
203
|
+
function downloadVenn(format) {
|
204
|
+
const svg = document.querySelector("#venn svg");
|
205
|
+
const canvas = document.getElementById("canvas");
|
206
|
+
const ctx = canvas.getContext("2d");
|
207
|
+
const serializer = new XMLSerializer();
|
208
|
+
const svgString = serializer.serializeToString(svg);
|
209
|
+
const img = new Image();
|
210
|
+
|
211
|
+
const svgBlob = new Blob([svgString], { type: "image/svg+xml;charset=utf-8" });
|
212
|
+
const url = URL.createObjectURL(svgBlob);
|
213
|
+
|
214
|
+
img.onload = function () {
|
215
|
+
canvas.width = svg.getBoundingClientRect().width;
|
216
|
+
canvas.height = svg.getBoundingClientRect().height;
|
217
|
+
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
218
|
+
ctx.drawImage(img, 0, 0);
|
219
|
+
URL.revokeObjectURL(url);
|
220
|
+
|
221
|
+
const link = document.createElement("a");
|
222
|
+
link.download = `venn-diagram.${format}`;
|
223
|
+
link.href = canvas.toDataURL(`image/${format}`);
|
224
|
+
link.click();
|
225
|
+
};
|
226
|
+
|
227
|
+
img.src = url;
|
228
|
+
}
|
229
|
+
|
230
|
+
// Add tooltips
|
231
|
+
div.selectAll(".venn-circle")
|
232
|
+
.on("mouseover", function (d) {
|
233
|
+
d3.select(this).select("path").style("fill-opacity", 0.6);
|
234
|
+
const tooltip = d3.select("body").append("div").attr("class", "tooltip")
|
235
|
+
.style("position", "absolute")
|
236
|
+
.style("background", "#fff")
|
237
|
+
.style("border", "1px solid #ccc")
|
238
|
+
.style("padding", "5px")
|
239
|
+
.style("z-index", 10)
|
240
|
+
.text(`${d.sets.join(' & ')}: ${d.size}`);
|
241
|
+
|
242
|
+
tooltip.style("left", `${d3.event.pageX + 5}px`).style("top", `${d3.event.pageY + 5}px`);
|
243
|
+
})
|
244
|
+
.on("mouseout", function () {
|
245
|
+
d3.select(this).select("path").style("fill-opacity", parseFloat(document.getElementById("transparency").value));
|
246
|
+
d3.select(".tooltip").remove();
|
247
|
+
});
|
248
|
+
</script>
|
@@ -22,30 +22,40 @@
|
|
22
22
|
{% for post in blogData %}
|
23
23
|
{%- include authors/authors.html-%}
|
24
24
|
{% assign title = post.title %}
|
25
|
-
{% assign title_lower = title | downcase %}
|
26
|
-
{% assign title_hyphenated = title_lower | replace: ' ', '-' %}
|
27
|
-
{% assign blogUrl = title_hyphenated | replace: '!', '' | replace: '?', '' | replace: ',', '' |
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
25
|
+
{% assign title_lower = title | downcase %}
|
26
|
+
{% assign title_hyphenated = title_lower | replace: ' ', '-' %}
|
27
|
+
{% assign blogUrl = title_hyphenated | replace: '!', '' | replace: '?', '' | replace: ',', '' |
|
28
|
+
replace: '.', '' | replace: ';', '' | replace: ':', '' | replace: '&', '' | replace: '@', '' |
|
29
|
+
replace: '#', '' | replace: '$', '' | replace: '%', '' | replace: '^', '' | replace: '*', '' |
|
30
|
+
replace: '(', '' | replace: ')', '' | replace: '+', '' | replace: '=', '' | replace: '{', '' |
|
31
|
+
replace: '}', '' | replace: '[', '' | replace: ']', '' | replace: '|', '' | replace: '\\', '' |
|
32
|
+
replace: '/', '' | replace: '<', '' | replace: '>' , '' | replace: '~' , '' | replace: '`' , '' |
|
33
|
+
replace: '"' , '' | replace: "'" , '' %}
|
34
|
+
|
35
|
+
|
36
|
+
{%- assign ActualUrl = post.url | default: blogUrl -%}
|
37
|
+
<div
|
38
|
+
class="{%- if site.monumetricId and page.url != '/' and page.lang == " en" -%} col-md-6 mb-4
|
39
|
+
card-group {%- else -%} col-lg-4 col-md-6 mb-4 card-group {%- endif -%} ">
|
40
|
+
<div class=" card h-100 appscms-blog-cards">
|
41
|
+
<a class="extrapaddingforimg" href="/blog/{{ ActualUrl }}" aria-label="{{post.title}}">
|
42
|
+
<img src="{{ post.image }}" loading="lazy" class="card-img-top" height="250" width="100%"
|
43
|
+
alt="{{post.title}}" {%- if site.crossorigin -%} crossorigin {%- endif -%}>
|
36
44
|
</a>
|
37
45
|
<div class="card-body">
|
38
|
-
<a class="text-decoration-none text-dark" href="/blog/{{ blogUrl }}" class="anchor_link"
|
46
|
+
<a class="text-decoration-none text-dark" href="/blog/{{ blogUrl }}" class="anchor_link"
|
47
|
+
aria-label="{{post.title}}">
|
39
48
|
<h4 class="card-title mb-4 text-left">{{ post.title }}</h4>
|
40
49
|
</a>
|
41
50
|
<div class="wrapfooter">
|
42
51
|
{% if post.author %}
|
43
|
-
|
44
|
-
|
52
|
+
<img class="author-thumb" loading="lazy" src="{{ image }}" alt="{{ authorName }}" {%- if
|
53
|
+
site.crossorigin -%} crossorigin {%- endif -%}>
|
45
54
|
{% endif %}
|
46
55
|
|
47
56
|
<div class="author-meta">
|
48
|
-
<a class="post-name" target="_blank"
|
57
|
+
<a class="post-name" target="_blank"
|
58
|
+
href="/authors/{{authorName |downcase |replace:' ','-'}}">{{ authorName }}</a>
|
49
59
|
{% assign path_parts = post.path | split: '/' %}
|
50
60
|
{% assign filename = path_parts[1] %}
|
51
61
|
{% assign date_parts = filename | split: '-' %}
|
@@ -57,13 +67,13 @@
|
|
57
67
|
|
58
68
|
</div>
|
59
69
|
</div>
|
60
|
-
</div>
|
61
70
|
</div>
|
62
|
-
{% endfor %}
|
63
|
-
{%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
|
64
71
|
</div>
|
72
|
+
{% endfor %}
|
73
|
+
{%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
|
65
74
|
</div>
|
66
|
-
|
75
|
+
</div>
|
76
|
+
{%- endif -%}
|
67
77
|
</div>
|
68
78
|
</div>
|
69
79
|
</section>
|
@@ -49,7 +49,8 @@
|
|
49
49
|
Contributors
|
50
50
|
</h4>
|
51
51
|
<div class="d-flex justify-content-center w-100" style="gap: 10px">
|
52
|
-
{%- for contributor in contributors -%}
|
52
|
+
{%- for contributor in contributors -%}
|
53
|
+
{%- assign
|
53
54
|
featureContributorData = contributor.name | split: " " -%} {%-
|
54
55
|
assign featureContributorData = featureContributorData.first |
|
55
56
|
downcase -%} {%- assign collectionData = [featureContributorData]
|
@@ -13,7 +13,7 @@
|
|
13
13
|
{%- else -%}
|
14
14
|
{%- endif -%}
|
15
15
|
<div class="d-flex align-items-center">
|
16
|
-
{%- if site.navigationSearch
|
16
|
+
{%- if site.navigationSearch -%}
|
17
17
|
<div class="nav-search mr-4">
|
18
18
|
<div class="search-container">
|
19
19
|
<input type="text" class="search-input" placeholder="Search Tools">
|
@@ -11,7 +11,7 @@
|
|
11
11
|
alt="close-button" />
|
12
12
|
</div>
|
13
13
|
|
14
|
-
{%- if site.navigationSearch
|
14
|
+
{%- if site.navigationSearch -%}
|
15
15
|
<div class="mobile-search-bar">
|
16
16
|
<div class="mobile-search-container">
|
17
17
|
<input type="text" class="mobile-search-input" placeholder="Search Tools">
|
@@ -20,6 +20,7 @@
|
|
20
20
|
{% assign taufik = "Taufik Ali&&/assets/images/taufik.webp&&Taufik has an analytical mindset and great attention to detail. He excels in analyzing website performance, conducting keyword research, optimizing on-page content, and developing effective link-building strategies. &&N/A" | split: '&&' %}
|
21
21
|
{% assign bandana = "Bandana Kumari&&/assets/images/bandana.webp&&Bandana is an experienced SEO professional. In addition to her technical expertise, Bandana possesses excellent communication skills, allowing her to effectively collaborate with cross-functional teams and provide actionable recommendations to improve website performance &&N/A" | split: '&&' %}
|
22
22
|
{% assign mahika = "Mahika Agrawal&&/assets/images/mahika.webp&&I'm Mahika Agrawal, an experienced content writer with a passion for words and skills in creating high-quality content that drives results. &&N/A" | split: '&&' %}
|
23
|
+
{% assign lakshmi = "Lakshmi Badige&&/assets/images/lakshmi.svg&&Lakshmi Badige is a skilled content writer with expertise in creating engaging content for SaaS companies. From blog posts and case studies to website copy, Lakshmi focuses on delivering content that attracts customers, builds trust, and drives results. With experience in SEO and content strategy, ensures every piece of content is optimized for both readers and search engines. &&N/A" | split: '&&' %}
|
23
24
|
{%- assign postAuthor = post.author | split: " " -%}
|
24
25
|
{%- assign author = postAuthor.first | downcase -%}
|
25
26
|
{%- assign collection = [author] -%}
|
data/assets/.DS_Store
CHANGED
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="600px" height="600px" viewBox="0 0 200 200" style="overflow:hidden!important;"><g id="svga-group-wrapper"><g id="svga-group-backs-single"><path id="SvgjsPath17135" d="M0 0h200v200H0V0z" fill="#ecf0f1" stroke-width="none" opacity="1"></path></g><g id="svga-group-humanwrap-move" transform="matrix(1,0,0,1,0,0)"><g id="svga-group-humanwrap"><g id="svga-group-hair-back-move" transform="matrix(1,0,0,1,0,0)"><g id="svga-group-hair-back"><path id="SvgjsPath17357" d="M134.2 50.7s5.7 1.1 10.5 12 2.8 23.4 2.2 32.1-2 36-10.9 49.8-13.1 14.6-23.4 18.4c-10.3 3.7-36.5 2.6-47.6-7.4-11.1-10.1-6.5-26.9-3.7-33 2.8-6.2 72.9-71.9 72.9-71.9" fill="#221b23" stroke-width="none" opacity="1"></path><path id="SvgjsPath17358" d="M71.2 121.7s-2.8 7.1-3.4 12c-.6 4.9 2.6 9.5 4.5 12.1 2.1 2.8 6 7.6 6.1 17.2.1 6 41.6-5.5 41.6-5.5 3.7-2.9 11.1-9.6 15.6-20.9 3.8-9.5 3.8-17.8 3.5-22.4-17.2 6.2-34.5 12.5-51.7 18.7l-2.8-4.3-13.4-6.9z" fill="#1b141c" stroke-width="none" opacity="1"></path></g></g><g id="svga-group-humanbody-back"><path id="SvgjsPath17202" d="m168.5 219.5-1.7-21.5s.7-9-8.8-15.3-23.4-10.1-29.5-14.2c-6.1-4.1-9.2-4.5-9-16.9s.9-40.3.9-40.3H79.6s.7 27.9.9 40.3c.2 12.4-2.9 12.8-9 16.9-6.1 4.1-20 7.9-29.5 14.2S33.2 198 33.2 198l-1.6 21.5h136.9z" fill="#f3d4cf" stroke-width="none" opacity="1"></path></g><g id="svga-group-chinshadow-single"><path id="SvgjsPath17198" d="M80.4 155.4c5.9 5.8 12.6 9.3 19.6 9.3s13.7-3.5 19.6-9.3c-.1-1.1-.1-2.4-.1-3.8.2-12.4.9-40.3.9-40.3H79.6s.7 27.9.9 40.3c0 1.4 0 2.7-.1 3.8z" fill="#d4958a" stroke-width="none" opacity="0.65"></path></g><g id="svga-group-humanbody-front"><path id="SvgjsPath17203" d="M73.8 175.9c5.1 2.9 11.8 5.2 17.6 5.7.4 0 .4-.6.1-.7-2.8-1.1-5.9-1.7-8.8-2.6-2.9-.9-5.8-2-8.8-2.7-.1-.1-.3.2-.1.3zm35.2 6.2c5.3-.6 11.3-3 15.9-5.8.3-.2.1-.6-.2-.5-2.6.9-5.2 2-7.8 2.9-2.6.9-5.4 1.5-8 2.5-.5.1-.5.9.1.9z" fill="#d4958a" stroke-width="none" opacity="1"></path><path id="SvgjsPath17204" d="m168.4 219.4-2.1-21.4c0-2.2-.5-4.5-1.5-6.6-.9-2.1-2.3-3.9-3.9-5.5s-3.5-2.8-5.5-4c-2-1.2-4.1-2.2-6.2-3.1-4.2-1.9-8.6-3.6-12.9-5.4-2.2-.9-4.3-1.9-6.4-3-1.1-.6-2.1-1.2-3-1.9-1-.6-2-1.2-3-1.9s-2-1.5-2.8-2.6c-.8-1-1.3-2.2-1.7-3.4-.7-2.4-.8-4.8-.8-7.2 0-4.7.2-9.4.3-14.1.2-9.4.6-18.7.9-28l.6.6-20.4-.2-20.4-.1.3-.3.7 28c.1 4.7.3 9.3.4 14 0 2.4-.1 4.7-.8 7.1-.3 1.2-.9 2.3-1.6 3.3-.8 1-1.7 1.8-2.7 2.5s-2 1.3-2.9 2c-.9.6-1.9 1.3-3 1.9-2.1 1.2-4.2 2.1-6.4 3.1-4.3 1.9-8.6 3.6-12.8 5.6-2.1 1-4.2 2.1-6.1 3.2-2 1.2-3.8 2.4-5.4 4-1.6 1.6-2.9 3.4-3.8 5.4-.4 1-.8 2.1-1 3.1-.2 1.1-.4 2.2-.3 3.2v.2l-1.5 21.5-1-1.1 34 .1c11.3 0 22.7.1 34.1.2l34.2.3 34.4.5zm.2.2-34 .4-34.2.3c-11.4.1-22.9.2-34.4.2l-34.4.1h-1.1l.1-1.1 1.7-21.5v.1c-.1-5.1 2.2-9.8 5.7-13.3 1.7-1.7 3.8-3.1 5.8-4.3 2-1.2 4.2-2.2 6.3-3.2 4.3-2 8.7-3.7 13-5.4 2.1-.9 4.3-1.8 6.3-2.9 1-.5 1.9-1.1 3-1.8 1-.6 2-1.2 2.9-1.9.9-.6 1.8-1.4 2.4-2.2.7-.9 1.2-1.9 1.5-2.9.6-2.1.8-4.5.8-6.8 0-4.6-.1-9.3-.2-14l-.6-28v-.3h.3l20.4-.1 20.4-.2h.6v.6c-.1 9.3-.2 18.7-.4 28-.1 4.7-.2 9.4-.2 14 .1 2.3.2 4.6.8 6.7.3 1.1.8 2 1.4 2.9.6.8 1.4 1.6 2.4 2.2.9.6 1.9 1.3 2.9 1.9 1 .7 1.9 1.3 2.9 1.8 2 1.1 4.1 2.1 6.3 3 4.3 1.8 8.6 3.6 12.9 5.6 2.1 1 4.2 2.1 6.2 3.3 2 1.2 4 2.6 5.7 4.3 3.4 3.4 5.6 8.1 5.4 13v-.1l1.4 21.6zm-112.8-.4 1.9-13.8.1 13.8h-2zm88.6 0-1.9-13.8-.1 13.8h2z" fill="#c5796d" stroke-width="none" opacity="1"></path></g><g id="svga-group-clothes-single"><path id="SvgjsPath17335" d="m143.2 220 .1-3.6 26.8-2.6s-1.2-16.5-1.9-20-2.3-8.6-12.1-14-27.7-12.4-27.7-12.4c-31.6 30.5-56-.1-56.7 0 0 0-17.9 7-27.7 12.4s-11.4 10.5-12.1 14-1.9 20-1.9 20l26.8 2.6v3.6h86.4z" fill="#09aac5" stroke-width="none" opacity="1"></path><path id="SvgjsPath17336" d="M170.7 213.8c-.4-5.8-.7-11.6-1.3-17.4-.3-2.9-.9-6-2.6-8.6-1.6-2.6-3.9-4.6-6.4-6.3-2.4-1.7-5.1-3.1-7.7-4.4-2.6-1.3-5.3-2.5-7.9-3.7-5.3-2.4-10.7-4.5-16.2-6.6-.2-.1-.5 0-.7.1-3.8 3.8-8 7.1-12.7 9.6-4.7 2.5-9.9 4-15.2 4.1-2.7 0-5.3-.3-7.9-.9-2.6-.7-5.1-1.7-7.4-2.9s-4.6-2.7-6.7-4.3c-1.1-.8-2.1-1.7-3.1-2.6-.5-.4-1-.9-1.4-1.4l-.7-.7-.4-.4-.2-.2-.1-.1-.1-.1s-.2-.1-.3-.1h-.1c-5.4 2.1-10.8 4.2-16.2 6.5-2.7 1.1-5.3 2.3-8 3.6-2.6 1.3-5.2 2.6-7.7 4.3-2.4 1.7-4.8 3.7-6.4 6.3-1.7 2.6-2.4 5.7-2.7 8.6-.7 5.8-1.1 11.6-1.6 17.4 0 .5.4 1 .9 1.1l13.4 1.3 12.5 1.2v2.7c0 .6.5 1 1 1 7.3 0 14.5 0 21.8-.1l21.7-.2 43-.6.2-3.5 13.2-1 13.4-1.1c.4 0 .6-.3.6-.6zm-14.1.8-13.4 1.6c-.1 0-.2.1-.2.2l.1 3.6-43.4-.6-21.5-.2c-6.8-.1-13.6-.1-20.4-.1v-2.6c0-.5-.4-1-.9-1L43.5 214 31 212.9c.4-5.4.8-10.9 1.3-16.3.3-2.9.9-5.6 2.3-7.9 1.5-2.3 3.6-4.2 5.9-5.9 2.3-1.6 4.8-3 7.4-4.3s5.2-2.6 7.8-3.8c5.2-2.4 10.5-4.6 15.8-6.8l.2.1.4.3.7.7c.5.5 1 .9 1.5 1.4 1 .9 2.1 1.8 3.1 2.6 2.2 1.6 4.4 3.1 6.8 4.4 4.8 2.5 10.2 3.9 15.6 3.9s10.8-1.5 15.7-3.9c4.7-2.4 9-5.6 12.8-9.2 5.2 2.1 10.4 4.4 15.6 6.7 2.6 1.2 5.3 2.4 7.8 3.7 2.6 1.3 5.1 2.6 7.4 4.2 2.3 1.6 4.5 3.5 6 5.8s2.2 5 2.4 7.9c.3 2.9.6 5.8.9 8.6l.7 8.1-12.5 1.4zm-100.5-7.3-.3-1.1-.4-1c-.9-2.8-2.3-5.4-3.8-7.9-1.6-2.5-3.4-4.8-5.5-6.8s-4.4-3.9-7-5.1c1.2.8 2.3 1.7 3.4 2.6 1.1.9 2.1 1.9 3.1 3 1.9 2.1 3.7 4.4 5.2 6.8.4.6.7 1.2 1.1 1.8.4.6.7 1.2 1 1.9.3.6.7 1.3 1 1.9.3.7.6 1.3.9 2l.4 1 .4 1 .7 2c.5 1.4.8 2.8 1.3 4.1-.3-1.4-.5-2.9-.9-4.3l-.6-1.9zm92.9-9.9c-1.5 2.5-2.9 5.1-3.8 7.9l-.4 1-.3 1.1-.6 2.1c-.3 1.4-.6 2.8-.9 4.3.5-1.4.8-2.8 1.3-4.1l.7-2 .4-1 .4-1c.3-.6.6-1.3.9-2 .3-.6.6-1.3 1-1.9.3-.6.6-1.3 1-1.9.4-.6.7-1.2 1.1-1.8 1.5-2.4 3.3-4.7 5.2-6.8.9-1.1 2-2.1 3.1-3 1.1-1 2.2-1.9 3.4-2.6-2.6 1.3-4.9 3.1-7 5.1-2.1 1.8-3.9 4.2-5.5 6.6z" fill="#008fa6" stroke-width="none" opacity="1"></path></g><g id="svga-group-head" transform="matrix(1,0,0,1,0,0)"><g id="svga-group-ears-left-move" transform="matrix(1,0,0,1,0,0)"><g id="svga-group-ears-left"><path id="SvgjsPath17152" d="M64.2 96.3c-.2-.3-3.1-4-5.5-6.3-2.5-2.3-3.2-2.2-4.4-.8s-2.7 8.5-2.3 11.7 3.3 8.2 4.9 11c1.6 2.8 3.1 6.3 4.8 6 1.8-.3 4.2-4.3 5.3-7.3 1.2-3 .6-10.3-2.8-14.3z" fill="#f3d4cf" stroke-width="none" opacity="1"></path><path id="SvgjsPath17153" d="M67.9 104.8c.1.8.2 1.6.2 2.4s0 1.6-.2 2.4l-.3 1.2c-.1.4-.3.7-.4 1-.3.7-.6 1.3-.9 2-.7 1.2-1.4 2.4-2.4 3.4-.5.5-1 1-1.7 1.2-.3.1-.8.1-1.2 0-.4-.2-.7-.4-1-.7-1.2-1.2-1.8-2.6-2.5-4s-1.4-2.7-2.1-4.1c-.7-1.4-1.4-2.8-2-4.2-.3-.7-.6-1.4-.9-2.2-.3-.7-.5-1.5-.6-2.3-.2-1.6 0-3.2.1-4.7.2-1.5.4-3 .8-4.5.2-.7.4-1.5.7-2.2.1-.2.2-.3.3-.5s.2-.4.3-.5c.2-.3.5-.5.8-.7s.7-.3 1.1-.3c.4.1.7.2 1.1.4.6.4 1.1.9 1.7 1.4 2 2.1 3.7 4.5 5.6 6.8 1.8 2.5 2.9 5.6 3.5 8.7zm-9.6-14.6c-1-.8-2.2-1.7-2.9-1.2-.2.1-.4.3-.6.6-.1.1-.2.2-.2.3-.1.1-.1.3-.2.4-.3.6-.5 1.2-.7 1.9-.4 1.3-.8 2.8-1.1 4.2-.3 1.4-.5 3-.4 4.4.1.7.3 1.5.5 2.2l.9 2.1c.6 1.4 1.4 2.7 2.2 4s1.6 2.6 2.3 3.9c.4.7.7 1.3 1.1 1.9.4.6.8 1.2 1.2 1.6s.8.6 1.2.4.9-.5 1.3-1c.8-.9 1.5-2 2.2-3.2l.9-1.8c.1-.3.3-.6.4-.9l.2-.4c0-.2.1-.3.1-.5.3-1.3.3-2.8.3-4.3-.1-1.5-.3-3-.8-4.5s-1.2-2.9-2.1-4c-1.7-2.2-3.7-4.4-5.8-6.1z" fill="#e4b3ab" stroke-width="none" opacity="1"></path><path id="SvgjsPath17154" d="M54.1 102.4c-.2-2.1-.4-7.4.8-9 2-2.7 5.6 6.1 6.5 8.8 0 .1.1.2.1.2.1.3-.1.7-.4.6-.4-.2-.8-.6-1.2-.8-1.1-.5-1.5.4-1.2 1.7.4 1.7 1.3 2.7 2.1 4 .1.2 0 .4-.2.3-1.5-.9-3.3-4.2-2.9-6.2.3-1.8 1.8-1.7 2.9-.8-.7-1.6-1.4-3.1-2.3-4.5-.6-.9-1.1-1.9-2-2-1.1-.2-.9.3-1.1 1.7-.8 4.6-.3 9.7 2.4 13.7.1.1 0 .2-.1.1-2-2.2-3.1-4.7-3.4-7.8z" fill="#d4958a" stroke-width="none" opacity="1"></path></g></g><g id="svga-group-ears-right-move" transform="matrix(1,0,0,1,0,0)"><g id="svga-group-ears-right"><path id="SvgjsPath17155" d="M135.8 96.3c.2-.3 3.1-4 5.5-6.3 2.5-2.3 3.2-2.2 4.4-.8s2.7 8.5 2.3 11.7-3.3 8.2-4.9 11c-1.6 2.8-3.1 6.3-4.8 6-1.8-.3-4.2-4.3-5.3-7.3-1.2-3-.6-10.3 2.8-14.3z" fill="#f3d4cf" stroke-width="none" opacity="1"></path><path id="SvgjsPath17156" d="M135.7 96.3c1.8-2.3 3.5-4.7 5.6-6.8.5-.5 1-1 1.7-1.4.3-.2.7-.4 1.1-.4.4-.1.8.1 1.1.3.3.2.6.5.8.7.1.1.2.3.3.5s.2.3.3.5c.3.7.5 1.4.7 2.2.4 1.5.6 3 .8 4.5.1 1.5.3 3.1.1 4.7-.1.8-.3 1.6-.6 2.3-.3.8-.6 1.5-.9 2.2-.6 1.4-1.3 2.8-2 4.2-.7 1.4-1.4 2.7-2.1 4.1-.7 1.4-1.4 2.8-2.5 4-.3.3-.6.6-1 .7s-.9.2-1.2 0c-.7-.2-1.2-.7-1.7-1.2-1-1-1.7-2.2-2.4-3.4-.3-.6-.6-1.3-.9-2-.1-.3-.3-.7-.4-1l-.3-1.2c-.1-.8-.2-1.6-.2-2.4s.1-1.6.2-2.4c.5-3.3 1.6-6.4 3.5-8.7zm.1.1c-.9 1.1-1.6 2.5-2.1 4s-.7 3-.8 4.5 0 3 .3 4.3c0 .2.1.3.1.5l.2.4c.1.3.3.6.4.9l.9 1.8c.6 1.2 1.4 2.3 2.2 3.2.4.4.9.8 1.3 1 .4.2.8 0 1.2-.4s.8-1 1.2-1.6.8-1.3 1.1-1.9c.7-1.3 1.6-2.6 2.3-3.9.8-1.3 1.5-2.6 2.2-4l.9-2.1c.3-.7.5-1.5.5-2.2.1-1.5-.1-3-.4-4.4-.3-1.4-.6-2.9-1.1-4.2-.2-.7-.5-1.3-.7-1.9-.1-.1-.1-.3-.2-.4-.1-.1-.1-.2-.2-.3l-.6-.6c-.7-.6-1.8.4-2.9 1.2-2 1.6-4 3.8-5.8 6.1z" fill="#e4b3ab" stroke-width="none" opacity="1"></path><path id="SvgjsPath17157" d="M145.9 102.4c.2-2.1.4-7.4-.8-9-2-2.7-5.6 6.1-6.5 8.8 0 .1-.1.2-.1.2-.1.3.1.7.4.6.4-.2.8-.6 1.2-.8 1.1-.5 1.5.4 1.2 1.7-.4 1.7-1.3 2.7-2.1 4-.1.2 0 .4.2.3 1.5-.9 3.3-4.2 2.9-6.2-.3-1.8-1.8-1.7-2.9-.8.7-1.6 1.4-3.1 2.3-4.5.6-.9 1.1-1.9 2-2 1.1-.2.9.3 1.1 1.7.8 4.6.3 9.7-2.4 13.7-.1.1 0 .2.1.1 2-2.2 3.1-4.7 3.4-7.8z" fill="#d4958a" stroke-width="none" opacity="1"></path></g></g><g id="svga-group-faceshape-wrap"><g id="svga-group-faceshape-single"><path id="SvgjsPath17184" d="M141 88.4c0 30.3-18.9 65.2-41 65.2s-41-34.9-41-65.2 18.9-47 41-47 41 16.6 41 47z" fill="#f3d4cf" stroke-width="none" opacity="1"></path><path id="SvgjsPath17185" d="M100 41.3c-22.1 0-41.1 16.7-41.1 47s19 65.5 41.1 65.5 41.1-35.2 41.1-65.5-19-47-41.1-47zm28.2 13.6.8.8c.3.3.5.6.8.9.3.3.5.6.8.9l.7.9c.2.3.5.6.7.9l.7 1 .3.5.3.5c.4.7.9 1.3 1.2 2l.6 1c.2.3.4.7.5 1l.5 1.1.5 1.1c.2.4.3.7.5 1.1l.4 1.1c2.3 5.9 3.2 12.4 3.3 18.7 0 6.4-.9 12.8-2.6 18.9-.8 3.1-1.9 6.1-3.1 9-1.2 2.9-2.5 5.8-4 8.6s-3.1 5.5-4.8 8.1c-.9 1.3-1.8 2.6-2.7 3.8-.9 1.2-1.9 2.4-3 3.6-2 2.3-4.3 4.4-6.7 6.3-2.4 1.8-5 3.3-7.8 4.3-1.4.5-2.8.9-4.3 1-1.5.2-2.9.2-4.4.1-3-.2-5.9-1.2-8.6-2.6-2.7-1.4-5.3-3.3-7.6-5.4-2.3-2.1-4.4-4.5-6.3-7.1s-3.6-5.3-5-8.1c-1.5-2.8-2.8-5.7-3.9-8.7-.6-1.5-1.1-3-1.6-4.5s-.9-3-1.3-4.6c-.8-3.1-1.4-6.2-1.8-9.3-.4-3.1-.7-6.3-.8-9.4 0-1.6 0-3.1.1-4.7 0-.8.1-1.6.1-2.3l.2-2.3c.3-3.1.9-6.2 1.7-9.1.8-3 1.8-5.9 3.2-8.6.2-.4.3-.7.5-1l.5-1c.4-.7.8-1.3 1.2-2 .4-.6.8-1.3 1.3-1.9l.7-.9.3-.5.4-.4c1.9-2.4 4.1-4.5 6.5-6.3s5-3.3 7.8-4.5 5.7-2 8.6-2.5c.7-.2 1.5-.2 2.2-.3.4-.1.8-.1 1.1-.1l1.1-.1c.8 0 1.5-.1 2.3-.1H102.6l1.1.1c.4 0 .8.1 1.1.1.4 0 .8.1 1.1.1l1.1.2.6.1.6.1 1.1.2c.4.1.7.2 1.1.3s.7.2 1.1.3c1.4.4 2.9.9 4.3 1.5s2.8 1.2 4.1 2c2.7 1.5 5.2 3.3 7.4 5.4l.4.4.5.3z" fill="#c5796d" stroke-width="none" opacity="1"></path></g></g><g id="svga-group-mouth-single-move" transform="matrix(1,0,0,1,0,0)"><g id="svga-group-mouth-single"><path id="SvgjsPath17140" d="M86.9 128.6s2-.5 3.7-2.3c1.8-1.8 2.3-2.2 3.2-2.6 1-.4 3.2-1 4.9.4 1.6 1.3 2 .5 2.7 0s2-1.4 4.2-.6 4.3 3.4 5.6 4.1 2.2.9 2.2.9-1.7 2.4-3.1 3.8c-1.9 2-4.3 2.7-8.6 3-4.3.3-7.2-.5-9-1.7-1.9-1.2-3.5-3.2-3.9-3.6-.5-.5-1.9-1.4-1.9-1.4z" fill="#da7c87" stroke-width="none" opacity="1" transform="translate(0 3)"></path><path id="SvgjsPath17141" d="M86.2 128.6c1.8.9 3.6.8 5.5.4 1.4-.3 2.9-.6 4.3-.5s2.7.8 4.2.9c1.1 0 2-.4 3-.7 1.9-.6 3.5-.3 5.4.1 1.9.4 4 1 5.7-.2.3-.2.1-.6-.2-.6-2.7.5-4.7-.2-7.4-.6-2.4-.4-4.4 1.1-6.8.8-2-.2-3.5-1-5.5-.7-2.7.3-5.2 1.4-7.9.4-.4 0-.6.6-.3.7z" fill="#cb5f6c" stroke-width="none" opacity="1" transform="translate(0 3)"></path><path id="SvgjsPath17142" d="M109.8 130.3c-4.4.3-8.6 1.8-13 1.6-.2 0-.3.3-.1.4 4.3 1.1 9.6 1.4 13.2-1.8.1-.1 0-.2-.1-.2z" fill="#e99ca5" stroke-width="none" opacity="1" transform="translate(0 3)"></path></g></g><g id="svga-group-eyes-left-move" transform="matrix(1,0,0,1,0,0)"><g id="svga-group-eyes-left"><g id="svga-group-eyesback-left"><path id="SvgjsPath17257" d="M90.9 101.3s-.3-2.5-1-3.8-3.7-4.4-7-5c-4.9-1-9.3 1.7-9.3 1.7s0 2.4 1.5 4.1c1.4 1.7 3.9 2.6 4.9 2.7s4.6.3 6.5 0c1.3-.2 2.8-.2 3.4 0 .5.2 1 .3 1 .3z" fill="#ffffff" stroke-width="none" opacity="1"></path></g><g id="svga-group-eyesiriswrapper-left" transform="matrix(1,0,0,1,0,0)"><g id="svga-group-eyesiriscontrol-left" transform="matrix(1,0,0,1,0,0)"><g id="svga-group-eyesiris-left"><path id="SvgjsPath17219" d="M82 91.5c2.7 0 4.9 2.2 4.9 4.9s-2.2 4.9-4.9 4.9-4.9-2.2-4.9-4.9 2.2-4.9 4.9-4.9z" fill="#4e60a3" stroke-width="none" opacity="1"></path><path id="SvgjsPath17220" d="M82 93.8c1.4 0 2.6 1.2 2.6 2.6S83.4 99 82 99s-2.6-1.2-2.6-2.6 1.2-2.6 2.6-2.6z" fill="#000000" stroke-width="none" opacity="1"></path><path id="SvgjsPath17221" d="m81.3 94.3-.5-.5c-.2-.2-.4-.3-.7-.3s-.5.1-.7.3c-.2.2-.3.4-.3.7s.1.5.3.7l.5.5c.2.2.4.3.7.3.2 0 .5-.1.7-.3.4-.5.4-1 0-1.4zm2.5 4.4c.8 0 .8-1.3 0-1.3s-.9 1.3 0 1.3z" fill="#ffffff" stroke-width="none" opacity="1"></path></g></g></g><g id="svga-group-eyesfront-left"><path id="SvgjsPath17265" d="M70.73 98.03c0 6.9 4.93 12.5 11.02 12.5s11.02-5.6 11.02-12.5-4.93-12.5-11.02-12.5-11.02 5.59-11.02 12.5zm2.88-3.78s4.42-2.71 9.34-1.75c3.29.64 6.2 3.74 6.95 5.03.75 1.28 1.03 3.82 1.03 3.82s-.53-.14-1.11-.32c-.57-.18-2.05-.19-3.39.04-1.89.32-5.46.18-6.45.04-1-.14-3.49-1.07-4.92-2.75-1.41-1.69-1.45-4.11-1.45-4.11z" fill="#f3d4cf" stroke-width="none" opacity="1"></path><path id="SvgjsPath17266" d="M73.27 94.64c-.1.42-.12.84-.06 1.25-.57-.03-1.21.05-1.59.44-.14.14.01.33.18.3.3-.05.58-.2.88-.27.21-.05.42-.06.63-.05.06.21.13.42.22.63-.18.06-.35.14-.5.21-.38.17-.75.42-.99.76-.11.15.09.28.22.22.35-.16.68-.38 1.03-.55.15-.07.32-.12.49-.18.16.28.35.54.56.8-.41.24-.78.58-.9 1.03-.03.1.09.21.19.15.36-.24.65-.57.96-.88 1.11 1.22 2.67 2.16 3.92 2.57 1.88.62 3.93.72 5.89.62 1.85-.09 4.72-1.14 6.43-.21.07.04.13.02.17-.02l.03-.03c.01-.02.02-.04.02-.06 0-.01.01-.01.01-.03-.1-4.06-2.64-7.49-6.4-8.97-2.08-.82-4.37-1.02-6.58-.69-2.59.39-4.87 1.66-7.54 1.44-.23-.02-.34.3-.18.44.9.88 1.89 1.13 2.91 1.08zm.67-.07c1.99-.32 4.11-1.54 6.09-1.68 5.13-.36 10.05 3 10.7 8.24-2.39-.82-5.13-.1-7.59-.15-2.01-.04-4.14-.32-5.91-1.34-2.21-1.28-2.61-2.93-3.29-5.07z" fill="#000000" stroke-width="none" opacity="1"></path></g></g></g><g id="svga-group-eyes-right-move" transform="matrix(1,0,0,1,0,0)"><g id="svga-group-eyes-right"><g id="svga-group-eyesback-right"><path id="SvgjsPath17258" d="M109.1 101.3s.3-2.5 1-3.8 3.7-4.4 7-5c4.9-1 9.3 1.7 9.3 1.7s0 2.4-1.5 4.1c-1.4 1.7-3.9 2.6-4.9 2.7s-4.6.3-6.5 0c-1.3-.2-2.8-.2-3.4 0-.5.2-1 .3-1 .3z" fill="#ffffff" stroke-width="none" opacity="1"></path></g><g id="svga-group-eyesiriswrapper-right" transform="matrix(1,0,0,1,0,0)"><g id="svga-group-eyesiriscontrol-right" transform="matrix(1,0,0,1,0,0)"><g id="svga-group-eyesiris-right"><path id="SvgjsPath17222" d="M118 91.5c2.7 0 4.9 2.2 4.9 4.9s-2.2 4.9-4.9 4.9-4.9-2.2-4.9-4.9 2.2-4.9 4.9-4.9z" fill="#4e60a3" stroke-width="none" opacity="1"></path><path id="SvgjsPath17223" d="M118 93.8c1.4 0 2.6 1.2 2.6 2.6S119.4 99 118 99s-2.6-1.2-2.6-2.6 1.2-2.6 2.6-2.6z" fill="#000000" stroke-width="none" opacity="1"></path><path id="SvgjsPath17224" d="m117.4 94.3-.5-.5c-.2-.2-.4-.3-.7-.3s-.5.1-.7.3c-.2.2-.3.4-.3.7s.1.5.3.7l.5.5c.2.2.4.3.7.3.2 0 .5-.1.7-.3.3-.5.4-1 0-1.4zm2.4 4.4c.8 0 .8-1.3 0-1.3s-.8 1.3 0 1.3z" fill="#ffffff" stroke-width="none" opacity="1"></path></g></g></g><g id="svga-group-eyesfront-right"><path id="SvgjsPath17267" d="M118.26 85.53c-6.08 0-11.02 5.6-11.02 12.5s4.93 12.5 11.02 12.5 11.02-5.6 11.02-12.5-4.94-12.5-11.02-12.5zm6.67 12.82c-1.43 1.68-3.92 2.6-4.92 2.75-1 .14-4.56.29-6.45-.04-1.34-.23-2.82-.21-3.39-.04-.57.18-1.11.32-1.11.32s.29-2.53 1.03-3.82c.75-1.28 3.66-4.38 6.95-5.03 4.92-.96 9.34 1.75 9.34 1.75s-.03 2.43-1.45 4.11z" fill="#f3d4cf" stroke-width="none" opacity="1"></path><path id="SvgjsPath17270" d="M129.64 93.58c.15-.15.04-.46-.18-.44-2.68.22-4.96-1.05-7.54-1.44-2.21-.33-4.49-.13-6.58.69-3.76 1.48-6.31 4.91-6.4 8.97 0 .01.01.02.01.03 0 .02.01.04.02.06l.03.03c.04.04.1.06.17.02 1.71-.93 4.58.11 6.43.21 1.96.1 4.02-.01 5.89-.62 1.25-.41 2.81-1.35 3.92-2.57.31.31.6.64.96.88.1.06.22-.04.19-.15-.12-.45-.5-.79-.9-1.03.21-.26.4-.52.56-.8.17.06.34.11.49.18.35.17.68.39 1.03.55.13.06.33-.07.22-.22-.25-.34-.61-.59-.99-.76-.15-.07-.32-.15-.5-.21.09-.21.17-.42.22-.63.21 0 .42.01.63.05.3.07.58.21.88.27.17.03.31-.16.18-.3-.38-.39-1.02-.48-1.59-.44.06-.41.04-.83-.06-1.25 1.02.03 2.01-.22 2.91-1.08zm-6.87 6.06c-1.77 1.03-3.9 1.3-5.91 1.34-2.46.05-5.21-.67-7.59.15.65-5.24 5.56-8.6 10.7-8.24 1.98.14 4.1 1.36 6.09 1.68-.68 2.14-1.08 3.79-3.29 5.07z" fill="#000000" stroke-width="none" opacity="1"></path></g></g></g><g id="svga-group-facehighlight-single"></g><g id="svga-group-eyebrows-left-move" transform="matrix(1,0,0,1,0,0)"><g id="svga-group-eyebrows-left-rotate" transform="matrix(1,1.7453292519943295e-9,-1.7453292519943295e-9,1,1.5003287501258455e-7,-1.402671330197336e-7)"><g id="svga-group-eyebrows-left"><path id="SvgjsPath17311" d="M68.8 86s.1 0 0 0c.1-.1.1-.1.1-.2.3-.6.9-1 1.4-1.3.6-.4 1.3-.9 1.9-1.3h.1c1.5-1.1 4-1.3 6-.8 1.9.2 3.8.8 5 1.3.1 0 .2.1.4.1 1.6.3 3.3.6 4.8 1.2 1.5.3 3 .5 4.4 1h.1c.1-.1.4 0 .4.2.1.2.1.4 0 .7.2 0 .3.1.3.3-.1.5-.3.9-.6 1.3v.1c-.3.8-.9 1.1-1.8 1-.1 0-.2 0-.4-.1-.1.1-.2.1-.3.1-1.6-.1-3.2-.8-4.6-1.4-.9-.4-1.9-.8-2.8-1.3-1.4-.2-2.8-.6-4.2-.9-1.3-.3-2.8-.3-4-.8-.4.1-.9.1-1.3.2-.3.1-.6.2-1 .2-1 .3-2.2.8-3.2.9h-.1c-.1 0-.1.1-.2.1-.2.2-.4.4-.7.5-.1 0-.3-.1-.3-.2 0-.5.3-.7.6-.9z" fill="#2a232b" stroke-width="none" opacity="1"></path><path id="SvgjsPath17312" d="M89.9 85.4c1.3.8 1.5 2.8 1.3 4.2 0 .3-.5.3-.6 0-.2-.7-.2-1.4-.3-2.1-.2-.6-.4-1.1-.7-1.7-.1-.3.1-.6.3-.4zm-3.2-.9c2.1.4 3.4 2.9 3.6 4.8 0 .2-.3.2-.3.1-.2-1-.6-1.9-1.2-2.7-.6-.8-1.4-1.3-2.2-2-.1-.1 0-.3.1-.2zM81 83.1c.9.2 1.9 1 2.6 1.7.7.7 1.3 1.5 1.5 2.4 0 .2-.2.3-.3.2-.5-.8-.9-1.6-1.7-2.2-.7-.6-1.6-1-2.2-1.8-.1-.2-.1-.3.1-.3zM76.3 82c2.3 0 4.7 2.1 5.4 4.2.1.2-.2.3-.3.1-.6-.9-1.2-1.8-2.1-2.5-.9-.7-1.9-1-3-1.4-.3-.1-.3-.4 0-.4zm-5.6 2.4c2.1-2.7 6.2-1.8 7.9.8.1.2-.2.4-.3.2-1-.9-2.1-1.9-3.5-2-1.5-.2-2.7.8-3.9 1.3-.3.1-.3-.2-.2-.3z" fill="#3a353a" stroke-width="none" opacity="1"></path><path id="SvgjsPath17313" d="M92.1 90.3c1.6-.4 2-2.2 2-3.7 0-.3-.4-.3-.5-.1-.2.6-.4 1.3-.7 1.8-.3.5-.7.8-1.1 1 .4-1.2.2-2.6-.6-3.7.6.1 1.1.3 1.7.4.2 0 .3-.2.1-.3-2.7-1-5.6-1.6-8.3-2.4-2.4-.7-4.9-1.4-7.3-1.7-4.6-.6-7.6 2.4-10.3 5.7-.1.1-.2.2-.3.2-.4.3 0 .9.4.6 2.5-1.5 5-2.4 7.9-2.4 3.1.1 6.2 1.1 9.2 2.1 1.6.6 3.1 1.2 4.6 1.8 1 .6 2.1 1 3.2.7zm-20-6.8c1-.7 2.1-1 3.1-1.1.8.4 1.6.8 2.3 1.4.5.5.9 1.1 1.3 1.6-.1 0-.2-.1-.4-.1-3.4-.7-6.6-.4-9.5 1 1-1 2-2 3.2-2.8zm19.3 6c-.5 0-1.1-.1-1.7-.3-1.2-.4-2.4-1-3.6-1.5-.2-.1-.4-.1-.6-.2 0-.9-.3-1.8-.9-2.4-.1-.1-.3 0-.2.2.3.7.7 1.4.9 2.1-.8-.3-1.5-.6-2.3-.8-.7-1.5-2.1-3.1-3.6-3.8-.2-.1-.3.2-.2.3.6.6 1.3 1 1.9 1.7.5.5.9 1.1 1.3 1.7-1-.3-1.9-.6-2.9-.8-.2-.8-.9-1.6-1.5-2.1-.4-.4-1-.8-1.5-1.1.9 0 1.9.1 2.8.3 3.8.8 7.6 1.9 11.4 2.8.8 1.2 1 2.5.7 3.9z" fill="#1b141c" stroke-width="none" opacity="1"></path></g></g></g><g id="svga-group-eyebrows-right-move" transform="matrix(1,0,0,1,0,0)"><g id="svga-group-eyebrows-right-rotate" transform="matrix(1,1.7453292519943295e-9,-1.7453292519943295e-9,1,1.5032446754048578e-7,-2.0871141259704018e-7)"><g id="svga-group-eyebrows-right"><path id="SvgjsPath17314" d="M131.2 86s-.1 0 0 0c-.1-.1-.1-.1-.1-.2-.3-.6-.9-1-1.4-1.3-.6-.4-1.3-.9-1.9-1.3h-.1c-1.5-1.1-4-1.3-6-.8-1.9.2-3.8.8-5 1.3-.1 0-.2.1-.4.1-1.6.3-3.3.6-4.8 1.2-1.5.3-3 .5-4.4 1h-.1c-.1-.1-.4 0-.4.2-.1.2-.1.4 0 .7-.2 0-.3.1-.3.3.1.5.3.9.6 1.3v.1c.3.8.9 1.1 1.8 1 .1 0 .2 0 .4-.1.1.1.2.1.3.1 1.6-.1 3.2-.8 4.6-1.4.9-.4 1.9-.8 2.8-1.3 1.4-.2 2.8-.6 4.2-.9 1.3-.3 2.8-.3 4-.8.4.1.9.1 1.3.2.3.1.6.2 1 .2 1 .3 2.2.8 3.2.9h.1c.1 0 .1.1.2.1.2.2.4.4.7.5.1 0 .3-.1.3-.2 0-.5-.3-.7-.6-.9z" fill="#2a232b" stroke-width="none" opacity="1"></path><path id="SvgjsPath17315" d="M110.1 85.4c-1.3.8-1.5 2.8-1.3 4.2 0 .3.5.3.6 0 .2-.7.2-1.4.3-2.1.2-.6.4-1.1.7-1.7.1-.3-.1-.6-.3-.4zm3.2-.9c-2.1.4-3.4 2.9-3.6 4.8 0 .2.3.2.3.1.2-1 .6-1.9 1.2-2.7.6-.8 1.4-1.3 2.2-2 .1-.1 0-.3-.1-.2zm5.7-1.4c-.9.2-1.9 1-2.6 1.7-.7.7-1.3 1.5-1.5 2.4 0 .2.2.3.3.2.5-.8.9-1.6 1.7-2.2.7-.6 1.6-1 2.2-1.8.1-.2.1-.3-.1-.3zm4.7-1.1c-2.3 0-4.7 2.1-5.4 4.2-.1.2.2.3.3.1.6-.9 1.2-1.8 2.1-2.5.9-.7 1.9-1 3-1.4.3-.1.3-.4 0-.4zm5.6 2.4c-2.1-2.7-6.2-1.8-7.9.8-.1.2.2.4.3.2 1-.9 2.1-1.9 3.5-2 1.5-.2 2.7.8 4 1.3.2.1.2-.2.1-.3z" fill="#3a353a" stroke-width="none" opacity="1"></path><path id="SvgjsPath17316" d="M111.1 89.8c1.5-.6 3.1-1.2 4.6-1.8 2.9-1 6.1-2.1 9.2-2.1 2.9-.1 5.5.9 7.9 2.4.4.2.8-.4.4-.6-.1-.1-.2-.2-.4-.2-2.7-3.3-5.7-6.2-10.3-5.7-2.5.3-4.9 1.1-7.3 1.7-2.8.8-5.6 1.4-8.3 2.4-.2.1-.1.3.1.3.6-.1 1.1-.2 1.7-.4-.8 1-1 2.5-.6 3.7-.4-.1-.8-.4-1.1-1-.3-.6-.4-1.2-.7-1.8-.1-.2-.5-.2-.5.1.1 1.4.5 3.2 2 3.7 1.2.1 2.3-.3 3.3-.7zm19.9-3.5c-3-1.4-6.2-1.7-9.5-1-.1 0-.2.1-.4.1.4-.5.8-1.1 1.3-1.6.7-.6 1.5-.9 2.3-1.4 1.1.1 2.1.5 3.1 1.1 1.3.8 2.3 1.8 3.2 2.8zm-21.6-.7c3.8-.9 7.6-2 11.4-2.8 1-.2 1.9-.3 2.8-.3-.6.3-1.1.7-1.5 1.1-.6.5-1.3 1.3-1.5 2.1-1 .2-2 .5-2.9.8.4-.6.8-1.2 1.3-1.7.6-.6 1.3-1.1 1.9-1.7.1-.1 0-.3-.2-.3-1.5.6-2.9 2.2-3.6 3.8-.8.2-1.6.5-2.3.8.2-.7.5-1.4.9-2.1.1-.2-.1-.3-.2-.2-.6.6-.9 1.6-.9 2.4-.2.1-.4.1-.6.2-1.2.5-2.4 1.1-3.6 1.5-.6.2-1.2.4-1.7.3-.4-1.4-.2-2.7.7-3.9z" fill="#1b141c" stroke-width="none" opacity="1"></path></g></g></g><g id="svga-group-nose-single-move" transform="matrix(1,0,0,1,0,0)"><g id="svga-group-nose-single"><path id="SvgjsPath17297" d="M97.72 89.37c-.8 3.33-.91 6.89-1.27 10.29-.38 3.64-1.08 7.4-1.03 11.06 0 .29.45.37.52.07.74-3.34.83-6.91 1.18-10.31.37-3.64 1.05-7.41.93-11.06 0-.19-.28-.24-.33-.05z" fill="#c5796d" stroke-width="none" opacity="1" transform="translate(0 2)"></path><path id="SvgjsPath17298" d="M94.71 108.8c-.98 1.31-1.8 2.73-2.52 4.2-.46.95-1.04 2.07-.73 3.16.5 1.8 2.79 2.36 4.28 1.51.44-.26.24-.95-.26-.95-.87-.01-1.89.27-2.58-.47-.84-.89-.01-2.5.36-3.4.55-1.32 1.22-2.59 1.74-3.92.07-.19-.19-.26-.29-.13z" fill="#c5796d" stroke-width="none" opacity="1" transform="translate(0 2)"></path><path id="SvgjsPath17299" d="M94.57 116.21c2.7-.2 3.21 3.2 5.78 3.28 2.2.07 2.37-3.24 4.46-3.14.24.01.32-.33.12-.45-2.37-1.4-2.81 2.72-4.99 2.46-1.29-.15-2.21-2.05-3.37-2.6-.79-.37-1.36-.34-2.13.01-.19.11-.09.46.13.44z" fill="#c5796d" stroke-width="none" opacity="1" transform="translate(0 2)"></path><path id="SvgjsPath17300" d="M104.07 117.75c1.78.4 3.85-.15 4.27-2.13.21-.99-.12-1.97-.64-2.81-.84-1.37-1.93-2.53-2.73-3.95-.13-.24-.47-.12-.48.13-.1 1.59 1.08 2.69 1.92 3.92.78 1.13 1.45 2.69.14 3.81-.6.51-1.74.42-2.48.56-.24.05-.23.42 0 .47z" fill="#c5796d" stroke-width="none" opacity="1" transform="translate(0 2)"></path><path id="SvgjsPath17301" d="M102.32 112.41c-.39-.7-1.4-.81-1.96-.25-.05.05-.23.28-.28.34-.06.08-.19.25-.21.28-.06.1-.12.2-.17.3l-.11.26c0-.01-.01.01-.03.05-.06.06-.12.13-.17.19-.17.18-.34.36-.48.57-.4.63-.08 1.35.46 1.75.83.62 2.03.12 2.61-.58.7-.84.89-1.92.34-2.91z" fill="#fbe5e2" stroke-width="none" opacity="1" transform="translate(0 2)"></path></g></g><g id="svga-group-hair-front"><path id="SvgjsPath17352" d="M143.1 79.3c-.9 7.7-2.8 15-4.8 18.6 0 0-.3-14.3-3.7-21.1S121.2 62.2 120 56.5c0 0 1.5 3.3 3.8 4.7s10.3 7.6 12.2 9.7 5 7.3 6.3 8c.1.1.5.2.8.4zm-76.2 56.4c0 .6-.2 2.2-.5 4.5-.7-6.6-2.1-13.9-2.1-13.9s-30.2 44.5-26.2 59.2c4 14.7 12.1 24.9 12.9 25.7.8.8 4 1.9 5.4 4.5.5 1 10.5-8.8 5.6-20.6-4.8-11.8-5.9-19.8-1.9-26 .7-1.1 1.3-2.3 1.9-3.5-.8 4.3-1.5 7.7-1.7 8.7-.9 3.5-.9 8.5 1.5 14s6.1 5.8 6.1 5.8c-1.7-2.7-1.8-7.3-.2-12.1s4.2-9.5 5.6-14.5c1.5-5.2 2.2-11.4-2.7-21.7-2.7-6.1-3.7-10.1-3.7-10.1z" fill="#221b23" stroke-width="none" opacity="1"></path><path id="SvgjsPath17353" d="M120 56.5s-18.2 6.8-32.8 1.7-24 15.1-22.8 27.1 9.4 27.7 4.6 47.1c-4.8 19.4-18.8 34.2-22.8 42.8s-4 17.4 0 23.7 6 10.8 7.1 17.4c0 0-1.5-3.6-7.4-8-9.3-6.9-13.1-15.1-12.5-27.9s6.2-22.8 11.1-33.1c4.8-10.3 7.3-23.3 3.9-31.9-3.4-8.6-7.3-20.5-5.9-41.7 1.4-21.1 13.1-32.4 27.7-41s35.7-7 49.1 1.3 11.4 15.7 11.4 15.7 4-2 10 7.1 2 33.4-2.3 41.1c0 0-.3-14.3-3.7-21.1S121.2 62.2 120 56.5z" fill="#2a232b" stroke-width="none" opacity="1"></path><path id="SvgjsPath17354" d="M127.6 50.2c-2.3 1.5-4.7 1.5-6.1.8-4.1-1.8-7.4-8-10.8-11.7-5.7-6.2-7.2-9.4-20.3-10.1-9.3-.5-16.7 1.9-21 3.8-14.2 8.5-25.5 19.8-26.9 40.6-1.4 21.1 2.4 33.1 5.9 41.7s.9 21.6-3.9 31.9c-4.8 10.3-10.5 20.3-11.1 33.1s3.3 21 12.5 27.9c5.9 4.4 7.4 8 7.4 8-1.6-4.5-4-6.3-8.7-10.6-4.8-4.3-9.4-16.4-8.4-25.6s9.7-25 13.8-31.4c4.1-6.4 7.4-17.4 8.8-23.3 1.4-5.9.2-10.8-3.9-20.9s-6.3-36.5-5.6-41c1.1-8.3 3.1-14 9.4-20.6 9.4-9.8 21.6-11.3 28.9-11.4 11.8-.1 20 7.7 21.5 9.9s10.5 11.9 12.8 12.3c2.3.4 8-3.4 8-3.4l.7-.6s.3-1 0-2.6c-.5.9-1.5 2.2-3 3.2zM102.2 60c.3 0 .7 0 1-.1.2 0 .5 0 .8-.1.4 0 .9-.1 1.3-.1.2 0 .5-.1.8-.1.3 0 .7-.1 1-.1.3 0 .6-.1.9-.1.3 0 .6-.1.9-.1.2 0 .4-.1.6-.1.4-.1.8-.2 1.2-.2.2 0 .4-.1.6-.1.4-.1.8-.2 1.1-.2.2 0 .3-.1.4-.1.3-.1.6-.2.9-.2.1 0 .2 0 .3-.1.4-.1.8-.2 1.1-.3.1 0 .2 0 .3-.1.4-.1.7-.2 1.1-.3 2.2-.6 3.5-1.1 3.5-1.1s-5 .6-10.9-5.5c-2.3-3.7-6.1-10.5-12-12.8-6.8-2.7-29.5-3.9-37.2 12.5s-2.7 30.5.6 37.4c3.3 6.9 8.5 20.1 8.3 28.7-.2 8.7-2.3 21-4.6 26.4-2.3 5.4-17.6 24.4-20.8 33.3-3.3 9.3-4.4 15.6 3.5 28.3 3 4.9 5 6.3 5.8 8.1-1.2-5-3.1-9-6.5-14.2-4-6.3-4-15.1 0-23.7s18-23.4 22.8-42.8-3.4-35.1-4.6-47.1S72.7 52.9 87.2 58c1.9.7 3.9 1.1 5.8 1.4h.1c.2 0 .4.1.7.1.4 0 .8.1 1.2.1.3 0 .6 0 .8.1.4 0 .8.1 1.3.1h4.1c.3.3.7.3 1 .2z" fill="#221b23" stroke-width="none" opacity="1"></path><path id="SvgjsPath17355" d="M63.3 148.6s-2.6 6.6-9.3 14.7c-8.9 10.7-10.7 17.4-7.4 25.8 3.3 8.4 7.8 12.8 9.3 16.5s1.1 7.6 1.1 7.6 1.9-4.1 1.1-7.2c-.7-3.1-7.4-13.9-8.4-20s.1-12.9 4.2-18.7c3.5-4.9 7.6-11.6 9.4-18.7zm1.9 1.5s-2.5 11.6-6 17.4c-3.5 5.8-4.6 13-2 19.1 2.6 6.1 7.6 14.1 7.2 19.4 0 0 3.4-6.4.2-13s-4.3-16.4-1.7-23.1c2.6-6.6 2.9-15.2 2.3-19.8z" fill="#2a232b" stroke-width="none" opacity="1"></path><path id="SvgjsPath17356" d="M93.1 59.7c.3 0 .5.1.7.1.4 0 .8.1 1.2.1.3 0 .6 0 .8.1.4 0 .8.1 1.3.1h1.5c-2.4-1-5.2-2.6-7.6-5.4-4.8-5.9-8.5-8.6-16.2-7.8S59 58.1 59.5 69c.5 10.8 4 17.7 6.2 23.6-.6-2.6-1.1-5-1.3-7.3-1.1-12 8.3-32.2 22.8-27.1 2 .7 3.9 1.1 5.9 1.5z" fill="#1b141c" stroke-width="none" opacity="1"></path></g><g id="svga-group-glasses-single-move" transform="matrix(1,0,0,1,0,0)"><g id="svga-group-glasses-single"></g></g></g></g></g><rect id="svga-credit-rect" width="200" height="15" x="0" y="185" fill="#ecf0f1" opacity="0.5" style="display: none;"></rect><text id="svga-credit-text" font-family="Avenir Next, Roboto, Helvetica, Arial, sans-serif" font-size="10px" text-anchor="start" font-weight="400" size="10px" anchor="start" weight="400" fill="#333333" x="33.40447998046875" y="182.60824704170227" style="display: none;"><tspan id="SvgjsTspan17134" dy="13" x="33.40447998046875">Created on AvatarMaker.com</tspan></text></g><defs id="SvgjsDefs17086"></defs></svg>
|
data/assets/js/appscms-search.js
CHANGED
@@ -1,138 +1,133 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
name: "Ai",
|
24
|
-
description: "Appscms feature layout with new design",
|
25
|
-
color: "linear-gradient(148deg, #32a0f7 20%, #114793 100%)",
|
26
|
-
icon: "/assets/images/digipaint.svg",
|
27
|
-
url: "/appscms-feature",
|
28
|
-
},
|
29
|
-
{
|
30
|
-
name: "All tools",
|
31
|
-
description: "Appscms feature layout with new design",
|
32
|
-
color: "linear-gradient(148deg, #ffa16b 20%, #db410a 100%)",
|
33
|
-
icon: "/assets/images/digipaint.svg",
|
34
|
-
url: "/appscms-feature",
|
35
|
-
},
|
36
|
-
{
|
37
|
-
name: "All tools",
|
38
|
-
description: "Appscms feature layout with new design",
|
39
|
-
color: "#1A2EE7",
|
40
|
-
icon: "/assets/images/digipaint.svg",
|
41
|
-
url: "/appscms-feature",
|
42
|
-
},
|
43
|
-
],
|
44
|
-
},
|
45
|
-
{
|
46
|
-
category: "Calculators",
|
47
|
-
type: "tab",
|
48
|
-
active: false,
|
49
|
-
display: "none",
|
50
|
-
features: [
|
51
|
-
{
|
52
|
-
name: "Calculators",
|
53
|
-
description: "Appscms feature layout with new design",
|
54
|
-
color: "#1A2EE7",
|
55
|
-
icon: "/assets/images/digipaint.svg",
|
56
|
-
url: "/appscms-feature",
|
57
|
-
},
|
58
|
-
{
|
59
|
-
name: "Calculators",
|
60
|
-
description: "Appscms feature layout with new design",
|
61
|
-
color: "#1A2EE7",
|
62
|
-
icon: "/assets/images/digipaint.svg",
|
63
|
-
url: "/appscms-feature",
|
64
|
-
},
|
65
|
-
{
|
66
|
-
name: "Calculators",
|
67
|
-
description: "Appscms feature layout with new design",
|
68
|
-
color: "#1A2EE7",
|
69
|
-
icon: "/assets/images/digipaint.svg",
|
70
|
-
url: "/appscms-feature",
|
71
|
-
},
|
72
|
-
{
|
73
|
-
name: "Calculators",
|
74
|
-
description: "Appscms feature layout with new design",
|
75
|
-
color: "#1A2EE7",
|
76
|
-
icon: "/assets/images/digipaint.svg",
|
77
|
-
url: "/appscms-feature",
|
78
|
-
},
|
79
|
-
],
|
80
|
-
},
|
81
|
-
{
|
82
|
-
category: "Calculators",
|
83
|
-
type: "link",
|
84
|
-
link: "/tools",
|
85
|
-
features: [],
|
86
|
-
},
|
87
|
-
];
|
1
|
+
let features = [];
|
2
|
+
let featureshi = [];
|
3
|
+
let featuresar = [];
|
4
|
+
let featuresda = [];
|
5
|
+
let featuresde = [];
|
6
|
+
let featureses = [];
|
7
|
+
let featuresfr = [];
|
8
|
+
let featuresid = [];
|
9
|
+
let featuresit = [];
|
10
|
+
let featuresja = [];
|
11
|
+
let featuresko = [];
|
12
|
+
let featuresnl = [];
|
13
|
+
let featurespl = [];
|
14
|
+
let featurespt = [];
|
15
|
+
let featuresru = [];
|
16
|
+
let featuressv = [];
|
17
|
+
let featuresth = [];
|
18
|
+
let featurestr = [];
|
19
|
+
let featuresuk = [];
|
20
|
+
let featuresvi = [];
|
21
|
+
let featureszh = [];
|
22
|
+
let featureszhtw = [];
|
88
23
|
|
89
|
-
|
24
|
+
// Fetch data from searchbar.json
|
25
|
+
const fetchFeatures = async () => {
|
26
|
+
try {
|
27
|
+
const response = await fetch('/searchbar.json');
|
28
|
+
const data = await response.json();
|
29
|
+
features = data.features;
|
30
|
+
featureshi = data.featureshi;
|
31
|
+
featuresar = data.featuresar;
|
32
|
+
featuresda = data.featuresda;
|
33
|
+
featuresde = data.featuresde;
|
34
|
+
featureses = data.featureses;
|
35
|
+
featuresfr = data.featuresfr;
|
36
|
+
featuresid = data.featuresid;
|
37
|
+
featuresit = data.featuresit;
|
38
|
+
featuresja = data.featuresja;
|
39
|
+
featuresko = data.featuresko;
|
40
|
+
featuresnl = data.featuresnl;
|
41
|
+
featurespl = data.featurespl;
|
42
|
+
featurespt = data.featurespt;
|
43
|
+
featuresru = data.featuresru;
|
44
|
+
featuressv = data.featuressv;
|
45
|
+
featuresth = data.featuresth;
|
46
|
+
featurestr = data.featurestr;
|
47
|
+
featuresuk = data.featuresuk;
|
48
|
+
featuresvi = data.featuresvi;
|
49
|
+
featureszh = data.featureszh;
|
50
|
+
featureszhtw = data.featureszhtw;
|
51
|
+
} catch (error) {
|
52
|
+
console.error('Error loading features:', error);
|
53
|
+
featureList.innerHTML = '<div class="error-msg">Error loading features</div>';
|
54
|
+
}
|
55
|
+
};
|
90
56
|
|
57
|
+
const getFeatureSet = () => {
|
58
|
+
const currentUrl = window.location.pathname;
|
59
|
+
if (currentUrl.includes('/hi')) return featureshi;
|
60
|
+
if (currentUrl.includes('/ar')) return featuresar;
|
61
|
+
if (currentUrl.includes('/da')) return featuresda;
|
62
|
+
if (currentUrl.includes('/de')) return featuresde;
|
63
|
+
if (currentUrl.includes('/es')) return featureses;
|
64
|
+
if (currentUrl.includes('/fr')) return featuresfr;
|
65
|
+
if (currentUrl.includes('/id')) return featuresid;
|
66
|
+
if (currentUrl.includes('/it')) return featuresit;
|
67
|
+
if (currentUrl.includes('/ja')) return featuresja;
|
68
|
+
if (currentUrl.includes('/ko')) return featuresko;
|
69
|
+
if (currentUrl.includes('/nl')) return featuresnl;
|
70
|
+
if (currentUrl.includes('/pl')) return featurespl;
|
71
|
+
if (currentUrl.includes('/pt')) return featurespt;
|
72
|
+
if (currentUrl.includes('/ru')) return featuresru;
|
73
|
+
if (currentUrl.includes('/sv')) return featuressv;
|
74
|
+
if (currentUrl.includes('/th')) return featuresth;
|
75
|
+
if (currentUrl.includes('/tr')) return featurestr;
|
76
|
+
if (currentUrl.includes('/uk')) return featuresuk;
|
77
|
+
if (currentUrl.includes('/vi')) return featuresvi;
|
78
|
+
if (currentUrl.includes('/zh')) return featureszh;
|
79
|
+
if (currentUrl.includes('/zh-tw')) return featureszhtw;
|
80
|
+
return features;
|
81
|
+
};
|
82
|
+
const featureList = document.querySelector('#appscms-tools-section-row');
|
91
83
|
const renderFeatures = (query) => {
|
92
84
|
featureList.innerHTML = "";
|
85
|
+
const currentFeatures = getFeatureSet();
|
86
|
+
const filteredFeatures = currentFeatures.filter(currentFeatures =>
|
87
|
+
currentFeatures.name.toLowerCase().includes(query.toLowerCase())
|
88
|
+
);
|
93
89
|
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
const listItem = document.createElement("div");
|
102
|
-
const classNames = "col-xl-4 col-lg-6 col-md-6 appscms-tool-container";
|
103
|
-
listItem.classList.add(...classNames.split(" "));
|
104
|
-
|
105
|
-
// Adding data-category attribute
|
106
|
-
listItem.dataset.category = category.category;
|
107
|
-
|
108
|
-
listItem.innerHTML = `
|
109
|
-
<a href="${item.url}">
|
110
|
-
<div class="appscms-tool">
|
111
|
-
<div class="tool-top" style="background: ${item.color};">
|
112
|
-
<div class="tool-img">
|
113
|
-
<img crossorigin="anonymous" src="${item.icon}" alt="img" />
|
114
|
-
</div>
|
115
|
-
<div class="tool-text">${item.description}</div>
|
116
|
-
</div>
|
117
|
-
<div class="tool-heading">${item.name}</div>
|
118
|
-
</div>
|
119
|
-
</a>
|
120
|
-
`;
|
121
|
-
featureList.appendChild(listItem);
|
90
|
+
if (filteredFeatures.length > 0) {
|
91
|
+
filteredFeatures.forEach(item => {
|
92
|
+
const listItem = document.createElement("div");
|
93
|
+
const classNames = "col-xl-4 col-lg-6 col-md-6 appscms-tool-container";
|
94
|
+
let classList = classNames.split(" ");
|
95
|
+
classList.forEach(function (className) {
|
96
|
+
listItem.classList.add(className);
|
122
97
|
});
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
98
|
+
listItem.innerHTML = `
|
99
|
+
<a href="${item.url}">
|
100
|
+
<div class="appscms-tool">
|
101
|
+
<div class="tool-top" style="background: ${item.color};">
|
102
|
+
<div class="tool-img">
|
103
|
+
<img crossorigin="anonymous" src="${item.icon}" alt="img" />
|
104
|
+
</div>
|
105
|
+
<div class="tool-text">${truncate(item.description, 67, '..')}</div>
|
106
|
+
</div>
|
107
|
+
<div class="tool-heading">${truncate(item.name, 33, '..')}</div>
|
108
|
+
</div>
|
109
|
+
</a>
|
110
|
+
`;
|
111
|
+
featureList.appendChild(listItem);
|
112
|
+
});
|
113
|
+
}
|
114
|
+
else {
|
115
|
+
let msg = document.createElement('div')
|
116
|
+
msg.classList.add('no-result-found-msg')
|
117
|
+
msg.innerHTML = "No search results found!"
|
118
|
+
featureList.appendChild(msg)
|
131
119
|
}
|
132
120
|
};
|
121
|
+
function truncate(str, length, ending = '..') {
|
122
|
+
if (!str) return '';
|
123
|
+
return str.length > length ? str.substring(0, length) + ending : str;
|
124
|
+
}
|
133
125
|
|
134
|
-
const searchInput = document.querySelector(
|
126
|
+
const searchInput = document.querySelector('#search-features');
|
135
127
|
searchInput.addEventListener("input", function () {
|
136
128
|
const query = searchInput.value.trim();
|
137
129
|
renderFeatures(query);
|
138
130
|
});
|
131
|
+
|
132
|
+
// Initialize by fetching data
|
133
|
+
fetchFeatures();
|
data/assets/js/appscms-theme.js
CHANGED
@@ -173,93 +173,260 @@ if (processingBtn && buttonLoader) {
|
|
173
173
|
}, { passive: true });
|
174
174
|
}
|
175
175
|
|
176
|
-
if ("{{ site.navigationSearch }}" === "true"
|
176
|
+
// if ("{{ site.navigationSearch }}" === "true") {
|
177
|
+
// // Fetch data directly from alllinks.json
|
178
|
+
// fetch("/alllinks.json")
|
179
|
+
// .then((response) => response.json())
|
180
|
+
// .then((data) => {
|
181
|
+
// // Check if the URL includes "/hi" to determine the language
|
182
|
+
// if (window.location.pathname.includes("/hi")) {
|
183
|
+
// window.fetchedData = data.featuredLinkshi; // Use Hindi data
|
184
|
+
// } else {
|
185
|
+
// window.fetchedData = data.featuredLinks; // Use English data
|
186
|
+
// }
|
187
|
+
// })
|
188
|
+
// .catch((error) => {
|
189
|
+
// console.error("Error fetching data:", error);
|
190
|
+
// });
|
177
191
|
|
178
|
-
|
179
|
-
|
192
|
+
// // Filter data based on search query
|
193
|
+
// function filterData(data, query) {
|
194
|
+
// return data.filter((item) =>
|
195
|
+
// item.name.toLowerCase().includes(query.toLowerCase())
|
196
|
+
// );
|
197
|
+
// }
|
180
198
|
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
199
|
+
// // Display filtered results
|
200
|
+
// function displayResults(results) {
|
201
|
+
// const resultsContainer = document.getElementById("results");
|
202
|
+
// resultsContainer.style.display = results.length ? "block" : "none";
|
203
|
+
// resultsContainer.innerHTML = results.length
|
204
|
+
// ? results
|
205
|
+
// .map(
|
206
|
+
// (result) =>
|
207
|
+
// `<div class="result-item"><a href="${result.url}" target="_blank">${result.name}</a></div>`
|
208
|
+
// )
|
209
|
+
// .join("")
|
210
|
+
// : "<p>No results found</p>";
|
211
|
+
// }
|
212
|
+
|
213
|
+
// function mobileDisplayResults(results) {
|
214
|
+
// const mobileResultsContainer = document.querySelector(
|
215
|
+
// ".mobile-searchbarResults"
|
216
|
+
// );
|
217
|
+
// mobileResultsContainer.style.display = results.length ? "block" : "none";
|
218
|
+
// mobileResultsContainer.innerHTML = results.length
|
219
|
+
// ? results
|
220
|
+
// .map(
|
221
|
+
// (result) =>
|
222
|
+
// `<div class="mobile-result-item"><a href="${result.url}" target="_blank">${result.name}</a></div>`
|
223
|
+
// )
|
224
|
+
// .join("")
|
225
|
+
// : "<p>No results found</p>";
|
226
|
+
// }
|
227
|
+
|
228
|
+
// // Handle search input
|
229
|
+
// const searchInput = document.querySelector(".search-input");
|
230
|
+
|
231
|
+
// searchInput.addEventListener("input", (event) => {
|
232
|
+
// const query = event.target.value;
|
233
|
+
// const data = window.fetchedData || [];
|
234
|
+
// const filteredResults = filterData(data, query);
|
235
|
+
// displayResults(filteredResults);
|
236
|
+
|
237
|
+
// gtag("event", "search", {
|
238
|
+
// event_category: "engagement",
|
239
|
+
// event_label: "Search Box",
|
240
|
+
// value: query,
|
241
|
+
// });
|
242
|
+
// });
|
243
|
+
|
244
|
+
// const mobileSearchInput = document.querySelector(".mobile-search-input");
|
245
|
+
// mobileSearchInput.addEventListener("input", (event) => {
|
246
|
+
// const query = event.target.value;
|
247
|
+
// const data = window.fetchedData || [];
|
248
|
+
// const filteredResults = filterData(data, query);
|
249
|
+
// mobileDisplayResults(filteredResults);
|
250
|
+
|
251
|
+
// gtag("event", "search", {
|
252
|
+
// event_category: "engagement",
|
253
|
+
// event_label: "Search Box",
|
254
|
+
// value: query,
|
255
|
+
// });
|
256
|
+
// });
|
257
|
+
|
258
|
+
// // Hide results when clicking outside search input and results container
|
259
|
+
// document.addEventListener("click", (event) => {
|
260
|
+
// const resultsContainer = document.getElementById("results");
|
261
|
+
|
262
|
+
// if (
|
263
|
+
// !searchInput.contains(event.target) &&
|
264
|
+
// !resultsContainer.contains(event.target)
|
265
|
+
// ) {
|
266
|
+
// resultsContainer.style.display = "none";
|
267
|
+
// }
|
268
|
+
// if (!window.location.pathname.includes("/hi")) {
|
269
|
+
// const mobileResultsContainer = document.querySelector(
|
270
|
+
// ".mobile-searchbarResults"
|
271
|
+
// );
|
272
|
+
// if (
|
273
|
+
// !mobileSearchInput.contains(event.target) &&
|
274
|
+
// !mobileResultsContainer.contains(event.target)
|
275
|
+
// ) {
|
276
|
+
// mobileResultsContainer.style.display = "none";
|
277
|
+
// }
|
278
|
+
// }
|
279
|
+
// });
|
280
|
+
// }
|
281
|
+
|
282
|
+
if ("{{ site.navigationSearch }}" === "true") {
|
283
|
+
// Define supported languages and their corresponding data keys
|
284
|
+
const SUPPORTED_LANGUAGES = {
|
285
|
+
de: 'featuredLinksde',
|
286
|
+
da: 'featuredLinksda',
|
287
|
+
es: 'featuredLinkses',
|
288
|
+
id: 'featuredLinksid',
|
289
|
+
it: 'featuredLinksit',
|
290
|
+
nl: 'featuredLinksnl',
|
291
|
+
pl: 'featuredLinkspl',
|
292
|
+
pt: 'featuredLinkspt',
|
293
|
+
sv: 'featuredLinkssv',
|
294
|
+
tr: 'featuredLinkstr',
|
295
|
+
vi: 'featuredLinksvi',
|
296
|
+
hi: 'featuredLinkshi'
|
191
297
|
};
|
192
|
-
|
193
|
-
//
|
194
|
-
|
195
|
-
|
298
|
+
|
299
|
+
// Helper function to get current language from URL
|
300
|
+
function getCurrentLanguage() {
|
301
|
+
const path = window.location.pathname;
|
302
|
+
return Object.keys(SUPPORTED_LANGUAGES).find(lang =>
|
303
|
+
path.includes(`/${lang}`)
|
304
|
+
) || 'en';
|
305
|
+
}
|
306
|
+
|
307
|
+
// Fetch data directly from alllinks.json
|
308
|
+
fetch("/alllinks.json")
|
309
|
+
.then((response) => response.json())
|
310
|
+
.then((data) => {
|
311
|
+
// Store all data globally
|
312
|
+
window.allData = data;
|
313
|
+
const currentLang = getCurrentLanguage();
|
314
|
+
// Set initial data based on current language
|
315
|
+
window.fetchedData = currentLang === 'en'
|
316
|
+
? data.featuredLinks
|
317
|
+
: data[SUPPORTED_LANGUAGES[currentLang]];
|
318
|
+
})
|
319
|
+
.catch((error) => {
|
320
|
+
console.error("Error fetching data:", error);
|
321
|
+
});
|
322
|
+
|
196
323
|
// Filter data based on search query
|
197
324
|
function filterData(data, query) {
|
198
|
-
return data.filter(item =>
|
325
|
+
return data ? data.filter((item) =>
|
326
|
+
item.name.toLowerCase().includes(query.toLowerCase())
|
327
|
+
) : [];
|
199
328
|
}
|
200
|
-
|
329
|
+
|
201
330
|
// Display filtered results
|
202
|
-
function displayResults(
|
203
|
-
const resultsContainer = document.getElementById(
|
204
|
-
|
205
|
-
resultsContainer.innerHTML = results.length
|
206
|
-
? results.map(result => `<div class="result-item"><a href="${result.url}" target="_blank">${result.name}</a></div>`).join('')
|
207
|
-
: '<p>No results found</p>';
|
208
|
-
}
|
209
|
-
|
210
|
-
function mobileDisplayResults(results) {
|
211
|
-
const mobileResultsContainer = document.querySelector('.mobile-searchbarResults');
|
212
|
-
mobileResultsContainer.style.display = results.length ? 'block' : 'none';
|
213
|
-
mobileResultsContainer.innerHTML = results.length
|
214
|
-
? results.map(result => `<div class="mobile-result-item"><a href="${result.url}" target="_blank">${result.name}</a></div>`).join('')
|
215
|
-
: '<p>No results found</p>';
|
216
|
-
}
|
217
|
-
|
218
|
-
// Handle search input
|
219
|
-
const searchInput = document.querySelector('.search-input');
|
220
|
-
;
|
221
|
-
|
222
|
-
searchInput.addEventListener('input', (event) => {
|
223
|
-
const query = event.target.value;
|
224
|
-
const data = window.fetchedData || [];
|
225
|
-
const filteredResults = filterData(data, query);
|
226
|
-
displayResults(filteredResults);
|
227
|
-
|
228
|
-
gtag('event', 'search', {
|
229
|
-
'event_category': 'engagement',
|
230
|
-
'event_label': 'Search Box',
|
231
|
-
'value': query
|
232
|
-
});
|
233
|
-
});
|
234
|
-
const mobileSearchInput = document.querySelector('.mobile-search-input')
|
235
|
-
mobileSearchInput.addEventListener('input', (event) => {
|
236
|
-
const query = event.target.value;
|
237
|
-
const data = window.fetchedData || [];
|
238
|
-
const filteredResults = filterData(data, query);
|
239
|
-
mobileDisplayResults(filteredResults);
|
331
|
+
function displayResults(primaryResults, secondaryResults = [], container) {
|
332
|
+
const resultsContainer = container || document.getElementById("results");
|
333
|
+
const currentLang = getCurrentLanguage();
|
240
334
|
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
335
|
+
// Combine results, with primary results first
|
336
|
+
const combinedResults = [...primaryResults];
|
337
|
+
if (primaryResults.length < 4) {
|
338
|
+
// Only add secondary results if primary results are less than 4
|
339
|
+
secondaryResults.forEach(result => {
|
340
|
+
// Check if this result isn't already in primary results
|
341
|
+
if (!primaryResults.some(pr => pr.url === result.url)) {
|
342
|
+
combinedResults.push(result);
|
343
|
+
}
|
245
344
|
});
|
246
|
-
}
|
345
|
+
}
|
346
|
+
|
347
|
+
resultsContainer.style.display = combinedResults.length ? "block" : "none";
|
247
348
|
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
349
|
+
if (combinedResults.length === 0) {
|
350
|
+
resultsContainer.innerHTML = "<p>No results found</p>";
|
351
|
+
return;
|
352
|
+
}
|
353
|
+
|
354
|
+
// Get language display name for the indicator
|
355
|
+
const getLanguageDisplayName = () => {
|
356
|
+
try {
|
357
|
+
return new Intl.DisplayNames(['en'], { type: 'language' }).of('en');
|
358
|
+
} catch (e) {
|
359
|
+
return 'English';
|
360
|
+
}
|
361
|
+
};
|
362
|
+
|
363
|
+
// Display results with language indicators
|
364
|
+
resultsContainer.innerHTML = combinedResults
|
365
|
+
.map((result, index) => {
|
366
|
+
const isSecondary = index >= primaryResults.length;
|
367
|
+
return `
|
368
|
+
<div class="result-item ${isSecondary ? 'secondary-result' : ''}">
|
369
|
+
<a href="${result.url}" target="_blank">${result.name}</a>
|
370
|
+
${isSecondary ? `<span class="language-indicator"></span>` : ''}
|
371
|
+
</div>
|
372
|
+
`;
|
373
|
+
})
|
374
|
+
.join("");
|
375
|
+
}
|
376
|
+
|
377
|
+
function handleSearch(event, isDesktop = true) {
|
378
|
+
const query = event.target.value.trim();
|
379
|
+
const container = isDesktop ?
|
380
|
+
document.getElementById("results") :
|
381
|
+
document.querySelector(".mobile-searchbarResults");
|
382
|
+
|
383
|
+
if (!query) {
|
384
|
+
container.style.display = "none";
|
385
|
+
return;
|
386
|
+
}
|
387
|
+
|
388
|
+
const currentLang = getCurrentLanguage();
|
389
|
+
const currentLangData = currentLang === 'en'
|
390
|
+
? window.allData.featuredLinks
|
391
|
+
: window.allData[SUPPORTED_LANGUAGES[currentLang]];
|
392
|
+
|
393
|
+
// First, search in current language data
|
394
|
+
const primaryResults = filterData(currentLangData, query);
|
395
|
+
|
396
|
+
// If primary results are less than 4, also search in English data
|
397
|
+
const englishResults = primaryResults.length < 4 ?
|
398
|
+
filterData(window.allData.featuredLinks, query) :
|
399
|
+
[];
|
400
|
+
|
401
|
+
// Display results with current language first, then English if needed
|
402
|
+
displayResults(primaryResults, englishResults, container);
|
403
|
+
|
404
|
+
gtag("event", "search", {
|
405
|
+
event_category: "engagement",
|
406
|
+
event_label: "Search Box",
|
407
|
+
value: query,
|
408
|
+
});
|
409
|
+
}
|
410
|
+
|
411
|
+
// Set up desktop search
|
412
|
+
const searchInput = document.querySelector(".search-input");
|
413
|
+
searchInput.addEventListener("input", (event) => handleSearch(event, true));
|
414
|
+
|
415
|
+
// Set up mobile search
|
416
|
+
const mobileSearchInput = document.querySelector(".mobile-search-input");
|
417
|
+
mobileSearchInput.addEventListener("input", (event) => handleSearch(event, false));
|
418
|
+
|
419
|
+
// Hide results when clicking outside
|
420
|
+
document.addEventListener("click", (event) => {
|
421
|
+
const resultsContainer = document.getElementById("results");
|
422
|
+
const mobileResultsContainer = document.querySelector(".mobile-searchbarResults");
|
423
|
+
|
255
424
|
if (!searchInput.contains(event.target) && !resultsContainer.contains(event.target)) {
|
256
|
-
resultsContainer.style.display =
|
425
|
+
resultsContainer.style.display = "none";
|
257
426
|
}
|
258
|
-
|
259
|
-
const mobileResultsContainer = document.querySelector('.mobile-searchbarResults');
|
427
|
+
|
260
428
|
if (!mobileSearchInput.contains(event.target) && !mobileResultsContainer.contains(event.target)) {
|
261
|
-
mobileResultsContainer.style.display =
|
262
|
-
}
|
429
|
+
mobileResultsContainer.style.display = "none";
|
263
430
|
}
|
264
431
|
});
|
265
432
|
}
|
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: 4.9.
|
4
|
+
version: 4.9.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: 2025-02-
|
11
|
+
date: 2025-02-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -96,6 +96,8 @@ files:
|
|
96
96
|
- _data/help/en/help.json
|
97
97
|
- _data/home-1/en/en.json
|
98
98
|
- _data/home/.DS_Store
|
99
|
+
- _data/home/de/da.json
|
100
|
+
- _data/home/de/de.json
|
99
101
|
- _data/home/en/en.json
|
100
102
|
- _data/home/en/photoeffects.json
|
101
103
|
- _data/home/en/posters.json
|
@@ -110,6 +112,7 @@ files:
|
|
110
112
|
- _data/review/trustpilot.json
|
111
113
|
- _data/termAndCondition/en/termAndCondition.json
|
112
114
|
- _includes/.DS_Store
|
115
|
+
- _includes/Atest.html
|
113
116
|
- _includes/Rating/rating.html
|
114
117
|
- _includes/Rating/structureddata.html
|
115
118
|
- _includes/Usp/usp.html
|
@@ -479,6 +482,7 @@ files:
|
|
479
482
|
- assets/images/keshav.webp
|
480
483
|
- assets/images/krutika.jpeg
|
481
484
|
- assets/images/krutika.webp
|
485
|
+
- assets/images/lakshmi.svg
|
482
486
|
- assets/images/lightbulb.svg
|
483
487
|
- assets/images/like.svg
|
484
488
|
- assets/images/loader.gif
|