ultimate-jekyll-manager 0.0.144 → 0.0.146
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.
- package/.playwright-mcp/page-2025-12-09T08-57-21-148Z.png +0 -0
- package/.playwright-mcp/page-2025-12-09T09-11-17-887Z.png +0 -0
- package/.playwright-mcp/page-2025-12-09T09-11-41-348Z.png +0 -0
- package/dist/assets/css/pages/extension/installed/index.scss +240 -0
- package/dist/assets/css/pages/status/index.scss +174 -0
- package/dist/assets/css/pages/updates/index.scss +13 -0
- package/dist/assets/css/pages/updates/update.scss +46 -0
- package/dist/assets/js/pages/extension/index.js +160 -0
- package/dist/assets/js/pages/status/index.js +508 -0
- package/dist/assets/js/pages/updates/index.js +30 -0
- package/dist/assets/js/pages/updates/update.js +34 -0
- package/dist/defaults/dist/_includes/core/head.html +9 -0
- package/dist/defaults/dist/_layouts/blueprint/extension/index.html +12 -0
- package/dist/defaults/dist/_layouts/blueprint/extension/installed.html +13 -0
- package/dist/defaults/dist/_layouts/blueprint/status.html +12 -0
- package/dist/defaults/dist/_layouts/blueprint/updates/index.html +12 -0
- package/dist/defaults/dist/_layouts/blueprint/updates/update.html +15 -0
- package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/account/index.html +1 -1
- package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/extension/index.html +434 -0
- package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/extension/installed.html +188 -0
- package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/payment/confirmation.html +1 -1
- package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/status.html +296 -0
- package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/updates/index.html +128 -0
- package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/updates/update.html +122 -0
- package/dist/defaults/dist/_updates/v0.0.0.md +32 -0
- package/dist/defaults/dist/_updates/v0.0.1.md +64 -0
- package/dist/defaults/dist/pages/{extension.md → extension/index.html} +2 -2
- package/dist/defaults/dist/pages/extension/installed.html +7 -0
- package/dist/defaults/dist/pages/status.md +7 -0
- package/dist/defaults/dist/pages/updates/index.md +7 -0
- package/dist/defaults/dist/sitemap.html +8 -0
- package/dist/defaults/dist/sitemap.xml +4 -0
- package/dist/defaults/src/_config.yml +8 -0
- package/dist/gulp/main.js +4 -0
- package/dist/gulp/tasks/serve.js +16 -36
- package/firebase-debug.log +98 -0
- package/package.json +2 -1
- package/dist/defaults/dist/_layouts/blueprint/extension.md +0 -47
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
---
|
|
2
|
+
### ALL PAGES ###
|
|
3
|
+
layout: themes/[ site.theme.id ]/frontend/core/base
|
|
4
|
+
|
|
5
|
+
### PAGE CONFIG ###
|
|
6
|
+
# Hero Section
|
|
7
|
+
hero:
|
|
8
|
+
headline: "{{ site.brand.name }}"
|
|
9
|
+
headline_accent: "browser extension"
|
|
10
|
+
description: "Unlock the full potential of {{ site.brand.name }} right in your browser"
|
|
11
|
+
|
|
12
|
+
# Downloads Section
|
|
13
|
+
downloads:
|
|
14
|
+
superheadline:
|
|
15
|
+
icon: "puzzle-piece"
|
|
16
|
+
text: "Install"
|
|
17
|
+
headline: "Available on every"
|
|
18
|
+
headline_accent: "browser"
|
|
19
|
+
subheadline: "Choose your browser below to get started"
|
|
20
|
+
loading:
|
|
21
|
+
headline: "Detecting Browser"
|
|
22
|
+
description: "Determining your browser..."
|
|
23
|
+
button_text: "Please Wait"
|
|
24
|
+
not_available:
|
|
25
|
+
headline: "Not Available Yet"
|
|
26
|
+
description: "The {{ site.brand.name }} extension is not currently available for this browser."
|
|
27
|
+
browsers:
|
|
28
|
+
- id: "chrome"
|
|
29
|
+
name: "Chrome"
|
|
30
|
+
icon: "chrome"
|
|
31
|
+
description: "Chrome 88+"
|
|
32
|
+
- id: "firefox"
|
|
33
|
+
name: "Firefox"
|
|
34
|
+
icon: "firefox-browser"
|
|
35
|
+
description: "Firefox 78+"
|
|
36
|
+
- id: "edge"
|
|
37
|
+
name: "Edge"
|
|
38
|
+
icon: "edge"
|
|
39
|
+
description: "Edge 88+"
|
|
40
|
+
- id: "opera"
|
|
41
|
+
name: "Opera"
|
|
42
|
+
icon: "opera"
|
|
43
|
+
description: "Opera 74+"
|
|
44
|
+
- id: "safari"
|
|
45
|
+
name: "Safari"
|
|
46
|
+
icon: "safari"
|
|
47
|
+
description: "Safari 14+"
|
|
48
|
+
|
|
49
|
+
# Features Section
|
|
50
|
+
features:
|
|
51
|
+
superheadline:
|
|
52
|
+
icon: "star"
|
|
53
|
+
text: "Benefits"
|
|
54
|
+
headline: "Why you should"
|
|
55
|
+
headline_accent: "install"
|
|
56
|
+
subheadline: "Everything you need, right in your browser"
|
|
57
|
+
items:
|
|
58
|
+
- title: "Quick Access"
|
|
59
|
+
description: "Access {{ site.brand.name }} features with just one click"
|
|
60
|
+
icon: "bolt"
|
|
61
|
+
- title: "Seamless Integration"
|
|
62
|
+
description: "Works naturally with your browsing workflow"
|
|
63
|
+
icon: "link"
|
|
64
|
+
- title: "Real-Time Updates"
|
|
65
|
+
description: "Get instant notifications and alerts"
|
|
66
|
+
icon: "bell"
|
|
67
|
+
- title: "Secure & Private"
|
|
68
|
+
description: "Your data stays safe with enterprise-grade encryption"
|
|
69
|
+
icon: "shield-check"
|
|
70
|
+
|
|
71
|
+
# FAQ Section
|
|
72
|
+
faqs:
|
|
73
|
+
superheadline:
|
|
74
|
+
icon: "messages-question"
|
|
75
|
+
text: "FAQs"
|
|
76
|
+
headline: "Frequently asked"
|
|
77
|
+
headline_accent: "questions"
|
|
78
|
+
subheadline: "Everything you need to know about the {{ site.brand.name }} browser extension."
|
|
79
|
+
items:
|
|
80
|
+
- question: "Is the extension free?"
|
|
81
|
+
answer: "Yes! The {{ site.brand.name }} browser extension is completely free to download and use."
|
|
82
|
+
- question: "Which browsers are supported?"
|
|
83
|
+
answer: "The extension is available for Chrome, Firefox, Edge, Opera, and Safari."
|
|
84
|
+
- question: "How do I pin the extension?"
|
|
85
|
+
answer: "After installing, click the puzzle piece icon in your browser toolbar, then click the pin icon next to {{ site.brand.name }}."
|
|
86
|
+
- question: "Is my data secure?"
|
|
87
|
+
answer: "Absolutely. We use enterprise-grade encryption to protect your data. The extension only accesses what it needs to function."
|
|
88
|
+
|
|
89
|
+
# CTA Section
|
|
90
|
+
cta:
|
|
91
|
+
superheadline:
|
|
92
|
+
icon: "comments"
|
|
93
|
+
text: "Support"
|
|
94
|
+
headline: "Need help with"
|
|
95
|
+
headline_accent: "installation?"
|
|
96
|
+
subheadline: "Our support team is here 24/7 to help you get set up"
|
|
97
|
+
primary_button:
|
|
98
|
+
text: "Contact Support"
|
|
99
|
+
icon: "headset"
|
|
100
|
+
href: "/contact"
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
<!-- Hero Section -->
|
|
104
|
+
<section>
|
|
105
|
+
<div class="container">
|
|
106
|
+
<div class="row justify-content-center text-center">
|
|
107
|
+
<div class="col-lg-10" data-lazy="@class animation-slide-up">
|
|
108
|
+
<h1 class="h1 mb-3">
|
|
109
|
+
{{ page.resolved.hero.headline }}
|
|
110
|
+
<span class="text-gradient-rainbow">{{ page.resolved.hero.headline_accent }}</span>
|
|
111
|
+
</h1>
|
|
112
|
+
<p class="fs-5 text-muted mb-0">
|
|
113
|
+
{{ page.resolved.hero.description }}
|
|
114
|
+
</p>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
</section>
|
|
119
|
+
|
|
120
|
+
<!-- Downloads Section -->
|
|
121
|
+
<section class="pt-0">
|
|
122
|
+
<div class="container">
|
|
123
|
+
<div class="text-center mb-5" data-lazy="@class animation-slide-up">
|
|
124
|
+
{% iftruthy page.resolved.downloads.superheadline.text %}
|
|
125
|
+
<span class="badge bg-body-tertiary border-gradient-rainbow border-1 text-body p-2 mb-1 fw-semibold small">
|
|
126
|
+
{% iftruthy page.resolved.downloads.superheadline.icon %}
|
|
127
|
+
{% uj_icon page.resolved.downloads.superheadline.icon, "me-1" %}
|
|
128
|
+
{% endiftruthy %}
|
|
129
|
+
{{ page.resolved.downloads.superheadline.text }}
|
|
130
|
+
</span>
|
|
131
|
+
{% endiftruthy %}
|
|
132
|
+
<h2 class="h2 mb-2">
|
|
133
|
+
{{ page.resolved.downloads.headline }}
|
|
134
|
+
{% iftruthy page.resolved.downloads.headline_accent %}
|
|
135
|
+
<span class="text-accent">{{ page.resolved.downloads.headline_accent }}</span>
|
|
136
|
+
{% endiftruthy %}
|
|
137
|
+
</h2>
|
|
138
|
+
{% iftruthy page.resolved.downloads.subheadline %}
|
|
139
|
+
<p class="fs-5 text-muted">{{ page.resolved.downloads.subheadline }}</p>
|
|
140
|
+
{% endiftruthy %}
|
|
141
|
+
</div>
|
|
142
|
+
|
|
143
|
+
<!-- Browser Selector -->
|
|
144
|
+
<div class="row justify-content-center mb-5">
|
|
145
|
+
<div class="col-12">
|
|
146
|
+
<div class="d-flex flex-wrap justify-content-center gap-3" data-lazy="@class animation-slide-up">
|
|
147
|
+
<ul class="nav nav-pills gap-3 border-0 justify-content-center w-100" id="browser-selector" role="tablist">
|
|
148
|
+
<!-- Loading tab (shown by default until browser is detected) -->
|
|
149
|
+
<li class="nav-item d-none" role="presentation" data-browser="loading">
|
|
150
|
+
<button
|
|
151
|
+
class="btn btn-outline-adaptive btn-lg active d-flex align-items-center justify-content-center"
|
|
152
|
+
id="loading-tab"
|
|
153
|
+
data-bs-toggle="tab"
|
|
154
|
+
data-bs-target="#loading-pane"
|
|
155
|
+
type="button"
|
|
156
|
+
role="tab"
|
|
157
|
+
aria-controls="loading-pane"
|
|
158
|
+
aria-selected="true"
|
|
159
|
+
>
|
|
160
|
+
<div class="spinner-border spinner-border-sm me-2" role="status">
|
|
161
|
+
<span class="visually-hidden">Loading...</span>
|
|
162
|
+
</div>
|
|
163
|
+
Detecting...
|
|
164
|
+
</button>
|
|
165
|
+
</li>
|
|
166
|
+
|
|
167
|
+
{% for browser in page.resolved.downloads.browsers %}
|
|
168
|
+
{% assign has_download = false %}
|
|
169
|
+
{% assign config_url = site.extension[browser.id] %}
|
|
170
|
+
{% iftruthy config_url %}
|
|
171
|
+
{% assign has_download = true %}
|
|
172
|
+
{% endiftruthy %}
|
|
173
|
+
|
|
174
|
+
<li class="nav-item flex-fill flex-sm-grow-0" role="presentation">
|
|
175
|
+
<button
|
|
176
|
+
class="btn btn-outline-adaptive btn-lg browser-btn d-flex align-items-center justify-content-center w-100"
|
|
177
|
+
id="{{ browser.id }}-tab"
|
|
178
|
+
data-bs-toggle="tab"
|
|
179
|
+
data-bs-target="#{{ browser.id }}-pane"
|
|
180
|
+
data-browser="{{ browser.id }}"
|
|
181
|
+
data-has-download="{% if has_download %}true{% else %}false{% endif %}"
|
|
182
|
+
type="button"
|
|
183
|
+
role="tab"
|
|
184
|
+
aria-controls="{{ browser.id }}-pane"
|
|
185
|
+
aria-selected="false"
|
|
186
|
+
>
|
|
187
|
+
{% uj_icon browser.icon, "fa-3xl me-2" %}
|
|
188
|
+
{{ browser.name }}
|
|
189
|
+
</button>
|
|
190
|
+
</li>
|
|
191
|
+
{% endfor %}
|
|
192
|
+
</ul>
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
</div>
|
|
196
|
+
|
|
197
|
+
<!-- Download Cards -->
|
|
198
|
+
<div class="row justify-content-center">
|
|
199
|
+
<div class="col-lg-10">
|
|
200
|
+
<div class="tab-content">
|
|
201
|
+
<!-- Loading Browser Card -->
|
|
202
|
+
<div
|
|
203
|
+
class="tab-pane fade show active"
|
|
204
|
+
id="loading-pane"
|
|
205
|
+
role="tabpanel"
|
|
206
|
+
aria-labelledby="loading-tab"
|
|
207
|
+
tabindex="0"
|
|
208
|
+
>
|
|
209
|
+
<div class="card border-0 shadow-lg">
|
|
210
|
+
<div class="card-body p-5 text-center">
|
|
211
|
+
<div class="mb-4">
|
|
212
|
+
<div class="avatar avatar-2xl rounded-circle bg-primary d-inline-flex align-items-center justify-content-center">
|
|
213
|
+
<div class="spinner-border text-light" role="status">
|
|
214
|
+
<span class="visually-hidden">Loading...</span>
|
|
215
|
+
</div>
|
|
216
|
+
</div>
|
|
217
|
+
</div>
|
|
218
|
+
<h2 class="h2 mb-1">{{ page.resolved.downloads.loading.headline }}</h2>
|
|
219
|
+
<p class="text-muted fs-5 mb-4">{{ page.resolved.downloads.loading.description }}</p>
|
|
220
|
+
|
|
221
|
+
<div class="d-flex flex-column gap-3">
|
|
222
|
+
<button type="button" class="btn btn-primary btn-lg d-flex align-items-center justify-content-center" disabled>
|
|
223
|
+
{% uj_icon "puzzle-piece", "fa-3xl me-2" %}
|
|
224
|
+
{{ page.resolved.downloads.loading.button_text }}
|
|
225
|
+
</button>
|
|
226
|
+
</div>
|
|
227
|
+
</div>
|
|
228
|
+
</div>
|
|
229
|
+
</div>
|
|
230
|
+
|
|
231
|
+
{% for browser in page.resolved.downloads.browsers %}
|
|
232
|
+
{% assign has_download = false %}
|
|
233
|
+
{% assign config_url = site.extension[browser.id] %}
|
|
234
|
+
{% iftruthy config_url %}
|
|
235
|
+
{% assign has_download = true %}
|
|
236
|
+
{% endiftruthy %}
|
|
237
|
+
|
|
238
|
+
<div
|
|
239
|
+
class="tab-pane fade"
|
|
240
|
+
id="{{ browser.id }}-pane"
|
|
241
|
+
role="tabpanel"
|
|
242
|
+
aria-labelledby="{{ browser.id }}-tab"
|
|
243
|
+
tabindex="0"
|
|
244
|
+
data-browser="{{ browser.id }}"
|
|
245
|
+
data-has-download="{% if has_download %}true{% else %}false{% endif %}"
|
|
246
|
+
>
|
|
247
|
+
<div class="card border-0 shadow-lg">
|
|
248
|
+
<div class="card-body p-5 text-center">
|
|
249
|
+
<div class="mb-4">
|
|
250
|
+
<div class="avatar avatar-2xl rounded-circle bg-primary d-inline-flex align-items-center justify-content-center">
|
|
251
|
+
{% uj_icon browser.icon, "display-4 text-light" %}
|
|
252
|
+
</div>
|
|
253
|
+
</div>
|
|
254
|
+
<h2 class="h2 mb-1">{{ browser.name }}</h2>
|
|
255
|
+
<p class="text-muted fs-5 mb-4">{{ browser.description }}</p>
|
|
256
|
+
|
|
257
|
+
{% unless has_download %}
|
|
258
|
+
<div class="alert alert-warning d-flex align-items-center mb-4" role="alert">
|
|
259
|
+
{% uj_icon "triangle-exclamation", "fs-4 me-3" %}
|
|
260
|
+
<div class="text-start">
|
|
261
|
+
<h6 class="mb-0">{{ page.resolved.downloads.not_available.headline }}</h6>
|
|
262
|
+
<small>{{ page.resolved.downloads.not_available.description }}</small>
|
|
263
|
+
</div>
|
|
264
|
+
</div>
|
|
265
|
+
{% endunless %}
|
|
266
|
+
|
|
267
|
+
{% if has_download %}
|
|
268
|
+
<div class="d-flex flex-column gap-3">
|
|
269
|
+
<a
|
|
270
|
+
href="{{ config_url }}"
|
|
271
|
+
class="btn btn-primary btn-lg d-flex align-items-center justify-content-center"
|
|
272
|
+
target="_blank"
|
|
273
|
+
rel="noopener noreferrer"
|
|
274
|
+
>
|
|
275
|
+
{% uj_icon "puzzle-piece", "fa-3xl me-2" %}
|
|
276
|
+
Add to {{ browser.name }}
|
|
277
|
+
</a>
|
|
278
|
+
</div>
|
|
279
|
+
{% else %}
|
|
280
|
+
<div class="d-flex flex-column gap-3">
|
|
281
|
+
<button
|
|
282
|
+
type="button"
|
|
283
|
+
class="btn btn-primary btn-lg d-flex align-items-center justify-content-center"
|
|
284
|
+
disabled
|
|
285
|
+
>
|
|
286
|
+
{% uj_icon "puzzle-piece", "fa-3xl me-2" %}
|
|
287
|
+
Coming Soon
|
|
288
|
+
</button>
|
|
289
|
+
</div>
|
|
290
|
+
{% endif %}
|
|
291
|
+
</div>
|
|
292
|
+
</div>
|
|
293
|
+
</div>
|
|
294
|
+
{% endfor %}
|
|
295
|
+
</div>
|
|
296
|
+
</div>
|
|
297
|
+
</div>
|
|
298
|
+
</div>
|
|
299
|
+
</section>
|
|
300
|
+
|
|
301
|
+
<!-- Features Section -->
|
|
302
|
+
<section>
|
|
303
|
+
<div class="container">
|
|
304
|
+
<div class="text-center mb-5" data-lazy="@class animation-slide-up">
|
|
305
|
+
{% iftruthy page.resolved.features.superheadline.text %}
|
|
306
|
+
<span class="badge bg-body-tertiary border-gradient-rainbow border-1 text-body p-2 mb-1 fw-semibold small">
|
|
307
|
+
{% iftruthy page.resolved.features.superheadline.icon %}
|
|
308
|
+
{% uj_icon page.resolved.features.superheadline.icon, "me-1" %}
|
|
309
|
+
{% endiftruthy %}
|
|
310
|
+
{{ page.resolved.features.superheadline.text }}
|
|
311
|
+
</span>
|
|
312
|
+
{% endiftruthy %}
|
|
313
|
+
<h2 class="h2 mb-2">
|
|
314
|
+
{{ page.resolved.features.headline }}
|
|
315
|
+
{% iftruthy page.resolved.features.headline_accent %}
|
|
316
|
+
<span class="text-accent">{{ page.resolved.features.headline_accent }}</span>
|
|
317
|
+
{% endiftruthy %}
|
|
318
|
+
</h2>
|
|
319
|
+
{% iftruthy page.resolved.features.subheadline %}
|
|
320
|
+
<p class="fs-5 text-muted">{{ page.resolved.features.subheadline }}</p>
|
|
321
|
+
{% endiftruthy %}
|
|
322
|
+
</div>
|
|
323
|
+
|
|
324
|
+
<div class="row g-4 justify-content-center">
|
|
325
|
+
{% for feature in page.resolved.features.items %}
|
|
326
|
+
<div class="col-lg-3 col-md-6" data-lazy="@class animation-slide-up">
|
|
327
|
+
<div class="card h-100 border-0 shadow-sm text-center">
|
|
328
|
+
<div class="card-body p-4">
|
|
329
|
+
<div class="bg-primary avatar avatar-xl rounded-circle d-inline-flex align-items-center justify-content-center mb-3">
|
|
330
|
+
{% uj_icon feature.icon, "text-light fs-2" %}
|
|
331
|
+
</div>
|
|
332
|
+
<h4 class="mb-3">{{ feature.title }}</h4>
|
|
333
|
+
<p class="text-muted mb-0">{{ feature.description }}</p>
|
|
334
|
+
</div>
|
|
335
|
+
</div>
|
|
336
|
+
</div>
|
|
337
|
+
{% endfor %}
|
|
338
|
+
</div>
|
|
339
|
+
</div>
|
|
340
|
+
</section>
|
|
341
|
+
|
|
342
|
+
<!-- FAQ Section -->
|
|
343
|
+
<section>
|
|
344
|
+
<div class="container">
|
|
345
|
+
<div class="row justify-content-center">
|
|
346
|
+
<div class="col-lg-8">
|
|
347
|
+
<div class="text-center mb-5" data-lazy="@class animation-slide-up">
|
|
348
|
+
{% iftruthy page.resolved.faqs.superheadline.text %}
|
|
349
|
+
<span class="badge bg-body-tertiary border-gradient-rainbow border-1 text-body p-2 mb-1 fw-semibold small">
|
|
350
|
+
{% iftruthy page.resolved.faqs.superheadline.icon %}
|
|
351
|
+
{% uj_icon page.resolved.faqs.superheadline.icon, "me-1" %}
|
|
352
|
+
{% endiftruthy %}
|
|
353
|
+
{{ page.resolved.faqs.superheadline.text }}
|
|
354
|
+
</span>
|
|
355
|
+
{% endiftruthy %}
|
|
356
|
+
<h2 class="h2 mb-2">
|
|
357
|
+
{{ page.resolved.faqs.headline }}
|
|
358
|
+
{% iftruthy page.resolved.faqs.headline_accent %}
|
|
359
|
+
<span class="text-accent">{{ page.resolved.faqs.headline_accent }}</span>
|
|
360
|
+
{% endiftruthy %}
|
|
361
|
+
</h2>
|
|
362
|
+
{% iftruthy page.resolved.faqs.subheadline %}
|
|
363
|
+
<p class="fs-5 text-muted">{{ page.resolved.faqs.subheadline }}</p>
|
|
364
|
+
{% endiftruthy %}
|
|
365
|
+
</div>
|
|
366
|
+
|
|
367
|
+
<div class="accordion" id="extensionFaqAccordion" data-lazy="@class animation-slide-up">
|
|
368
|
+
{% for faq in page.resolved.faqs.items %}
|
|
369
|
+
<div class="accordion-item border-0 mb-3">
|
|
370
|
+
<h2 class="accordion-header">
|
|
371
|
+
<button class="accordion-button collapsed py-4 shadow-sm" type="button" data-bs-toggle="collapse" data-bs-target="#faq{{ forloop.index }}" aria-expanded="false" aria-controls="faq{{ forloop.index }}">
|
|
372
|
+
<span class="fw-semibold">{{ faq.question }}</span>
|
|
373
|
+
</button>
|
|
374
|
+
</h2>
|
|
375
|
+
<div id="faq{{ forloop.index }}" class="accordion-collapse collapse" data-bs-parent="#extensionFaqAccordion">
|
|
376
|
+
<div class="accordion-body text-muted shadow-sm">
|
|
377
|
+
{{ faq.answer }}
|
|
378
|
+
</div>
|
|
379
|
+
</div>
|
|
380
|
+
</div>
|
|
381
|
+
{% endfor %}
|
|
382
|
+
</div>
|
|
383
|
+
</div>
|
|
384
|
+
</div>
|
|
385
|
+
</div>
|
|
386
|
+
</section>
|
|
387
|
+
|
|
388
|
+
<!-- CTA Section -->
|
|
389
|
+
<section>
|
|
390
|
+
<div class="container">
|
|
391
|
+
<div class="card border-0 bg-gradient bg-primary text-white rounded-4 p-4 p-md-5 text-center position-relative overflow-hidden" data-lazy="@class animation-slide-up">
|
|
392
|
+
<!-- Decorative icon - top right -->
|
|
393
|
+
<div class="position-absolute top-0 end-0 opacity-25" style="font-size:10rem;transform:rotate(15deg)translate(30%,-30%)">
|
|
394
|
+
{% uj_icon "puzzle-piece", "text-white" %}
|
|
395
|
+
</div>
|
|
396
|
+
|
|
397
|
+
<!-- Decorative icon - bottom left -->
|
|
398
|
+
<div class="position-absolute bottom-0 start-0 opacity-25" style="font-size:8rem;transform:rotate(-20deg)translate(-30%,30%)">
|
|
399
|
+
{% uj_icon "shield-check", "text-white" %}
|
|
400
|
+
</div>
|
|
401
|
+
|
|
402
|
+
<div class="position-relative">
|
|
403
|
+
{% iftruthy page.resolved.cta.superheadline.text %}
|
|
404
|
+
<span class="badge bg-white bg-opacity-25 text-light p-2 mb-3 fw-semibold small">
|
|
405
|
+
{% iftruthy page.resolved.cta.superheadline.icon %}
|
|
406
|
+
{% uj_icon page.resolved.cta.superheadline.icon, "me-1" %}
|
|
407
|
+
{% endiftruthy %}
|
|
408
|
+
{{ page.resolved.cta.superheadline.text }}
|
|
409
|
+
</span>
|
|
410
|
+
{% endiftruthy %}
|
|
411
|
+
|
|
412
|
+
<h2 class="h3 fw-bold mb-3">
|
|
413
|
+
{{ page.resolved.cta.headline }}
|
|
414
|
+
{% iftruthy page.resolved.cta.headline_accent %}
|
|
415
|
+
<span class="text-accent">{{ page.resolved.cta.headline_accent }}</span>
|
|
416
|
+
{% endiftruthy %}
|
|
417
|
+
</h2>
|
|
418
|
+
|
|
419
|
+
{% iftruthy page.resolved.cta.subheadline %}
|
|
420
|
+
<p class="lead mb-4">{{ page.resolved.cta.subheadline }}</p>
|
|
421
|
+
{% endiftruthy %}
|
|
422
|
+
|
|
423
|
+
<div class="d-flex flex-column flex-sm-row gap-3 justify-content-center">
|
|
424
|
+
<a href="{{ page.resolved.cta.primary_button.href }}" class="btn btn-light btn-lg px-4">
|
|
425
|
+
{% uj_icon page.resolved.cta.primary_button.icon, "me-2" %}
|
|
426
|
+
{{ page.resolved.cta.primary_button.text }}
|
|
427
|
+
</a>
|
|
428
|
+
</div>
|
|
429
|
+
</div>
|
|
430
|
+
</div>
|
|
431
|
+
</div>
|
|
432
|
+
</section>
|
|
433
|
+
|
|
434
|
+
{{ content | uj_content_format }}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
---
|
|
2
|
+
### ALL PAGES ###
|
|
3
|
+
layout: themes/[ site.theme.id ]/frontend/core/cover
|
|
4
|
+
|
|
5
|
+
### PAGE CONFIG ###
|
|
6
|
+
# Hero Section
|
|
7
|
+
hero:
|
|
8
|
+
headline: "Extension installed,"
|
|
9
|
+
headline_accent: "now let's pin it!"
|
|
10
|
+
description: "One more step to get the most out of {{ site.brand.name }}"
|
|
11
|
+
|
|
12
|
+
# Steps
|
|
13
|
+
steps:
|
|
14
|
+
- number: 1
|
|
15
|
+
title: "Click the puzzle piece"
|
|
16
|
+
description: "Find the Extensions icon in your browser toolbar"
|
|
17
|
+
- number: 2
|
|
18
|
+
title: "Pin {{ site.brand.name }}"
|
|
19
|
+
description: "Click the pin icon to keep it visible"
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
<!-- Arrow pointing to top-right -->
|
|
23
|
+
<div class="extension-arrow-container position-fixed d-flex flex-column align-items-end z-3">
|
|
24
|
+
<span class="extension-arrow-label badge bg-primary fs-6 px-3 py-2 shadow text-nowrap">
|
|
25
|
+
{% uj_icon "hand-pointer", "me-2" %}
|
|
26
|
+
Click here first!
|
|
27
|
+
</span>
|
|
28
|
+
<div class="extension-arrow text-primary mt-2 me-2">
|
|
29
|
+
<svg width="60" height="80" viewBox="0 0 60 80" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
30
|
+
<!-- Curved arrow pointing up-right -->
|
|
31
|
+
<path d="M30 75 Q35 40 50 15" stroke="currentColor" stroke-width="3" stroke-linecap="round" fill="none"/>
|
|
32
|
+
<!-- Arrowhead -->
|
|
33
|
+
<path d="M42 5 L50 15 L38 18" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
|
|
34
|
+
</svg>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
<!-- Main content -->
|
|
39
|
+
<section class="col-12 col-md-10 col-lg-8 col-xl-7">
|
|
40
|
+
<div class="card border-0 shadow-lg">
|
|
41
|
+
<div class="card-body p-4 p-md-5">
|
|
42
|
+
<!-- Success Icon -->
|
|
43
|
+
<div class="text-center mb-4" data-lazy="@class animation-slide-up">
|
|
44
|
+
<div class="extension-success-icon bg-success avatar avatar-xl rounded-circle d-inline-flex align-items-center justify-content-center">
|
|
45
|
+
{% uj_icon "check", "fs-2 text-light" %}
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
|
|
49
|
+
<!-- Headline -->
|
|
50
|
+
<div class="text-center mb-5" data-lazy="@class animation-slide-up">
|
|
51
|
+
<h1 class="h2 fw-bold mb-3">
|
|
52
|
+
{{ page.resolved.hero.headline }}
|
|
53
|
+
<span class="text-gradient-rainbow">{{ page.resolved.hero.headline_accent }}</span>
|
|
54
|
+
</h1>
|
|
55
|
+
<p class="fs-5 text-muted mb-0">{{ page.resolved.hero.description }}</p>
|
|
56
|
+
</div>
|
|
57
|
+
|
|
58
|
+
<!-- Step 1: Click puzzle piece -->
|
|
59
|
+
<div class="extension-step mb-3" data-step="1">
|
|
60
|
+
<div class="d-flex align-items-start gap-4">
|
|
61
|
+
<div class="flex-shrink-0">
|
|
62
|
+
<span class="avatar avatar-sm bg-primary text-white rounded-circle d-flex align-items-center justify-content-center fs-5">1</span>
|
|
63
|
+
</div>
|
|
64
|
+
<div class="flex-grow-1 text-start">
|
|
65
|
+
<h4 class="mb-2">{{ page.resolved.steps[0].title }}</h4>
|
|
66
|
+
<p class="text-muted mb-3">{{ page.resolved.steps[0].description }}</p>
|
|
67
|
+
|
|
68
|
+
<!-- Visual: Browser toolbar with puzzle piece -->
|
|
69
|
+
<div class="extension-visual bg-body-tertiary rounded-4 p-4">
|
|
70
|
+
<div class="extension-toolbar d-flex align-items-center justify-content-end gap-2 bg-body rounded-3 p-2 border">
|
|
71
|
+
<!-- Mock URL bar -->
|
|
72
|
+
<div class="extension-url-bar flex-grow-1 bg-body-secondary rounded px-3 py-1 small text-muted me-2 text-truncate">
|
|
73
|
+
{{ site.url }}
|
|
74
|
+
</div>
|
|
75
|
+
<!-- Extension icons -->
|
|
76
|
+
<button type="button" class="btn btn-sm btn-secondary opacity-50" disabled>
|
|
77
|
+
{% uj_icon "shield", "fa-sm" %}
|
|
78
|
+
</button>
|
|
79
|
+
<button type="button" class="btn btn-sm btn-secondary opacity-50" disabled>
|
|
80
|
+
{% uj_icon "bookmark", "fa-sm" %}
|
|
81
|
+
</button>
|
|
82
|
+
<!-- Puzzle piece - highlighted -->
|
|
83
|
+
<div class="extension-puzzle-target position-relative">
|
|
84
|
+
<button type="button" class="btn btn-sm btn-primary">
|
|
85
|
+
{% uj_icon "puzzle-piece", "fa-sm" %}
|
|
86
|
+
</button>
|
|
87
|
+
<div class="click-indicator position-absolute top-50 start-50">
|
|
88
|
+
<div class="click-pulse position-absolute border border-3 border-primary rounded-circle"></div>
|
|
89
|
+
<div class="pointer-icon">
|
|
90
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48" height="48">
|
|
91
|
+
<path fill="#E0E0E0" d="M27.8,39.7c-0.1,0-0.2,0-0.4-0.1c-0.2-0.1-0.4-0.3-0.6-0.5l-3.7-8.6l-4.5,4.2C18.5,34.9,18.3,35,18,35c-0.1,0-0.3,0-0.4-0.1C17.3,34.8,17,34.4,17,34l0-22c0-0.4,0.2-0.8,0.6-0.9C17.7,11,17.9,11,18,11c0.2,0,0.5,0.1,0.7,0.3l16,15c0.3,0.3,0.4,0.7,0.3,1.1c-0.1,0.4-0.5,0.6-0.9,0.7l-6.3,0.6l3.9,8.5c0.1,0.2,0.1,0.5,0,0.8c-0.1,0.2-0.3,0.5-0.5,0.6l-2.9,1.3C28.1,39.7,27.9,39.7,27.8,39.7z"/>
|
|
92
|
+
<path fill="#212121" d="M18,12l16,15l-7.7,0.7l4.5,9.8l-2.9,1.3l-4.3-9.9L18,34L18,12 M18,10c-0.3,0-0.5,0.1-0.8,0.2c-0.7,0.3-1.2,1-1.2,1.8l0,22c0,0.8,0.5,1.5,1.2,1.8C17.5,36,17.8,36,18,36c0.5,0,1-0.2,1.4-0.5l3.4-3.2l3.1,7.3c0.2,0.5,0.6,0.9,1.1,1.1c0.2,0.1,0.5,0.1,0.7,0.1c0.3,0,0.5-0.1,0.8-0.2l2.9-1.3c0.5-0.2,0.9-0.6,1.1-1.1c0.2-0.5,0.2-1.1,0-1.5l-3.3-7.2l4.9-0.4c0.8-0.1,1.5-0.6,1.7-1.3c0.3-0.7,0.1-1.6-0.5-2.1l-16-15C19,10.2,18.5,10,18,10L18,10z"/>
|
|
93
|
+
</svg>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
<!-- Divider -->
|
|
104
|
+
<div class="extension-step-divider d-flex justify-content-center mb-3">
|
|
105
|
+
{% uj_icon "arrow-down", "fs-3 text-muted" %}
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
<!-- Step 2: Pin the extension -->
|
|
109
|
+
<div class="extension-step" data-step="2">
|
|
110
|
+
<div class="d-flex align-items-start gap-4">
|
|
111
|
+
<div class="flex-shrink-0">
|
|
112
|
+
<span class="avatar avatar-sm bg-primary text-white rounded-circle d-flex align-items-center justify-content-center fs-5">2</span>
|
|
113
|
+
</div>
|
|
114
|
+
<div class="flex-grow-1 text-start">
|
|
115
|
+
<h4 class="mb-2">{{ page.resolved.steps[1].title }}</h4>
|
|
116
|
+
<p class="text-muted mb-3">{{ page.resolved.steps[1].description }}</p>
|
|
117
|
+
|
|
118
|
+
<!-- Visual: Extension dropdown with pin -->
|
|
119
|
+
<div class="extension-visual bg-body-tertiary rounded-4 p-4">
|
|
120
|
+
<div class="extension-dropdown bg-body rounded-3 border shadow-sm overflow-hidden mx-auto">
|
|
121
|
+
<!-- Dropdown header -->
|
|
122
|
+
<div class="extension-dropdown-header d-flex align-items-center justify-content-between p-2 border-bottom bg-body-secondary">
|
|
123
|
+
<span class="small fw-bold">Extensions</span>
|
|
124
|
+
<button type="button" class="btn btn-sm p-0 opacity-50" disabled>
|
|
125
|
+
{% uj_icon "gear", "fa-sm" %}
|
|
126
|
+
</button>
|
|
127
|
+
</div>
|
|
128
|
+
<!-- Extension list -->
|
|
129
|
+
<div class="extension-dropdown-list p-2">
|
|
130
|
+
<!-- Other extension (dimmed) -->
|
|
131
|
+
<div class="extension-dropdown-item d-flex align-items-center gap-3 p-2 rounded opacity-50">
|
|
132
|
+
<div class="extension-item-icon bg-body-secondary rounded p-1 d-flex align-items-center justify-content-center">
|
|
133
|
+
{% uj_icon "shield", "fa-xs" %}
|
|
134
|
+
</div>
|
|
135
|
+
<span class="small flex-grow-1">AdBlocker</span>
|
|
136
|
+
<button type="button" class="btn btn-sm p-1" disabled>
|
|
137
|
+
{% uj_icon "thumbtack", "fa-xs text-muted" %}
|
|
138
|
+
</button>
|
|
139
|
+
</div>
|
|
140
|
+
<!-- Our extension (highlighted) -->
|
|
141
|
+
<div class="extension-dropdown-item d-flex align-items-center gap-3 p-2 rounded bg-primary bg-opacity-10 border border-primary">
|
|
142
|
+
<div class="extension-item-icon rounded p-1 d-flex align-items-center justify-content-center">
|
|
143
|
+
<img src="{{ site.uj.placeholder.src }}" data-lazy="@src {{ site.brand.images.brandmark }}" class="extension-brandmark" alt="{{ site.brand.name }}"/>
|
|
144
|
+
</div>
|
|
145
|
+
<span class="small flex-grow-1 fw-bold">{{ site.brand.name }}</span>
|
|
146
|
+
<!-- Pin button - highlighted with click animation -->
|
|
147
|
+
<div class="extension-pin-target position-relative">
|
|
148
|
+
<button type="button" class="btn btn-sm btn-primary p-1">
|
|
149
|
+
{% uj_icon "thumbtack", "fa-xs" %}
|
|
150
|
+
</button>
|
|
151
|
+
<div class="click-indicator position-absolute top-50 start-50">
|
|
152
|
+
<div class="click-pulse position-absolute border border-3 border-primary rounded-circle"></div>
|
|
153
|
+
<div class="pointer-icon">
|
|
154
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48" height="48">
|
|
155
|
+
<path fill="#E0E0E0" d="M27.8,39.7c-0.1,0-0.2,0-0.4-0.1c-0.2-0.1-0.4-0.3-0.6-0.5l-3.7-8.6l-4.5,4.2C18.5,34.9,18.3,35,18,35c-0.1,0-0.3,0-0.4-0.1C17.3,34.8,17,34.4,17,34l0-22c0-0.4,0.2-0.8,0.6-0.9C17.7,11,17.9,11,18,11c0.2,0,0.5,0.1,0.7,0.3l16,15c0.3,0.3,0.4,0.7,0.3,1.1c-0.1,0.4-0.5,0.6-0.9,0.7l-6.3,0.6l3.9,8.5c0.1,0.2,0.1,0.5,0,0.8c-0.1,0.2-0.3,0.5-0.5,0.6l-2.9,1.3C28.1,39.7,27.9,39.7,27.8,39.7z"/>
|
|
156
|
+
<path fill="#212121" d="M18,12l16,15l-7.7,0.7l4.5,9.8l-2.9,1.3l-4.3-9.9L18,34L18,12 M18,10c-0.3,0-0.5,0.1-0.8,0.2c-0.7,0.3-1.2,1-1.2,1.8l0,22c0,0.8,0.5,1.5,1.2,1.8C17.5,36,17.8,36,18,36c0.5,0,1-0.2,1.4-0.5l3.4-3.2l3.1,7.3c0.2,0.5,0.6,0.9,1.1,1.1c0.2,0.1,0.5,0.1,0.7,0.1c0.3,0,0.5-0.1,0.8-0.2l2.9-1.3c0.5-0.2,0.9-0.6,1.1-1.1c0.2-0.5,0.2-1.1,0-1.5l-3.3-7.2l4.9-0.4c0.8-0.1,1.5-0.6,1.7-1.3c0.3-0.7,0.1-1.6-0.5-2.1l-16-15C19,10.2,18.5,10,18,10L18,10z"/>
|
|
157
|
+
</svg>
|
|
158
|
+
</div>
|
|
159
|
+
</div>
|
|
160
|
+
</div>
|
|
161
|
+
</div>
|
|
162
|
+
</div>
|
|
163
|
+
</div>
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
</div>
|
|
167
|
+
</div>
|
|
168
|
+
|
|
169
|
+
<!-- Success message -->
|
|
170
|
+
<div class="extension-success-message mt-5 pt-4 border-top">
|
|
171
|
+
<div class="d-flex align-items-center justify-content-center gap-3 text-success">
|
|
172
|
+
{% uj_icon "circle-check", "fs-4" %}
|
|
173
|
+
<span class="fs-5 fw-semibold">That's it! You're all set.</span>
|
|
174
|
+
</div>
|
|
175
|
+
</div>
|
|
176
|
+
|
|
177
|
+
<!-- CTA Button -->
|
|
178
|
+
<div class="text-center mt-4" data-lazy="@class animation-slide-up">
|
|
179
|
+
<a href="/" class="btn btn-primary btn-lg px-5">
|
|
180
|
+
{% uj_icon "arrow-right", "me-2" %}
|
|
181
|
+
Start Using {{ site.brand.name }}
|
|
182
|
+
</a>
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|
|
185
|
+
</div>
|
|
186
|
+
</section>
|
|
187
|
+
|
|
188
|
+
{{ content | uj_content_format }}
|
|
@@ -14,7 +14,7 @@ layout: themes/[ site.theme.id ]/frontend/core/cover
|
|
|
14
14
|
<div class="bg-success avatar avatar-xl rounded-circle d-inline-flex align-items-center justify-content-center mb-3">
|
|
15
15
|
{% uj_icon "check", "fs-2 text-light" %}
|
|
16
16
|
</div>
|
|
17
|
-
<h1 class="h2 mb-3">Thank
|
|
17
|
+
<h1 class="h2 mb-3">Thank you for your purchase!</h1>
|
|
18
18
|
<p class="text-muted">Your order has been successfully processed.</p>
|
|
19
19
|
</div>
|
|
20
20
|
|