appscms-tools-theme 4.7.7 → 4.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) 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-home.html +3 -2
  84. data/_layouts/appscms-imagekit.html +96 -96
  85. data/_layouts/appscms-post.html +243 -243
  86. data/_layouts/appscms-privacy-policy.html +781 -781
  87. data/_layouts/appscms-terms-and-conditions.html +646 -646
  88. data/_layouts/appscms-video.html +33 -33
  89. data/_layouts/audio.html +33 -33
  90. data/_layouts/author.html +409 -409
  91. data/_layouts/batch.html +177 -177
  92. data/_layouts/blog-1.html +116 -116
  93. data/_layouts/blog.html +131 -131
  94. data/_layouts/calculator.html +99 -99
  95. data/_layouts/contenttool-feature.html +42 -46
  96. data/_layouts/contenttool-home.html +54 -54
  97. data/_layouts/devtool-blog.html +132 -132
  98. data/_layouts/devtool-feature.html +54 -54
  99. data/_layouts/devtool-home.html +53 -53
  100. data/_layouts/devtools.html +57 -57
  101. data/_layouts/feature-1.html +285 -285
  102. data/_layouts/feature.html +351 -351
  103. data/_layouts/featureResultPage.html +82 -82
  104. data/_layouts/frame.html +222 -222
  105. data/_layouts/home-1.html +186 -186
  106. data/_layouts/home.html +375 -375
  107. data/_layouts/homeResultPage.html +32 -32
  108. data/_layouts/imagekit.html +308 -308
  109. data/_layouts/photo-effects-home.html +190 -190
  110. data/_layouts/post.html +233 -233
  111. data/assets/app.js +75 -75
  112. data/assets/css/appscms-blog.css +505 -505
  113. data/assets/css/appscms-contenttool.css +1384 -1384
  114. data/assets/css/appscms-home.css +5 -5
  115. data/assets/css/appscms-imagekit.css +855 -855
  116. data/assets/css/appscms-variables.css +19 -19
  117. data/assets/css/blog.css +510 -510
  118. data/assets/css/calculators.css +46 -46
  119. data/assets/css/common.css +944 -944
  120. data/assets/css/devtool-main.css +1350 -1350
  121. data/assets/css/devtools.css +105 -105
  122. data/assets/css/feature-1.css +293 -293
  123. data/assets/css/home-1.css +188 -188
  124. data/assets/css/imagekit copy.css +848 -848
  125. data/assets/css/imagekit.css +848 -848
  126. data/assets/css/tools.css +1846 -1846
  127. data/assets/images/close-button.svg +31 -31
  128. data/assets/images/digipaint.svg +6 -6
  129. data/assets/images/iconn.svg +12 -12
  130. data/assets/images/logo.svg +2 -2
  131. data/assets/images/manthink.svg +3552 -3552
  132. data/assets/images/search-icon.svg +2 -2
  133. data/assets/js/batch.js +219 -219
  134. data/assets/js/devtools.js +81 -81
  135. data/assets/js/sharePage.js +65 -65
  136. data/assets/js/usageTracking.js +143 -143
  137. data/assets/js/usageTrackingEvents.js +6 -6
  138. data/assets/js/webvitals.js +4 -4
  139. 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.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: 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