appscms-tools-theme 4.7.7 → 4.7.8

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 (138) 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/blog/relatedblogs.json +2816 -2816
  5. data/_data/feature/en/batch-conversion.json +192 -192
  6. data/_data/feature/en/compress-pdf.json +223 -223
  7. data/_data/feature/en/devtools.json +321 -321
  8. data/_data/feature/en/face-detection.json +156 -156
  9. data/_data/feature/en/split-pdf.json +221 -221
  10. data/_data/feature/en/theframe.json +160 -160
  11. data/_data/footer/en/data.json +264 -264
  12. data/_data/header/en/data.json +672 -672
  13. data/_data/home/en/en.json +250 -250
  14. data/_data/home/en/posters.json +322 -322
  15. data/_data/home-1/en/en.json +236 -236
  16. data/_includes/alternates/alternates.html +88 -88
  17. data/_includes/appscms/customblog/contenttool-recent-posts.html +94 -94
  18. data/_includes/appscms/customblog/pageRelatedPosts.html +68 -68
  19. data/_includes/appscms/customblog/recentposts.html +67 -67
  20. data/_includes/appscms/customblog/relatedBlogs.html +82 -82
  21. data/_includes/appscms/customblog/relatedposts.html +193 -193
  22. data/_includes/appscms/extras/appscms-postbox.html +57 -57
  23. data/_includes/appscms/featurePageAuthors/featurePageAuthors.html +85 -85
  24. data/_includes/appscms/head/bloghead.html +128 -128
  25. data/_includes/appscms/headings/contenttool-headings.html +33 -33
  26. data/_includes/appscms/headings/devtool-headings.html +38 -38
  27. data/_includes/appscms/home/contenttool-feature-boxes.html +19 -19
  28. data/_includes/appscms/home/devtool-feature-boxes.html +70 -70
  29. data/_includes/appscms/infographics/infographics.html +160 -160
  30. data/_includes/appscms/loaders/loader.html +4 -4
  31. data/_includes/appscms/navbars/devtool-navbar.html +50 -50
  32. data/_includes/appscms/navbars/devtool-toolbar.html +100 -100
  33. data/_includes/appscms/recent-posts/recent_posts.html +90 -90
  34. data/_includes/appscms/recent-posts/related_categories_post.html +194 -194
  35. data/_includes/appscms/searchbar/devtool-searchbar.html +63 -63
  36. data/_includes/appscms/usp/usp.html +90 -90
  37. data/_includes/author_bio.html +41 -41
  38. data/_includes/authorpagehead/index.html +47 -47
  39. data/_includes/authors/authors.html +39 -39
  40. data/_includes/batch-conversion.html +141 -141
  41. data/_includes/bookmark.html +6 -6
  42. data/_includes/cssfile/links.html +54 -54
  43. data/_includes/custom-head.html +138 -138
  44. data/_includes/customCode.html +1 -1
  45. data/_includes/customScripts.html +1 -1
  46. data/_includes/customblog/pageRelatedPosts.html +87 -87
  47. data/_includes/customblog/recentposts.html +67 -67
  48. data/_includes/customblog/relatedBlogs.html +86 -86
  49. data/_includes/customblog/relatedposts.html +201 -201
  50. data/_includes/dropdown/langdropdown.html +32 -32
  51. data/_includes/feature.html +39 -39
  52. data/_includes/featurePageAuthors/featurePageAuthors.html +101 -101
  53. data/_includes/footer/index.html +537 -537
  54. data/_includes/google-analytics.html +32 -32
  55. data/_includes/head/index.html +627 -627
  56. data/_includes/header/blogHeader.html +34 -34
  57. data/_includes/header/index.html +152 -152
  58. data/_includes/infographics/infographics.html +244 -244
  59. data/_includes/internationalization-section.html +44 -0
  60. data/_includes/paginationBlogPage.html +70 -70
  61. data/_includes/postbox.html +65 -65
  62. data/_includes/script.html +493 -493
  63. data/_includes/section/count.html +32 -32
  64. data/_includes/section/recent_posts.html +94 -94
  65. data/_includes/section/related_categories_post.html +196 -196
  66. data/_includes/share/socialshare.html +21 -21
  67. data/_includes/userTracking.html +14 -14
  68. data/_layouts/aboutUs.html +175 -175
  69. data/_layouts/allAuthors.html +131 -131
  70. data/_layouts/appscms-about.html +163 -163
  71. data/_layouts/appscms-audio.html +33 -33
  72. data/_layouts/appscms-author.html +436 -436
  73. data/_layouts/appscms-authors.html +145 -145
  74. data/_layouts/appscms-batch.html +141 -141
  75. data/_layouts/appscms-calculator.html +93 -93
  76. data/_layouts/appscms-categories.html +26 -26
  77. data/_layouts/appscms-contact.html +132 -132
  78. data/_layouts/appscms-disclaimer.html +124 -124
  79. data/_layouts/appscms-download.html +289 -289
  80. data/_layouts/appscms-feature-result.html +96 -96
  81. data/_layouts/appscms-feature.html +22 -24
  82. data/_layouts/appscms-help.html +25 -25
  83. data/_layouts/appscms-imagekit.html +96 -96
  84. data/_layouts/appscms-post.html +243 -243
  85. data/_layouts/appscms-privacy-policy.html +781 -781
  86. data/_layouts/appscms-terms-and-conditions.html +646 -646
  87. data/_layouts/appscms-video.html +33 -33
  88. data/_layouts/audio.html +33 -33
  89. data/_layouts/author.html +409 -409
  90. data/_layouts/batch.html +177 -177
  91. data/_layouts/blog-1.html +116 -116
  92. data/_layouts/blog.html +131 -131
  93. data/_layouts/calculator.html +99 -99
  94. data/_layouts/contenttool-feature.html +45 -45
  95. data/_layouts/contenttool-home.html +53 -53
  96. data/_layouts/devtool-blog.html +132 -132
  97. data/_layouts/devtool-feature.html +54 -54
  98. data/_layouts/devtool-home.html +53 -53
  99. data/_layouts/devtools.html +57 -57
  100. data/_layouts/feature-1.html +285 -285
  101. data/_layouts/feature.html +351 -351
  102. data/_layouts/featureResultPage.html +82 -82
  103. data/_layouts/frame.html +222 -222
  104. data/_layouts/home-1.html +186 -186
  105. data/_layouts/home.html +375 -375
  106. data/_layouts/homeResultPage.html +32 -32
  107. data/_layouts/imagekit.html +308 -308
  108. data/_layouts/photo-effects-home.html +190 -190
  109. data/_layouts/post.html +233 -233
  110. data/assets/app.js +75 -75
  111. data/assets/css/appscms-blog.css +505 -505
  112. data/assets/css/appscms-contenttool.css +1384 -1384
  113. data/assets/css/appscms-home.css +5 -5
  114. data/assets/css/appscms-imagekit.css +855 -855
  115. data/assets/css/appscms-variables.css +19 -19
  116. data/assets/css/blog.css +510 -510
  117. data/assets/css/calculators.css +46 -46
  118. data/assets/css/common.css +944 -944
  119. data/assets/css/devtool-main.css +1350 -1350
  120. data/assets/css/devtools.css +105 -105
  121. data/assets/css/feature-1.css +293 -293
  122. data/assets/css/home-1.css +188 -188
  123. data/assets/css/imagekit copy.css +848 -848
  124. data/assets/css/imagekit.css +848 -848
  125. data/assets/css/tools.css +1846 -1846
  126. data/assets/images/close-button.svg +31 -31
  127. data/assets/images/digipaint.svg +6 -6
  128. data/assets/images/iconn.svg +12 -12
  129. data/assets/images/logo.svg +2 -2
  130. data/assets/images/manthink.svg +3552 -3552
  131. data/assets/images/search-icon.svg +2 -2
  132. data/assets/js/batch.js +219 -219
  133. data/assets/js/devtools.js +81 -81
  134. data/assets/js/sharePage.js +65 -65
  135. data/assets/js/usageTracking.js +143 -143
  136. data/assets/js/usageTrackingEvents.js +6 -6
  137. data/assets/js/webvitals.js +4 -4
  138. metadata +4 -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.7.7
4
+ version: 4.7.8
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-07-31 00:00:00.000000000 Z
11
+ date: 2024-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -174,6 +174,7 @@ files:
174
174
  - _includes/header/blogHeader.html
175
175
  - _includes/header/index.html
176
176
  - _includes/infographics/infographics.html
177
+ - _includes/internationalization-section.html
177
178
  - _includes/languages/languages.html
178
179
  - _includes/monumetric/ads.html
179
180
  - _includes/monumetric/monumetric.html
@@ -613,7 +614,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
613
614
  - !ruby/object:Gem::Version
614
615
  version: '0'
615
616
  requirements: []
616
- rubygems_version: 3.3.26
617
+ rubygems_version: 3.4.10
617
618
  signing_key:
618
619
  specification_version: 4
619
620
  summary: Appscms theme for all tools