appscms-tools-theme 4.6.0 → 4.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. checksums.yaml +4 -4
  2. data/_data/about/en/about.json +16 -16
  3. data/_data/blog/nav.json +14 -14
  4. data/_data/feature/en/batch-conversion.json +192 -192
  5. data/_data/feature/en/compress-pdf.json +305 -305
  6. data/_data/feature/en/devtools.json +321 -321
  7. data/_data/feature/en/face-detection.json +156 -156
  8. data/_data/feature/en/split-pdf.json +221 -221
  9. data/_data/feature/en/theframe.json +160 -160
  10. data/_data/footer/en/data.json +2 -2
  11. data/_data/header/en/data.json +412 -412
  12. data/_data/home/en/en.json +324 -324
  13. data/_data/home/en/posters.json +322 -322
  14. data/_includes/appscms/customblog/contenttool-recent-posts.html +94 -94
  15. data/_includes/appscms/customblog/pageRelatedPosts.html +62 -62
  16. data/_includes/appscms/customblog/recentposts.html +67 -67
  17. data/_includes/appscms/customblog/relatedBlogs.html +82 -82
  18. data/_includes/appscms/customblog/relatedposts.html +193 -193
  19. data/_includes/appscms/extras/appscms-postbox.html +57 -57
  20. data/_includes/appscms/featurePageAuthors/featurePageAuthors.html +85 -85
  21. data/_includes/appscms/head/bloghead.html +128 -128
  22. data/_includes/appscms/headings/contenttool-headings.html +33 -33
  23. data/_includes/appscms/headings/devtool-headings.html +38 -38
  24. data/_includes/appscms/home/contenttool-feature-boxes.html +19 -19
  25. data/_includes/appscms/home/devtool-feature-boxes.html +70 -70
  26. data/_includes/appscms/infographics/infographics.html +166 -166
  27. data/_includes/appscms/loaders/loader.html +4 -4
  28. data/_includes/appscms/navbars/devtool-navbar.html +50 -50
  29. data/_includes/appscms/navbars/devtool-toolbar.html +100 -100
  30. data/_includes/appscms/recent-posts/recent_posts.html +90 -90
  31. data/_includes/appscms/recent-posts/related_categories_post.html +194 -194
  32. data/_includes/appscms/searchbar/devtool-searchbar.html +63 -63
  33. data/_includes/appscms/usp/usp.html +90 -90
  34. data/_includes/author_bio.html +41 -41
  35. data/_includes/authorpagehead/index.html +47 -47
  36. data/_includes/authors/authors.html +39 -39
  37. data/_includes/batch-conversion.html +141 -141
  38. data/_includes/bookmark.html +6 -6
  39. data/_includes/cssfile/links.html +54 -54
  40. data/_includes/custom-head.html +138 -138
  41. data/_includes/customCode.html +1 -1
  42. data/_includes/customScripts.html +1 -1
  43. data/_includes/customblog/pageRelatedPosts.html +87 -87
  44. data/_includes/customblog/recentposts.html +67 -67
  45. data/_includes/customblog/relatedBlogs.html +86 -86
  46. data/_includes/customblog/relatedposts.html +201 -201
  47. data/_includes/dropdown/langdropdown.html +32 -32
  48. data/_includes/feature.html +39 -39
  49. data/_includes/featurePageAuthors/featurePageAuthors.html +101 -101
  50. data/_includes/footer/index.html +537 -537
  51. data/_includes/google-analytics.html +32 -32
  52. data/_includes/head/index.html +623 -623
  53. data/_includes/header/blogHeader.html +34 -34
  54. data/_includes/header/index.html +192 -192
  55. data/_includes/infographics/infographics.html +241 -241
  56. data/_includes/paginationBlogPage.html +70 -70
  57. data/_includes/postbox.html +65 -65
  58. data/_includes/script.html +493 -493
  59. data/_includes/section/count.html +32 -32
  60. data/_includes/section/recent_posts.html +94 -94
  61. data/_includes/section/related_categories_post.html +196 -196
  62. data/_includes/share/socialshare.html +21 -21
  63. data/_includes/userTracking.html +14 -14
  64. data/_layouts/aboutUs.html +175 -175
  65. data/_layouts/allAuthors.html +131 -131
  66. data/_layouts/appscms-about.html +163 -163
  67. data/_layouts/appscms-audio.html +33 -33
  68. data/_layouts/appscms-author.html +436 -436
  69. data/_layouts/appscms-authors.html +145 -145
  70. data/_layouts/appscms-batch.html +141 -141
  71. data/_layouts/appscms-calculator.html +93 -93
  72. data/_layouts/appscms-categories.html +26 -26
  73. data/_layouts/appscms-contact.html +132 -132
  74. data/_layouts/appscms-disclaimer.html +124 -124
  75. data/_layouts/appscms-download.html +289 -289
  76. data/_layouts/appscms-feature-result.html +96 -96
  77. data/_layouts/appscms-help.html +25 -25
  78. data/_layouts/appscms-imagekit.html +96 -96
  79. data/_layouts/appscms-post.html +243 -243
  80. data/_layouts/appscms-privacy-policy.html +781 -781
  81. data/_layouts/appscms-terms-and-conditions.html +646 -646
  82. data/_layouts/appscms-video.html +33 -33
  83. data/_layouts/audio.html +33 -33
  84. data/_layouts/author.html +409 -409
  85. data/_layouts/batch.html +177 -177
  86. data/_layouts/blog-1.html +116 -116
  87. data/_layouts/blog.html +131 -131
  88. data/_layouts/calculator.html +99 -99
  89. data/_layouts/contenttool-feature.html +45 -45
  90. data/_layouts/contenttool-home.html +53 -53
  91. data/_layouts/devtool-blog.html +132 -132
  92. data/_layouts/devtool-feature.html +54 -54
  93. data/_layouts/devtool-home.html +53 -53
  94. data/_layouts/devtools.html +57 -57
  95. data/_layouts/feature-1.html +406 -406
  96. data/_layouts/feature.html +351 -351
  97. data/_layouts/featureResultPage.html +82 -82
  98. data/_layouts/frame.html +222 -222
  99. data/_layouts/home.html +281 -281
  100. data/_layouts/homeResultPage.html +32 -32
  101. data/_layouts/imagekit.html +308 -308
  102. data/_layouts/photo-effects-home.html +190 -190
  103. data/_layouts/post.html +233 -233
  104. data/assets/app.js +75 -75
  105. data/assets/css/appscms-blog.css +505 -505
  106. data/assets/css/appscms-contenttool.css +1384 -1384
  107. data/assets/css/appscms-home.css +5 -5
  108. data/assets/css/appscms-imagekit.css +855 -855
  109. data/assets/css/appscms-theme.css +59 -59
  110. data/assets/css/appscms-variables.css +19 -19
  111. data/assets/css/blog.css +510 -510
  112. data/assets/css/calculators.css +46 -46
  113. data/assets/css/devtool-main.css +1350 -1350
  114. data/assets/css/devtools.css +105 -105
  115. data/assets/css/feature-1.css +293 -293
  116. data/assets/css/imagekit copy.css +848 -848
  117. data/assets/css/imagekit.css +848 -848
  118. data/assets/css/tools.css +1847 -1847
  119. data/assets/images/close-button.svg +31 -31
  120. data/assets/images/digipaint.svg +6 -6
  121. data/assets/images/logo.svg +2 -2
  122. data/assets/images/manthink.svg +3552 -3552
  123. data/assets/images/search-icon.svg +2 -2
  124. data/assets/js/batch.js +219 -219
  125. data/assets/js/devtools.js +81 -81
  126. data/assets/js/sharePage.js +65 -65
  127. data/assets/js/usageTracking.js +143 -143
  128. data/assets/js/usageTrackingEvents.js +6 -6
  129. data/assets/js/webvitals.js +4 -4
  130. metadata +3 -3
