appscms-tools-theme 5.2.1 → 5.2.3
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.
- checksums.yaml +4 -4
- data/_data/feature/en/3_shop_posters.json +456 -1
- data/_data/header/en/data.json +4 -0
- data/_data/home/en/ens.json +4 -4
- data/_data/templates.json +17459 -0
- data/_data/vintage/en/test.json +142 -0
- data/_includes/.DS_Store +0 -0
- data/_includes/appscms/footer/ai-image-tools-footer.html +14 -0
- data/_includes/appscms/head/head.html +61 -36
- data/_includes/appscms/headings/ai-image-tools-headings.html +24 -0
- data/_includes/appscms/navbars/ai-image-tools-navbar.html +446 -0
- data/_includes/appscms/scripts/script.html +17 -3
- data/_includes/contenttool_banner.html +266 -0
- data/_includes/contenttool_result_banner.html +135 -0
- data/_layouts/ai-image-generator.html +307 -0
- data/_layouts/ai-image-home.html +160 -0
- data/_layouts/ai-image-pricing.html +366 -0
- data/_layouts/appscms-download.html +110 -99
- data/_layouts/appscms-feature.html +94 -77
- data/assets/css/ai-image-generator.css +547 -0
- data/assets/css/ai-image-home.css +760 -0
- data/assets/css/appscms-variables.css +1 -1
- data/assets/js/appscms-login.js +1 -1
- data/assets/js/get-credits.js +91 -0
- metadata +16 -3
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
{%- include appscms/head/head.html -%}
|
|
4
|
+
|
|
5
|
+
<style>
|
|
6
|
+
.pricing-container {
|
|
7
|
+
max-width: 1400px;
|
|
8
|
+
margin: 0 auto;
|
|
9
|
+
display: grid;
|
|
10
|
+
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
11
|
+
gap: 30px;
|
|
12
|
+
padding: 20px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.pricing-card {
|
|
16
|
+
background: white;
|
|
17
|
+
border-radius: 20px;
|
|
18
|
+
padding: 40px 30px;
|
|
19
|
+
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
|
|
20
|
+
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
|
21
|
+
position: relative;
|
|
22
|
+
border: 2px solid #e8ecf1;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.pricing-card:hover {
|
|
26
|
+
transform: translateY(-10px);
|
|
27
|
+
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.pricing-card.popular {
|
|
31
|
+
border: 3px solid #f59e0b;
|
|
32
|
+
box-shadow: 0 15px 50px rgba(245, 158, 11, 0.2);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.popular-badge {
|
|
36
|
+
position: absolute;
|
|
37
|
+
top: -15px;
|
|
38
|
+
right: 30px;
|
|
39
|
+
background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
|
|
40
|
+
color: white;
|
|
41
|
+
padding: 8px 20px;
|
|
42
|
+
border-radius: 20px;
|
|
43
|
+
font-size: 14px;
|
|
44
|
+
font-weight: 600;
|
|
45
|
+
box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.plan-header {
|
|
49
|
+
margin-bottom: 30px;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.plan-name {
|
|
53
|
+
text-align: left;
|
|
54
|
+
font-size: 28px;
|
|
55
|
+
font-weight: 700;
|
|
56
|
+
color: #1f2937;
|
|
57
|
+
margin-bottom: 8px;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.plan-description {
|
|
61
|
+
color: #6b7280;
|
|
62
|
+
font-size: 14px;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.price-section {
|
|
66
|
+
margin-bottom: 30px;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.price {
|
|
70
|
+
font-size: 48px;
|
|
71
|
+
font-weight: 800;
|
|
72
|
+
color: #1f2937;
|
|
73
|
+
display: flex;
|
|
74
|
+
align-items: baseline;
|
|
75
|
+
gap: 5px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.original-price {
|
|
79
|
+
font-size: 18px;
|
|
80
|
+
color: #9ca3af;
|
|
81
|
+
text-decoration: line-through;
|
|
82
|
+
font-weight: 500;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.period {
|
|
86
|
+
font-size: 16px;
|
|
87
|
+
color: #6b7280;
|
|
88
|
+
font-weight: 400;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.buy-button {
|
|
92
|
+
width: 100%;
|
|
93
|
+
padding: 16px;
|
|
94
|
+
background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
|
|
95
|
+
color: white;
|
|
96
|
+
border: none;
|
|
97
|
+
border-radius: 12px;
|
|
98
|
+
font-size: 16px;
|
|
99
|
+
font-weight: 600;
|
|
100
|
+
cursor: pointer;
|
|
101
|
+
transition: all 0.3s ease;
|
|
102
|
+
margin-bottom: 30px;
|
|
103
|
+
box-shadow: 0 4px 15px rgba(245, 158, 11, 0.3);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.buy-button:hover {
|
|
107
|
+
transform: scale(1.02);
|
|
108
|
+
box-shadow: 0 6px 20px rgba(245, 158, 11, 0.4);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.features-list {
|
|
112
|
+
list-style: none;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.feature-item {
|
|
116
|
+
display: flex;
|
|
117
|
+
align-items: center;
|
|
118
|
+
gap: 12px;
|
|
119
|
+
margin-bottom: 16px;
|
|
120
|
+
color: #374151;
|
|
121
|
+
font-size: 14px;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.checkmark {
|
|
125
|
+
width: 24px;
|
|
126
|
+
height: 24px;
|
|
127
|
+
border-radius: 50%;
|
|
128
|
+
display: flex;
|
|
129
|
+
align-items: center;
|
|
130
|
+
justify-content: center;
|
|
131
|
+
flex-shrink: 0;
|
|
132
|
+
font-size: 12px;
|
|
133
|
+
font-weight: 700;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.checkmark.active {
|
|
137
|
+
background: #10b981;
|
|
138
|
+
color: white;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.checkmark.inactive {
|
|
142
|
+
background: #ef4444;
|
|
143
|
+
color: white;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.feature-item.highlighted {
|
|
147
|
+
color: #f59e0b;
|
|
148
|
+
font-weight: 600;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
@media (max-width: 768px) {
|
|
152
|
+
.pricing-container {
|
|
153
|
+
grid-template-columns: 1fr;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
</style>
|
|
157
|
+
|
|
158
|
+
<body>
|
|
159
|
+
<div class="container">
|
|
160
|
+
{%- include /appscms/navbars/ai-image-tools-navbar.html -%}
|
|
161
|
+
|
|
162
|
+
<center>
|
|
163
|
+
<h1 class="appscms-h1">Pricing & Plans</h1>
|
|
164
|
+
<h2 class="appscms-h2"> Choose the subscription plan that fits you and unlock Nano Banana images.
|
|
165
|
+
</h2>
|
|
166
|
+
</center>
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
<div class="pricing-container" id="pricingContainer"></div>
|
|
170
|
+
|
|
171
|
+
{%- include /appscms/footer/ai-image-tools-footer.html -%}
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
</div>
|
|
176
|
+
|
|
177
|
+
{%- include /appscms/scripts/script.html -%}
|
|
178
|
+
|
|
179
|
+
<script src="https://checkout.razorpay.com/v1/checkout.js"></script>
|
|
180
|
+
|
|
181
|
+
<script>
|
|
182
|
+
async function getAuthToken() {
|
|
183
|
+
const storedToken = localStorage.getItem("authToken");
|
|
184
|
+
if (storedToken) return storedToken;
|
|
185
|
+
|
|
186
|
+
if (typeof firebase !== "undefined" && firebase.auth) {
|
|
187
|
+
try {
|
|
188
|
+
const user = firebase.auth().currentUser;
|
|
189
|
+
if (user) {
|
|
190
|
+
const token = await user.getIdToken(true);
|
|
191
|
+
localStorage.setItem("authToken", token);
|
|
192
|
+
return token;
|
|
193
|
+
}
|
|
194
|
+
} catch (error) {
|
|
195
|
+
console.warn("Firebase auth error:", error);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
return sessionStorage.getItem("authToken") || null;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
async function loadPricingPlans() {
|
|
203
|
+
try {
|
|
204
|
+
const res = await fetch(
|
|
205
|
+
"https://us-central1-appscms-develop.cloudfunctions.net/payment_api/api/v1/payment-routes/image-toolkit-plans"
|
|
206
|
+
);
|
|
207
|
+
const data = await res.json();
|
|
208
|
+
|
|
209
|
+
const container = document.getElementById("pricingContainer");
|
|
210
|
+
container.innerHTML = "";
|
|
211
|
+
|
|
212
|
+
data.plans.forEach((plan, index) => {
|
|
213
|
+
const features = plan.description
|
|
214
|
+
.replace(/"/g, "")
|
|
215
|
+
.split(",")
|
|
216
|
+
.map(item => item.trim());
|
|
217
|
+
|
|
218
|
+
const isPopular = plan.plan.toLowerCase() === "pro";
|
|
219
|
+
|
|
220
|
+
const card = `
|
|
221
|
+
<div class="pricing-card ${isPopular ? "popular" : ""}">
|
|
222
|
+
${isPopular ? `<span class="popular-badge">Most Popular</span>` : ""}
|
|
223
|
+
|
|
224
|
+
<div class="plan-header">
|
|
225
|
+
<h2 class="plan-name">${plan.plan}</h2>
|
|
226
|
+
<p class="plan-description">
|
|
227
|
+
${isPopular ? "For creators and professionals" : "Perfect for beginners"}
|
|
228
|
+
</p>
|
|
229
|
+
</div>
|
|
230
|
+
|
|
231
|
+
<div class="price-section">
|
|
232
|
+
<div class="price">
|
|
233
|
+
$${plan.price_dollar}
|
|
234
|
+
<span class="period">/month</span>
|
|
235
|
+
</div>
|
|
236
|
+
</div>
|
|
237
|
+
|
|
238
|
+
<button class="buy-button"
|
|
239
|
+
onclick="buyPlan('${plan.razorpay_plan_id}', '${plan.plan}')">
|
|
240
|
+
Buy Now
|
|
241
|
+
</button>
|
|
242
|
+
|
|
243
|
+
<ul class="features-list">
|
|
244
|
+
${features.map(f => `
|
|
245
|
+
<li class="feature-item">
|
|
246
|
+
<span class="checkmark active">✓</span>
|
|
247
|
+
<span>${f}</span>
|
|
248
|
+
</li>
|
|
249
|
+
`).join("")}
|
|
250
|
+
</ul>
|
|
251
|
+
</div>
|
|
252
|
+
`;
|
|
253
|
+
|
|
254
|
+
container.insertAdjacentHTML("beforeend", card);
|
|
255
|
+
});
|
|
256
|
+
|
|
257
|
+
} catch (err) {
|
|
258
|
+
console.error("Pricing load error:", err);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
const PAYMENT_API_URL = "https://us-central1-appscms-develop.cloudfunctions.net/payment_api";
|
|
263
|
+
|
|
264
|
+
async function checkSubscriptionStatus(subscriptionId) {
|
|
265
|
+
const POLL_INTERVAL = 3000; // 3 sec (OK to keep)
|
|
266
|
+
const TIMEOUT = 2 * 60 * 1000; // 2 minutes max
|
|
267
|
+
|
|
268
|
+
const startTime = Date.now();
|
|
269
|
+
const authToken = await getAuthToken();
|
|
270
|
+
|
|
271
|
+
const poll = async () => {
|
|
272
|
+
try {
|
|
273
|
+
const res = await fetch(
|
|
274
|
+
`${PAYMENT_API_URL}/api/v1/payment-routes/subscription-status?subscription_id=${subscriptionId}`,
|
|
275
|
+
{
|
|
276
|
+
method: "GET",
|
|
277
|
+
headers: {
|
|
278
|
+
"Content-Type": "application/json",
|
|
279
|
+
"Authorization": `Bearer ${authToken}`,
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
);
|
|
283
|
+
|
|
284
|
+
const data = await res.json();
|
|
285
|
+
console.log("Subscription status:", data.status);
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
// ✅ ACTIVE → STOP
|
|
289
|
+
if (data.status === "activated") {
|
|
290
|
+
alert("✅ Subscription Active!");
|
|
291
|
+
hideLoadingOverlay()
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
setTimeout(poll, POLL_INTERVAL);
|
|
296
|
+
|
|
297
|
+
} catch (err) {
|
|
298
|
+
console.error("Polling error:", err);
|
|
299
|
+
// retry after interval (network glitch safe)
|
|
300
|
+
setTimeout(poll, POLL_INTERVAL);
|
|
301
|
+
}
|
|
302
|
+
};
|
|
303
|
+
|
|
304
|
+
poll();
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
function openRazorpayCheckout(subscriptionId, razorpayKey) {
|
|
308
|
+
const options = {
|
|
309
|
+
key: razorpayKey, // razorpay public key
|
|
310
|
+
subscription_id: subscriptionId,
|
|
311
|
+
name: "Nano Banana AI",
|
|
312
|
+
description: "AI Image Generation Subscription",
|
|
313
|
+
handler: function (response) {
|
|
314
|
+
console.log("Payment Success:", response);
|
|
315
|
+
checkSubscriptionStatus(subscriptionId);
|
|
316
|
+
},
|
|
317
|
+
theme: {
|
|
318
|
+
color: "#6C5CE7"
|
|
319
|
+
}
|
|
320
|
+
};
|
|
321
|
+
|
|
322
|
+
const rzp = new Razorpay(options);
|
|
323
|
+
rzp.open();
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
async function buyPlan(planId, planName) {
|
|
328
|
+
try {
|
|
329
|
+
const overlay = createLoadingOverlay();
|
|
330
|
+
document.body.appendChild(overlay);
|
|
331
|
+
const authToken = await getAuthToken();
|
|
332
|
+
const res = await fetch(
|
|
333
|
+
`${PAYMENT_API_URL}/api/v1/payment-routes/create-subscription`,
|
|
334
|
+
{
|
|
335
|
+
method: "POST",
|
|
336
|
+
headers: {
|
|
337
|
+
"Content-Type": "application/json",
|
|
338
|
+
Authorization: `Bearer ${authToken}`,
|
|
339
|
+
},
|
|
340
|
+
body: JSON.stringify({
|
|
341
|
+
plan_id: planId,
|
|
342
|
+
"total_count": 1200,
|
|
343
|
+
"site_id": 2,
|
|
344
|
+
"customer_notify": true,
|
|
345
|
+
plan_name: planName
|
|
346
|
+
|
|
347
|
+
})
|
|
348
|
+
}
|
|
349
|
+
);
|
|
350
|
+
|
|
351
|
+
const data = await res.json();
|
|
352
|
+
console.log("Subscription Created:", data.id);
|
|
353
|
+
|
|
354
|
+
openRazorpayCheckout(data.id, "rzp_test_8eh9kvtfj5GEvR");
|
|
355
|
+
|
|
356
|
+
} catch (err) {
|
|
357
|
+
console.error("Create subscription error:", err);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
loadPricingPlans();
|
|
362
|
+
</script>
|
|
363
|
+
|
|
364
|
+
</body>
|
|
365
|
+
|
|
366
|
+
</html>
|
|
@@ -4,13 +4,12 @@
|
|
|
4
4
|
{% assign downloadData= site.data[folder][lang][file] %}
|
|
5
5
|
<!DOCTYPE html>
|
|
6
6
|
<html lang="{{homeData.htmlLangAtt}}">
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
data-app-id="{{ site.appId }}"
|
|
7
|
+
{%- include appscms/head/head.html -%}
|
|
8
|
+
|
|
9
|
+
<body data-developer-key="{{ site.developerKey }}" data-client-id="{{ site.clientId }}" data-app-id="{{ site.appId }}"
|
|
11
10
|
data-dropbox-apikey="{{ site.dropboxapikey }}">
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
{%- include appscms/navbars/navbar.html -%} {%- include
|
|
12
|
+
appscms/navbars/toolbar.html -%}
|
|
14
13
|
<div class="container">
|
|
15
14
|
{%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
|
|
16
15
|
<div class="row">
|
|
@@ -26,10 +25,21 @@
|
|
|
26
25
|
}}
|
|
27
26
|
</p>
|
|
28
27
|
</div>
|
|
28
|
+
|
|
29
|
+
{% if site.show_contenttool_promo != true %}
|
|
29
30
|
<div class="go-back-block">
|
|
30
|
-
<button id="processing-btn">
|
|
31
|
+
<button id="processing-btn">
|
|
32
|
+
<span class="button-loader"></span> Try processing another file
|
|
33
|
+
</button>
|
|
31
34
|
</div>
|
|
32
|
-
|
|
35
|
+
{% endif %}
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
{%- include contenttool_result_banner.html -%}
|
|
41
|
+
|
|
42
|
+
|
|
33
43
|
</div>
|
|
34
44
|
<!-- <div class="col-lg-7 col-md-9 col-sm-11 text-center mx-auto">
|
|
35
45
|
<img id="rating-img" loading='lazy' src="/assets/images/rating.png" alt="rating-img" {%- if
|
|
@@ -131,8 +141,8 @@
|
|
|
131
141
|
|
|
132
142
|
<a class="px-2 feature-showcase-div w-100 d-flex justify-content-between " href="{{item.url}}">
|
|
133
143
|
<img src="{{item.logo}}" loading="lazy" alt="feature-logo" {%- if site.crossorigin -%}
|
|
134
|
-
|
|
135
|
-
|
|
144
|
+
crossorigin="anonymous" {%- endif -%}> <span class="ml-3 ">
|
|
145
|
+
{{item.name}}</span> </a>
|
|
136
146
|
</div>
|
|
137
147
|
{%- endfor -%}
|
|
138
148
|
{%- else -%}
|
|
@@ -154,138 +164,139 @@
|
|
|
154
164
|
{%- for item in recommendedsitesData -%}
|
|
155
165
|
<div class="col-md-4 col-sm-6 col-6">
|
|
156
166
|
<div class="website-showcase">
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
167
|
+
<img loading='lazy' class="website-img" src="{{item.logo}}" alt="{{item.name}} logo" {%- if
|
|
168
|
+
site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a target="_blank"
|
|
169
|
+
href="{{item.url}}">{{item.name}}</a>
|
|
170
|
+
</div>
|
|
161
171
|
</div>
|
|
162
172
|
{%- endfor -%}
|
|
163
173
|
{%- else -%}
|
|
164
174
|
<div class="col-md-4 col-sm-6 col-6">
|
|
165
175
|
<div class="website-showcase">
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
176
|
+
<img loading='lazy' class="website-img"
|
|
177
|
+
src="https://d33wubrfki0l68.cloudfront.net/0623ca017395ac8b757b16b645ff38a89963b01b/a43c6/assets/logo.svg"
|
|
178
|
+
alt="safepdfkitlogo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
179
|
+
target="_blank" href="https://safepdfkit.com">Safepdfkit.com</a>
|
|
180
|
+
</div>
|
|
171
181
|
</div>
|
|
172
182
|
<div class="col-md-4 col-sm-6 col-6">
|
|
173
183
|
<div class="website-showcase">
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
184
|
+
<img class="website-img" loading='lazy'
|
|
185
|
+
src="https://d33wubrfki0l68.cloudfront.net/796c1a01dae9c2d10224fd72a820156974b26ab1/3b885/assets/images/logo.png"
|
|
186
|
+
alt="Safeaudiokit-logo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
187
|
+
target="_blank" href="https://safeaudiokit.com">safeaudiokit.com</a>
|
|
188
|
+
</div>
|
|
179
189
|
</div>
|
|
180
190
|
<div class="col-md-4 col-sm-6 col-6">
|
|
181
191
|
<div class="website-showcase">
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
192
|
+
<img class="website-img" loading="lazy"
|
|
193
|
+
src="https://d33wubrfki0l68.cloudfront.net/ab0207d780c019c54db62b002396bc8c3fddddaf/9abb9/assets/safevideokit.svg"
|
|
194
|
+
alt="Safevideokitlogo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
195
|
+
target="_blank" href="https://safevideokit.com">safevideokit.com</a>
|
|
196
|
+
</div>
|
|
187
197
|
</div>
|
|
188
198
|
<div class="col-md-4 col-sm-6 col-6 ">
|
|
189
199
|
<div class="website-showcase">
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
200
|
+
<img loading='lazy' class="website-img"
|
|
201
|
+
src="https://d33wubrfki0l68.cloudfront.net/2e37a1020563aa528471da7425b8e58343e2baf7/a186c/picture.png"
|
|
202
|
+
alt="Safeimagekitlogo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
203
|
+
target="_blank" href="https://safeimagekit.com/">safeimagekit.com</a>
|
|
204
|
+
</div>
|
|
195
205
|
</div>
|
|
196
206
|
<div class="col-md-4 col-sm-6 col-6">
|
|
197
207
|
<div class="website-showcase">
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
208
|
+
<img loading='lazy' class="website-img"
|
|
209
|
+
src="https://d33wubrfki0l68.cloudfront.net/74bf3f3836d56b30d16137169cd4c28bf15494ed/11962/js/pt.png"
|
|
210
|
+
alt="safezipkitlogo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
211
|
+
target="_blank" href="https://safezipkit.com/">safezipkit.com</a>
|
|
212
|
+
</div>
|
|
203
213
|
</div>
|
|
204
214
|
<div class="col-md-4 col-sm-6 col-6">
|
|
205
215
|
<div class="website-showcase">
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
216
|
+
<img loading='lazy' class="website-img"
|
|
217
|
+
src="https://d33wubrfki0l68.cloudfront.net/325cdfad7de6cae4a03aecfadc70b38af754cbd0/d87f9/assets/images/logo.png"
|
|
218
|
+
alt="Safeimageconverter logo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
219
|
+
target="_blank" href="https://safeaudioconverter.com/">
|
|
220
|
+
safeaudioconverter.com
|
|
211
221
|
|
|
212
|
-
|
|
213
|
-
|
|
222
|
+
</a>
|
|
223
|
+
</div>
|
|
214
224
|
</div>
|
|
215
225
|
<div class="col-md-4 col-sm-6 col-6">
|
|
216
226
|
<div class="website-showcase">
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
227
|
+
<img loading='lazy' class="website-img" src="/assets//images/safevideoconverter.svg"
|
|
228
|
+
alt="safevideoconverter logo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
229
|
+
target="_blank" href="https://safevideoconverter.com/">safevideoconverter.com</a>
|
|
230
|
+
</div>
|
|
221
231
|
</div>
|
|
222
232
|
<div class="col-md-4 col-sm-6 col-6">
|
|
223
233
|
<div class="website-showcase">
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
234
|
+
<img loading='lazy' class="website-img"
|
|
235
|
+
src="https://d33wubrfki0l68.cloudfront.net/c8fef6be5192b9fa57b8503c6ad93befa361926d/a66d0/picture.svg"
|
|
236
|
+
alt="safeimageconverter logo" {%- if site.crossorigin -%} crossorigin="anonymous" {%- endif -%}> <a
|
|
237
|
+
target="_blank" href="https://safeimageconverter.com/">safeimageconverter</a>
|
|
238
|
+
</div>
|
|
229
239
|
</div>
|
|
230
240
|
{%- endif -%}
|
|
231
241
|
|
|
232
242
|
</div>
|
|
233
|
-
|
|
234
|
-
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
</div>
|
|
235
246
|
</div>
|
|
236
|
-
|
|
237
|
-
{%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
|
|
247
|
+
{%- if site.monumetricId and page.url != '/' and page.lang == "en" -%}
|
|
238
248
|
|
|
249
|
+
</div>
|
|
239
250
|
</div>
|
|
240
251
|
</div>
|
|
241
|
-
</div>
|
|
242
252
|
{%- endif -%}
|
|
243
|
-
|
|
244
|
-
</div>
|
|
245
253
|
|
|
246
|
-
|
|
254
|
+
</div>
|
|
255
|
+
|
|
256
|
+
|
|
247
257
|
<div class="download-social-share">
|
|
248
258
|
<div class="container">
|
|
249
|
-
<div class="row">
|
|
250
|
-
<div class="col-md-12 mx-auto">
|
|
251
259
|
<div class="row">
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
260
|
+
<div class="col-md-12 mx-auto">
|
|
261
|
+
<div class="row">
|
|
262
|
+
<div class="col-md-8">
|
|
263
|
+
<p class=" share-heading mb-0 ">
|
|
264
|
+
{%- if downloadData.socialshareheading -%}
|
|
265
|
+
{{downloadData.socialshareheading}}
|
|
266
|
+
{%- else -%}
|
|
267
|
+
we are a free to use platform for safe processing of your files. We need to your support to grow. Help
|
|
268
|
+
us by sharing us on social media. Thanks !
|
|
269
|
+
{%- endif -%}
|
|
270
|
+
</p>
|
|
271
|
+
</div>
|
|
272
|
+
<div class="col-md-4">
|
|
273
|
+
{%- if site.data.blog.share.platforms -%}
|
|
264
274
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
{%
|
|
268
|
-
{%
|
|
269
|
-
{
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
275
|
+
|
|
276
|
+
<div class="share-icons">
|
|
277
|
+
{% assign url = site.url %}
|
|
278
|
+
{% for share in site.data.blog.share.platforms %}
|
|
279
|
+
{% assign link = share.link | replace: 'URL', url %}
|
|
280
|
+
{{page.title}}
|
|
281
|
+
<a id=" {{share.type}}" href="{{ link }}" data-toggle="tooltip"
|
|
282
|
+
onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;"
|
|
283
|
+
data-placement="top" title="{{ share.type }}" aria-label="{{ share.type }}">
|
|
284
|
+
<i class="fa-fw {{ share.icon }} mb-0"></i>
|
|
285
|
+
</a>
|
|
286
|
+
{% endfor %}
|
|
287
|
+
</div>
|
|
288
|
+
</ul>
|
|
289
|
+
|
|
290
|
+
{%- endif -%}
|
|
291
|
+
</div>
|
|
292
|
+
|
|
293
|
+
</div>
|
|
294
|
+
</div>
|
|
295
|
+
</div>
|
|
280
296
|
</div>
|
|
281
|
-
|
|
282
|
-
</div>
|
|
283
|
-
</div>
|
|
284
|
-
</div>
|
|
285
|
-
</div>
|
|
286
|
-
</div>
|
|
297
|
+
</div>
|
|
287
298
|
|
|
288
|
-
{% include appscms/footer/footer.html %}
|
|
299
|
+
{% include appscms/footer/footer.html %}
|
|
289
300
|
{% include appscms/scripts/script.html %}
|
|
290
301
|
|
|
291
302
|
</body>
|