@@ -1,65 +1,65 @@
1
- document
2
- .getElementsByClassName("close-share-modal")[0]
3
- .addEventListener("click", function () {
4
- document.getElementsByClassName("shareModal")[0].style.display = "none";
5
- });
6
-
7
- document
8
- .getElementsByClassName("facebook")[0]
9
- .addEventListener("click", function () {
10
- window.open(
11
- "https://www.facebook.com/sharer/sharer.php?u=" +
12
- encodeURIComponent(window.location.href)
13
- );
14
- });
15
-
16
- document
17
- .getElementsByClassName("instagram")[0]
18
- .addEventListener("click", function () {
19
- window.open("https://www.instagram.com/");
20
- });
21
-
22
- document
23
- .getElementsByClassName("twitter")[0]
24
- .addEventListener("click", function () {
25
- window.open(
26
- "https://twitter.com/share?url=" +
27
- encodeURIComponent(window.location.href)
28
- );
29
- });
30
-
31
- document
32
- .getElementsByClassName("whatsapp")[0]
33
- .addEventListener("click", function () {
34
- window.open(
35
- "https://api.whatsapp.com/send?text=" +
36
- encodeURIComponent(window.location.href)
37
- );
38
- });
39
-
40
- document
41
- .getElementsByClassName("telegram")[0]
42
- .addEventListener("click", function () {
43
- window.open(
44
- "https://telegram.me/share/url?url=" +
45
- encodeURIComponent(window.location.href)
46
- );
47
- });
48
-
49
- document
50
- .getElementsByClassName("pinterest")[0]
51
- .addEventListener("click", function () {
52
- window.open(
53
- "https://pinterest.com/pin/create/button/?url=" +
54
- encodeURIComponent(window.location.href)
55
- );
56
- });
57
-
58
- document
59
- .getElementsByClassName("linkedin")[0]
60
- .addEventListener("click", function () {
61
- window.open(
62
- "https://www.linkedin.com/shareArticle?mini=true&url=" +
63
- encodeURIComponent(window.location.href)
64
- );
65
- });
1
+ document
2
+ .getElementsByClassName("close-share-modal")[0]
3
+ .addEventListener("click", function () {
4
+ document.getElementsByClassName("shareModal")[0].style.display = "none";
5
+ });
6
+
7
+ document
8
+ .getElementsByClassName("facebook")[0]
9
+ .addEventListener("click", function () {
10
+ window.open(
11
+ "https://www.facebook.com/sharer/sharer.php?u=" +
12
+ encodeURIComponent(window.location.href)
13
+ );
14
+ });
15
+
16
+ document
17
+ .getElementsByClassName("instagram")[0]
18
+ .addEventListener("click", function () {
19
+ window.open("https://www.instagram.com/");
20
+ });
21
+
22
+ document
23
+ .getElementsByClassName("twitter")[0]
24
+ .addEventListener("click", function () {
25
+ window.open(
26
+ "https://twitter.com/share?url=" +
27
+ encodeURIComponent(window.location.href)
28
+ );
29
+ });
30
+
31
+ document
32
+ .getElementsByClassName("whatsapp")[0]
33
+ .addEventListener("click", function () {
34
+ window.open(
35
+ "https://api.whatsapp.com/send?text=" +
36
+ encodeURIComponent(window.location.href)
37
+ );
38
+ });
39
+
40
+ document
41
+ .getElementsByClassName("telegram")[0]
42
+ .addEventListener("click", function () {
43
+ window.open(
44
+ "https://telegram.me/share/url?url=" +
45
+ encodeURIComponent(window.location.href)
46
+ );
47
+ });
48
+
49
+ document
50
+ .getElementsByClassName("pinterest")[0]
51
+ .addEventListener("click", function () {
52
+ window.open(
53
+ "https://pinterest.com/pin/create/button/?url=" +
54
+ encodeURIComponent(window.location.href)
55
+ );
56
+ });
57
+
58
+ document
59
+ .getElementsByClassName("linkedin")[0]
60
+ .addEventListener("click", function () {
61
+ window.open(
62
+ "https://www.linkedin.com/shareArticle?mini=true&url=" +
63
+ encodeURIComponent(window.location.href)
64
+ );
65
+ });
@@ -1,143 +1,143 @@
1
- // Generate a unique ID for the user (if not already generated)
2
- const generateUserID = () => {
3
- // Check if the user ID is already stored in cookies or local storage
4
- const storedUserID = getStoredUserID();
5
-
6
- if (storedUserID) {
7
- return storedUserID;
8
- }
9
-
10
- // Example: Generating a random string
11
- const characters =
12
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
13
- let id = "";
14
- for (let i = 0; i < 10; i++) {
15
- id += characters.charAt(Math.floor(Math.random() * characters.length));
16
- }
17
-
18
- // Store the generated user ID in cookies or local storage
19
- storeUserID(id);
20
-
21
- return id;
22
- };
23
-
24
- // Get the stored user ID from cookies or local storage
25
- const getStoredUserID = () => {
26
- return localStorage.getItem("userID");
27
- };
28
-
29
- // Store the user ID in cookies or local storage
30
- const storeUserID = (userID) => {
31
- localStorage.setItem("userID", userID);
32
- };
33
-
34
- // Get the current date in YYYY-MM-DD format
35
- const getCurrentDate = () => {
36
- const today = new Date();
37
- const year = today.getFullYear();
38
- const month = String(today.getMonth() + 1).padStart(2, "0");
39
- const day = String(today.getDate()).padStart(2, "0");
40
- return `${year}-${month}-${day}`;
41
- };
42
-
43
- let userTrackingCountLimit = "20";
44
- const checkUsage = () => {
45
- const today = new Date().toDateString();
46
- const usageCount = getCookie("featureUsageCount");
47
-
48
- if (usageCount) {
49
- // User has already used the feature today
50
- if (usageCount >= Number(userTrackingCountLimit)) {
51
- showShareModal();
52
- } else {
53
- incrementUsageCount(usageCount);
54
- }
55
- } else {
56
- // First usage of the day
57
- setCookie("featureUsageCount", 1, getExpirationDate());
58
- }
59
- const userID = generateUserID();
60
- try {
61
- if ((usageCount + 1) % 5 === 0) {
62
- gtag("event", `feature_used_${usageCount + 1}_times`, {
63
- user_id: userID,
64
- userID: userID,
65
- feature: window.location.pathname + location.search,
66
- });
67
- }
68
- } catch (error) {
69
- console.log(error);
70
- }
71
-
72
- try {
73
- gtag("event", "feature_used", {
74
- user_id: userID,
75
- userID: userID,
76
- feature: window.location.pathname + location.search,
77
- });
78
- } catch (error) {
79
- console.log(error);
80
- }
81
- };
82
- const incrementUsageCount = (count) => {
83
- const today = new Date().toDateString();
84
-
85
- if (count >= Number(userTrackingCountLimit)) {
86
- showShareModal();
87
- } else {
88
- count++;
89
- setCookie("featureUsageCount", count, getExpirationDate());
90
- }
91
- };
92
-
93
- const showShareModal = () => {
94
- document.getElementById("shareModal").style.display = "block";
95
- };
96
-
97
- const handleShare = () => {
98
- const usageCount = getCookie("featureUsageCount");
99
- if (usageCount) {
100
- setCookie("featureUsageCount", 0, getExpirationDate());
101
- }
102
- document.getElementById("shareModal").style.display = "none";
103
- try {
104
- const userID = generateUserID();
105
- gtag("event", "feature_shared", {
106
- user_id: userID,
107
- userID: userID,
108
- feature: window.location.pathname + location.search,
109
- });
110
- } catch (error) {
111
- console.log(error);
112
- }
113
- };
114
-
115
- const getCookie = (name) => {
116
- const cookies = document.cookie.split(";");
117
- for (let i = 0; i < cookies.length; i++) {
118
- const cookie = cookies[i].trim();
119
- if (cookie.indexOf(name + "=") === 0) {
120
- return parseInt(cookie.substring((name + "=").length, cookie.length));
121
- }
122
- }
123
- return null;
124
- };
125
-
126
- const setCookie = (name, value, expires) => {
127
- document.cookie = `${name}=${value};expires=${expires};path=/`;
128
- };
129
-
130
- const getExpirationDate = () => {
131
- const date = new Date();
132
- date.setTime(date.getTime() + 24 * 60 * 60 * 1000); // 24 hours in milliseconds
133
- return date.toUTCString();
134
- };
135
- const socialShare = document.querySelectorAll(".social-share");
136
-
137
- if (socialShare) {
138
- Array.from(socialShare).map((item) => {
139
- item.addEventListener("click", () => {
140
- handleShare();
141
- });
142
- });
143
- }
1
+ // Generate a unique ID for the user (if not already generated)
2
+ const generateUserID = () => {
3
+ // Check if the user ID is already stored in cookies or local storage
4
+ const storedUserID = getStoredUserID();
5
+
6
+ if (storedUserID) {
7
+ return storedUserID;
8
+ }
9
+
10
+ // Example: Generating a random string
11
+ const characters =
12
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
13
+ let id = "";
14
+ for (let i = 0; i < 10; i++) {
15
+ id += characters.charAt(Math.floor(Math.random() * characters.length));
16
+ }
17
+
18
+ // Store the generated user ID in cookies or local storage
19
+ storeUserID(id);
20
+
21
+ return id;
22
+ };
23
+
24
+ // Get the stored user ID from cookies or local storage
25
+ const getStoredUserID = () => {
26
+ return localStorage.getItem("userID");
27
+ };
28
+
29
+ // Store the user ID in cookies or local storage
30
+ const storeUserID = (userID) => {
31
+ localStorage.setItem("userID", userID);
32
+ };
33
+
34
+ // Get the current date in YYYY-MM-DD format
35
+ const getCurrentDate = () => {
36
+ const today = new Date();
37
+ const year = today.getFullYear();
38
+ const month = String(today.getMonth() + 1).padStart(2, "0");
39
+ const day = String(today.getDate()).padStart(2, "0");
40
+ return `${year}-${month}-${day}`;
41
+ };
42
+
43
+ let userTrackingCountLimit = "20";
44
+ const checkUsage = () => {
45
+ const today = new Date().toDateString();
46
+ const usageCount = getCookie("featureUsageCount");
47
+
48
+ if (usageCount) {
49
+ // User has already used the feature today
50
+ if (usageCount >= Number(userTrackingCountLimit)) {
51
+ showShareModal();
52
+ } else {
53
+ incrementUsageCount(usageCount);
54
+ }
55
+ } else {
56
+ // First usage of the day
57
+ setCookie("featureUsageCount", 1, getExpirationDate());
58
+ }
59
+ const userID = generateUserID();
60
+ try {
61
+ if ((usageCount + 1) % 5 === 0) {
62
+ gtag("event", `feature_used_${usageCount + 1}_times`, {
63
+ user_id: userID,
64
+ userID: userID,
65
+ feature: window.location.pathname + location.search,
66
+ });
67
+ }
68
+ } catch (error) {
69
+ console.log(error);
70
+ }
71
+
72
+ try {
73
+ gtag("event", "feature_used", {
74
+ user_id: userID,
75
+ userID: userID,
76
+ feature: window.location.pathname + location.search,
77
+ });
78
+ } catch (error) {
79
+ console.log(error);
80
+ }
81
+ };
82
+ const incrementUsageCount = (count) => {
83
+ const today = new Date().toDateString();
84
+
85
+ if (count >= Number(userTrackingCountLimit)) {
86
+ showShareModal();
87
+ } else {
88
+ count++;
89
+ setCookie("featureUsageCount", count, getExpirationDate());
90
+ }
91
+ };
92
+
93
+ const showShareModal = () => {
94
+ document.getElementById("shareModal").style.display = "block";
95
+ };
96
+
97
+ const handleShare = () => {
98
+ const usageCount = getCookie("featureUsageCount");
99
+ if (usageCount) {
100
+ setCookie("featureUsageCount", 0, getExpirationDate());
101
+ }
102
+ document.getElementById("shareModal").style.display = "none";
103
+ try {
104
+ const userID = generateUserID();
105
+ gtag("event", "feature_shared", {
106
+ user_id: userID,
107
+ userID: userID,
108
+ feature: window.location.pathname + location.search,
109
+ });
110
+ } catch (error) {
111
+ console.log(error);
112
+ }
113
+ };
114
+
115
+ const getCookie = (name) => {
116
+ const cookies = document.cookie.split(";");
117
+ for (let i = 0; i < cookies.length; i++) {
118
+ const cookie = cookies[i].trim();
119
+ if (cookie.indexOf(name + "=") === 0) {
120
+ return parseInt(cookie.substring((name + "=").length, cookie.length));
121
+ }
122
+ }
123
+ return null;
124
+ };
125
+
126
+ const setCookie = (name, value, expires) => {
127
+ document.cookie = `${name}=${value};expires=${expires};path=/`;
128
+ };
129
+
130
+ const getExpirationDate = () => {
131
+ const date = new Date();
132
+ date.setTime(date.getTime() + 24 * 60 * 60 * 1000); // 24 hours in milliseconds
133
+ return date.toUTCString();
134
+ };
135
+ const socialShare = document.querySelectorAll(".social-share");
136
+
137
+ if (socialShare) {
138
+ Array.from(socialShare).map((item) => {
139
+ item.addEventListener("click", () => {
140
+ handleShare();
141
+ });
142
+ });
143
+ }
@@ -1,6 +1,6 @@
1
- const inputBoxOfFeatureFile = document.querySelector("#inputbox");
2
- if (inputBoxOfFeatureFile) {
3
- inputBoxOfFeatureFile.addEventListener("click", () => {
4
- checkUsage();
5
- });
6
- }
1
+ const inputBoxOfFeatureFile = document.querySelector("#inputbox");
2
+ if (inputBoxOfFeatureFile) {
3
+ inputBoxOfFeatureFile.addEventListener("click", () => {
4
+ checkUsage();
5
+ });
6
+ }
@@ -1,5 +1,5 @@
1
-
2
- webVitals.onCLS(console.log);
3
- webVitals.onFID(console.log);
4
- webVitals.onLCP(console.log);
1
+
2
+ webVitals.onCLS(console.log);
3
+ webVitals.onFID(console.log);
4
+ webVitals.onLCP(console.log);
5
5
  webVitals.onINP(console.log);
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.6.0
4
+ version: 4.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - vivek-appscms
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-21 00:00:00.000000000 Z
11
+ date: 2024-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -611,7 +611,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
611
611
  - !ruby/object:Gem::Version
612
612
  version: '0'
613
613
  requirements: []
614
- rubygems_version: 3.4.10
614
+ rubygems_version: 3.3.26
615
615
  signing_key:
616
616
  specification_version: 4
617
617
  summary: Appscms theme for all tools