@rk-web/create 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/create.js +3 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +47 -0
- package/dist/cli.js.map +1 -0
- package/dist/create.d.ts +2 -0
- package/dist/create.d.ts.map +1 -0
- package/dist/create.js +179 -0
- package/dist/create.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/package.json +58 -0
- package/templates/blog/config.json +27 -0
- package/templates/blog/src/assets/styles/main.css +182 -0
- package/templates/blog/src/components/footer.html +10 -0
- package/templates/blog/src/components/header.html +10 -0
- package/templates/blog/src/components/post-card.html +11 -0
- package/templates/blog/src/data/posts.json +28 -0
- package/templates/blog/src/layouts/base.html +24 -0
- package/templates/blog/src/pages/blog/index.html +22 -0
- package/templates/blog/src/pages/blog/post.html +20 -0
- package/templates/blog/src/pages/index.html +29 -0
- package/templates/landing/config.json +28 -0
- package/templates/landing/src/assets/styles/main.css +474 -0
- package/templates/landing/src/components/cta.html +13 -0
- package/templates/landing/src/components/features.html +17 -0
- package/templates/landing/src/components/footer.html +18 -0
- package/templates/landing/src/components/header.html +11 -0
- package/templates/landing/src/components/hero.html +26 -0
- package/templates/landing/src/components/pricing.html +28 -0
- package/templates/landing/src/components/testimonials.html +24 -0
- package/templates/landing/src/data/landing.json +93 -0
- package/templates/landing/src/layouts/base.html +22 -0
- package/templates/landing/src/pages/index.html +12 -0
- package/templates/minimal/config.json +24 -0
- package/templates/minimal/src/assets/styles/main.css +50 -0
- package/templates/minimal/src/components/footer.html +6 -0
- package/templates/minimal/src/components/header.html +8 -0
- package/templates/minimal/src/layouts/base.html +20 -0
- package/templates/minimal/src/pages/index.html +13 -0
- package/templates/minimal/src/scripts/main.ts +2 -0
- package/templates/portfolio/config.json +27 -0
- package/templates/portfolio/src/assets/styles/main.css +289 -0
- package/templates/portfolio/src/components/footer.html +10 -0
- package/templates/portfolio/src/components/header.html +10 -0
- package/templates/portfolio/src/components/project-card.html +24 -0
- package/templates/portfolio/src/data/projects.json +40 -0
- package/templates/portfolio/src/layouts/base.html +23 -0
- package/templates/portfolio/src/pages/index.html +62 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<!-- layout: layouts/base.html -->
|
|
2
|
+
|
|
3
|
+
<!-- slot: content -->
|
|
4
|
+
<main class="home">
|
|
5
|
+
<section class="hero">
|
|
6
|
+
<h1>Добро пожаловать в мой блог</h1>
|
|
7
|
+
<p>Пишу о разработке, дизайне и технологиях</p>
|
|
8
|
+
</section>
|
|
9
|
+
|
|
10
|
+
<section class="recent-posts">
|
|
11
|
+
<h2>Последние публикации</h2>
|
|
12
|
+
|
|
13
|
+
<!-- for: post in blog.posts -->
|
|
14
|
+
<article class="post-card">
|
|
15
|
+
<h2 class="post-title">
|
|
16
|
+
<a href="/blog/{{ post.slug }}">{{ post.title }}</a>
|
|
17
|
+
</h2>
|
|
18
|
+
<div class="post-meta">
|
|
19
|
+
<time datetime="{{ post.date }}">{{ post.date }}</time>
|
|
20
|
+
<span class="post-tags">{{ post.tags }}</span>
|
|
21
|
+
</div>
|
|
22
|
+
<p class="post-excerpt">{{ post.excerpt }}</p>
|
|
23
|
+
<a href="/blog/{{ post.slug }}" class="read-more">Читать далее →</a>
|
|
24
|
+
</article>
|
|
25
|
+
<!-- endfor -->
|
|
26
|
+
</section>
|
|
27
|
+
</main>
|
|
28
|
+
|
|
29
|
+
<!-- data-define: blog = src/data/posts.json -->
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"site": {
|
|
3
|
+
"title": "Продукт — Лучшее решение для вашего бизнеса",
|
|
4
|
+
"description": "Увеличьте конверсию и автоматизируйте процессы с нашей платформой",
|
|
5
|
+
"lang": "ru",
|
|
6
|
+
"url": "https://product-landing.com",
|
|
7
|
+
"author": "Company Name",
|
|
8
|
+
"email": "hello@product.com"
|
|
9
|
+
},
|
|
10
|
+
"seo": {
|
|
11
|
+
"ogImage": "images/og-default.jpg",
|
|
12
|
+
"ogType": "website",
|
|
13
|
+
"twitterCard": "summary_large_image"
|
|
14
|
+
},
|
|
15
|
+
"navigation": [
|
|
16
|
+
{ "label": "Возможности", "url": "#features" },
|
|
17
|
+
{ "label": "Отзывы", "url": "#testimonials" },
|
|
18
|
+
{ "label": "Цены", "url": "#pricing" },
|
|
19
|
+
{ "label": "Контакты", "url": "#contact" }
|
|
20
|
+
],
|
|
21
|
+
"footer": {
|
|
22
|
+
"copyright": "2024",
|
|
23
|
+
"links": [
|
|
24
|
+
{ "label": "Политика конфиденциальности", "url": "/privacy/" },
|
|
25
|
+
{ "label": "Условия использования", "url": "/terms/" }
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,474 @@
|
|
|
1
|
+
/* Landing page styles */
|
|
2
|
+
:root {
|
|
3
|
+
--color-primary: #6366f1;
|
|
4
|
+
--color-primary-dark: #4f46e5;
|
|
5
|
+
--color-text: #111827;
|
|
6
|
+
--color-text-light: #6b7280;
|
|
7
|
+
--color-bg: #ffffff;
|
|
8
|
+
--color-bg-alt: #f9fafb;
|
|
9
|
+
--color-border: #e5e7eb;
|
|
10
|
+
--max-width: 1200px;
|
|
11
|
+
--radius: 0.75rem;
|
|
12
|
+
--shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
|
|
13
|
+
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
* {
|
|
17
|
+
margin: 0;
|
|
18
|
+
padding: 0;
|
|
19
|
+
box-sizing: border-box;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
body {
|
|
23
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
24
|
+
line-height: 1.6;
|
|
25
|
+
color: var(--color-text);
|
|
26
|
+
background: var(--color-bg);
|
|
27
|
+
-webkit-font-smoothing: antialiased;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.container {
|
|
31
|
+
max-width: var(--max-width);
|
|
32
|
+
margin: 0 auto;
|
|
33
|
+
padding: 0 1.5rem;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* Header */
|
|
37
|
+
.landing-header {
|
|
38
|
+
position: sticky;
|
|
39
|
+
top: 0;
|
|
40
|
+
z-index: 100;
|
|
41
|
+
background: rgba(255, 255, 255, 0.95);
|
|
42
|
+
backdrop-filter: blur(10px);
|
|
43
|
+
border-bottom: 1px solid var(--color-border);
|
|
44
|
+
padding: 1rem 0;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.landing-header .container {
|
|
48
|
+
display: flex;
|
|
49
|
+
justify-content: space-between;
|
|
50
|
+
align-items: center;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.logo {
|
|
54
|
+
font-size: 1.5rem;
|
|
55
|
+
font-weight: bold;
|
|
56
|
+
text-decoration: none;
|
|
57
|
+
color: var(--color-text);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.header-nav {
|
|
61
|
+
display: flex;
|
|
62
|
+
align-items: center;
|
|
63
|
+
gap: 1.5rem;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.nav-link {
|
|
67
|
+
text-decoration: none;
|
|
68
|
+
color: var(--color-text-light);
|
|
69
|
+
font-weight: 500;
|
|
70
|
+
transition: color 0.2s;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.nav-link:hover {
|
|
74
|
+
color: var(--color-primary);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/* Buttons */
|
|
78
|
+
.btn {
|
|
79
|
+
display: inline-block;
|
|
80
|
+
padding: 0.75rem 1.5rem;
|
|
81
|
+
border-radius: 0.5rem;
|
|
82
|
+
text-decoration: none;
|
|
83
|
+
font-weight: 600;
|
|
84
|
+
transition: all 0.2s;
|
|
85
|
+
cursor: pointer;
|
|
86
|
+
border: none;
|
|
87
|
+
font-size: 1rem;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.btn-primary {
|
|
91
|
+
background: var(--color-primary);
|
|
92
|
+
color: white;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.btn-primary:hover {
|
|
96
|
+
background: var(--color-primary-dark);
|
|
97
|
+
transform: translateY(-2px);
|
|
98
|
+
box-shadow: var(--shadow);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.btn-outline {
|
|
102
|
+
background: transparent;
|
|
103
|
+
color: var(--color-text);
|
|
104
|
+
border: 2px solid var(--color-border);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.btn-outline:hover {
|
|
108
|
+
border-color: var(--color-primary);
|
|
109
|
+
color: var(--color-primary);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.btn-sm {
|
|
113
|
+
padding: 0.5rem 1rem;
|
|
114
|
+
font-size: 0.875rem;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.btn-lg {
|
|
118
|
+
padding: 1rem 2rem;
|
|
119
|
+
font-size: 1.125rem;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.btn-block {
|
|
123
|
+
display: block;
|
|
124
|
+
text-align: center;
|
|
125
|
+
width: 100%;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/* Hero */
|
|
129
|
+
.hero-section {
|
|
130
|
+
padding: 6rem 0;
|
|
131
|
+
text-align: center;
|
|
132
|
+
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
133
|
+
color: white;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.hero-title {
|
|
137
|
+
font-size: clamp(2.5rem, 5vw, 4rem);
|
|
138
|
+
font-weight: 800;
|
|
139
|
+
line-height: 1.1;
|
|
140
|
+
margin-bottom: 1.5rem;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.hero-subtitle {
|
|
144
|
+
font-size: 1.25rem;
|
|
145
|
+
opacity: 0.9;
|
|
146
|
+
max-width: 600px;
|
|
147
|
+
margin: 0 auto 2rem;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.hero-actions {
|
|
151
|
+
display: flex;
|
|
152
|
+
gap: 1rem;
|
|
153
|
+
justify-content: center;
|
|
154
|
+
flex-wrap: wrap;
|
|
155
|
+
margin-bottom: 3rem;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.hero-section .btn-primary {
|
|
159
|
+
background: white;
|
|
160
|
+
color: var(--color-primary);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.hero-section .btn-outline {
|
|
164
|
+
border-color: rgba(255, 255, 255, 0.3);
|
|
165
|
+
color: white;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.hero-stats {
|
|
169
|
+
display: flex;
|
|
170
|
+
justify-content: center;
|
|
171
|
+
gap: 3rem;
|
|
172
|
+
flex-wrap: wrap;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.stat {
|
|
176
|
+
text-align: center;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.stat-number {
|
|
180
|
+
display: block;
|
|
181
|
+
font-size: 2rem;
|
|
182
|
+
font-weight: bold;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.stat-label {
|
|
186
|
+
font-size: 0.875rem;
|
|
187
|
+
opacity: 0.8;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/* Sections */
|
|
191
|
+
section {
|
|
192
|
+
padding: 5rem 0;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.section-header {
|
|
196
|
+
text-align: center;
|
|
197
|
+
margin-bottom: 3rem;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.section-header h2 {
|
|
201
|
+
font-size: 2.5rem;
|
|
202
|
+
margin-bottom: 1rem;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
.section-header p {
|
|
206
|
+
font-size: 1.25rem;
|
|
207
|
+
color: var(--color-text-light);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/* Features */
|
|
211
|
+
.features-section {
|
|
212
|
+
background: var(--color-bg-alt);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.features-grid {
|
|
216
|
+
display: grid;
|
|
217
|
+
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
218
|
+
gap: 2rem;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
.feature-card {
|
|
222
|
+
background: white;
|
|
223
|
+
padding: 2rem;
|
|
224
|
+
border-radius: var(--radius);
|
|
225
|
+
box-shadow: var(--shadow);
|
|
226
|
+
transition: transform 0.2s, box-shadow 0.2s;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
.feature-card:hover {
|
|
230
|
+
transform: translateY(-4px);
|
|
231
|
+
box-shadow: var(--shadow-lg);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.feature-icon {
|
|
235
|
+
font-size: 2.5rem;
|
|
236
|
+
margin-bottom: 1rem;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
.feature-title {
|
|
240
|
+
font-size: 1.25rem;
|
|
241
|
+
margin-bottom: 0.5rem;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.feature-description {
|
|
245
|
+
color: var(--color-text-light);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/* Testimonials */
|
|
249
|
+
.testimonials-grid {
|
|
250
|
+
display: grid;
|
|
251
|
+
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
|
252
|
+
gap: 2rem;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
.testimonial-card {
|
|
256
|
+
background: white;
|
|
257
|
+
padding: 2rem;
|
|
258
|
+
border-radius: var(--radius);
|
|
259
|
+
border: 1px solid var(--color-border);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
.testimonial-content p {
|
|
263
|
+
font-size: 1.125rem;
|
|
264
|
+
font-style: italic;
|
|
265
|
+
margin-bottom: 1.5rem;
|
|
266
|
+
color: var(--color-text);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
.testimonial-author {
|
|
270
|
+
display: flex;
|
|
271
|
+
align-items: center;
|
|
272
|
+
gap: 1rem;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
.author-avatar {
|
|
276
|
+
font-size: 2rem;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.author-info strong {
|
|
280
|
+
display: block;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
.author-info span {
|
|
284
|
+
font-size: 0.875rem;
|
|
285
|
+
color: var(--color-text-light);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
/* Pricing */
|
|
289
|
+
.pricing-section {
|
|
290
|
+
background: var(--color-bg-alt);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
.pricing-grid {
|
|
294
|
+
display: grid;
|
|
295
|
+
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
296
|
+
gap: 2rem;
|
|
297
|
+
align-items: start;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.pricing-card {
|
|
301
|
+
background: white;
|
|
302
|
+
padding: 2rem;
|
|
303
|
+
border-radius: var(--radius);
|
|
304
|
+
border: 2px solid var(--color-border);
|
|
305
|
+
position: relative;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
.pricing-card.featured {
|
|
309
|
+
border-color: var(--color-primary);
|
|
310
|
+
box-shadow: var(--shadow-lg);
|
|
311
|
+
transform: scale(1.05);
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
.pricing-badge {
|
|
315
|
+
position: absolute;
|
|
316
|
+
top: -12px;
|
|
317
|
+
left: 50%;
|
|
318
|
+
transform: translateX(-50%);
|
|
319
|
+
background: var(--color-primary);
|
|
320
|
+
color: white;
|
|
321
|
+
padding: 0.25rem 1rem;
|
|
322
|
+
border-radius: 1rem;
|
|
323
|
+
font-size: 0.75rem;
|
|
324
|
+
font-weight: 600;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
.pricing-name {
|
|
328
|
+
font-size: 1.5rem;
|
|
329
|
+
margin-bottom: 1rem;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
.pricing-price {
|
|
333
|
+
margin-bottom: 2rem;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
.price-amount {
|
|
337
|
+
font-size: 2.5rem;
|
|
338
|
+
font-weight: bold;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
.price-period {
|
|
342
|
+
color: var(--color-text-light);
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
.pricing-features {
|
|
346
|
+
list-style: none;
|
|
347
|
+
margin-bottom: 2rem;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
.pricing-features li {
|
|
351
|
+
padding: 0.5rem 0;
|
|
352
|
+
border-bottom: 1px solid var(--color-border);
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
.pricing-features li:last-child {
|
|
356
|
+
border-bottom: none;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
/* CTA */
|
|
360
|
+
.cta-section {
|
|
361
|
+
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
362
|
+
color: white;
|
|
363
|
+
text-align: center;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
.cta-content h2 {
|
|
367
|
+
font-size: 2.5rem;
|
|
368
|
+
margin-bottom: 1rem;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
.cta-content p {
|
|
372
|
+
font-size: 1.25rem;
|
|
373
|
+
opacity: 0.9;
|
|
374
|
+
margin-bottom: 2rem;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
.cta-form {
|
|
378
|
+
display: flex;
|
|
379
|
+
gap: 1rem;
|
|
380
|
+
justify-content: center;
|
|
381
|
+
flex-wrap: wrap;
|
|
382
|
+
margin-bottom: 1rem;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
.cta-form input {
|
|
386
|
+
padding: 1rem 1.5rem;
|
|
387
|
+
border: none;
|
|
388
|
+
border-radius: 0.5rem;
|
|
389
|
+
font-size: 1rem;
|
|
390
|
+
min-width: 300px;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
.cta-form .btn-primary {
|
|
394
|
+
background: white;
|
|
395
|
+
color: var(--color-primary);
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
.cta-note {
|
|
399
|
+
font-size: 0.875rem;
|
|
400
|
+
opacity: 0.8;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
/* Footer */
|
|
404
|
+
.landing-footer {
|
|
405
|
+
background: var(--color-text);
|
|
406
|
+
color: white;
|
|
407
|
+
padding: 3rem 0 1.5rem;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
.footer-grid {
|
|
411
|
+
display: flex;
|
|
412
|
+
justify-content: space-between;
|
|
413
|
+
align-items: start;
|
|
414
|
+
flex-wrap: wrap;
|
|
415
|
+
gap: 2rem;
|
|
416
|
+
margin-bottom: 2rem;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
.footer-brand h3 {
|
|
420
|
+
margin-bottom: 0.5rem;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
.footer-brand p {
|
|
424
|
+
color: rgba(255, 255, 255, 0.7);
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
.footer-links {
|
|
428
|
+
display: flex;
|
|
429
|
+
gap: 2rem;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
.footer-links a {
|
|
433
|
+
color: rgba(255, 255, 255, 0.7);
|
|
434
|
+
text-decoration: none;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
.footer-links a:hover {
|
|
438
|
+
color: white;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
.footer-bottom {
|
|
442
|
+
text-align: center;
|
|
443
|
+
padding-top: 2rem;
|
|
444
|
+
border-top: 1px solid rgba(255, 255, 255, 0.1);
|
|
445
|
+
color: rgba(255, 255, 255, 0.5);
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
/* Responsive */
|
|
449
|
+
@media (max-width: 768px) {
|
|
450
|
+
.header-nav {
|
|
451
|
+
flex-direction: column;
|
|
452
|
+
gap: 1rem;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
.hero-section {
|
|
456
|
+
padding: 4rem 0;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
.hero-stats {
|
|
460
|
+
gap: 1.5rem;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
.pricing-card.featured {
|
|
464
|
+
transform: none;
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
.cta-form input {
|
|
468
|
+
min-width: 100%;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
.footer-grid {
|
|
472
|
+
flex-direction: column;
|
|
473
|
+
}
|
|
474
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<section class="cta-section" id="contact">
|
|
2
|
+
<div class="container">
|
|
3
|
+
<div class="cta-content">
|
|
4
|
+
<h2>Готовы начать?</h2>
|
|
5
|
+
<p>Присоединяйтесь к 10,000+ компаний, которые уже используют нашу платформу</p>
|
|
6
|
+
<form class="cta-form" action="#" method="POST">
|
|
7
|
+
<input type="email" name="email" placeholder="Введите ваш email" required>
|
|
8
|
+
<button type="submit" class="btn btn-primary btn-lg">Начать бесплатно →</button>
|
|
9
|
+
</form>
|
|
10
|
+
<p class="cta-note">✓ Бесплатный план ✓ Без карты ✓ Отмена в любой момент</p>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
</section>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<section class="features-section" id="features">
|
|
2
|
+
<div class="container">
|
|
3
|
+
<div class="section-header">
|
|
4
|
+
<h2>Всё что вам нужно</h2>
|
|
5
|
+
<p>Мощные инструменты для роста вашего бизнеса</p>
|
|
6
|
+
</div>
|
|
7
|
+
<div class="features-grid">
|
|
8
|
+
<!-- for: feature in landing.features -->
|
|
9
|
+
<div class="feature-card">
|
|
10
|
+
<div class="feature-icon">{{ feature.icon }}</div>
|
|
11
|
+
<h3 class="feature-title">{{ feature.title }}</h3>
|
|
12
|
+
<p class="feature-description">{{ feature.description }}</p>
|
|
13
|
+
</div>
|
|
14
|
+
<!-- endfor -->
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
</section>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<footer class="landing-footer">
|
|
2
|
+
<div class="container">
|
|
3
|
+
<div class="footer-grid">
|
|
4
|
+
<div class="footer-brand">
|
|
5
|
+
<h3>🚀 Product</h3>
|
|
6
|
+
<p>Лучшее решение для вашего бизнеса</p>
|
|
7
|
+
</div>
|
|
8
|
+
<div class="footer-links">
|
|
9
|
+
<!-- for: link in footer.links -->
|
|
10
|
+
<a href="{{ link.url }}">{{ link.label }}</a>
|
|
11
|
+
<!-- endfor -->
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="footer-bottom">
|
|
15
|
+
<p>© {{ footer.copyright }} Product. Все права защищены.</p>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
</footer>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<header class="landing-header">
|
|
2
|
+
<div class="container">
|
|
3
|
+
<a href="/" class="logo">🚀 Product</a>
|
|
4
|
+
<nav class="header-nav">
|
|
5
|
+
<!-- for: item in site.navigation -->
|
|
6
|
+
<a href="{{ item.url }}" class="nav-link">{{ item.label }}</a>
|
|
7
|
+
<!-- endfor -->
|
|
8
|
+
<a href="#contact" class="btn btn-primary btn-sm">Начать бесплатно</a>
|
|
9
|
+
</nav>
|
|
10
|
+
</div>
|
|
11
|
+
</header>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<section class="hero-section">
|
|
2
|
+
<div class="container">
|
|
3
|
+
<div class="hero-content">
|
|
4
|
+
<h1 class="hero-title">Автоматизируйте бизнес с умом</h1>
|
|
5
|
+
<p class="hero-subtitle">Увеличьте конверсию на 40% с нашей платформой. Без кода, без сложностей, без лишних затрат.</p>
|
|
6
|
+
<div class="hero-actions">
|
|
7
|
+
<a href="#pricing" class="btn btn-primary btn-lg">Попробовать бесплатно</a>
|
|
8
|
+
<a href="#features" class="btn btn-outline btn-lg">Узнать больше</a>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="hero-stats">
|
|
11
|
+
<div class="stat">
|
|
12
|
+
<span class="stat-number">10,000+</span>
|
|
13
|
+
<span class="stat-label">Пользователей</span>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="stat">
|
|
16
|
+
<span class="stat-number">99.9%</span>
|
|
17
|
+
<span class="stat-label">Uptime</span>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="stat">
|
|
20
|
+
<span class="stat-number">24/7</span>
|
|
21
|
+
<span class="stat-label">Поддержка</span>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
</section>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<section class="pricing-section" id="pricing">
|
|
2
|
+
<div class="container">
|
|
3
|
+
<div class="section-header">
|
|
4
|
+
<h2>Простые и прозрачные цены</h2>
|
|
5
|
+
<p>Выберите тариф, который подходит вам</p>
|
|
6
|
+
</div>
|
|
7
|
+
<div class="pricing-grid">
|
|
8
|
+
<!-- for: plan in landing.pricing -->
|
|
9
|
+
<div class="pricing-card{{ plan.featured }}">
|
|
10
|
+
<!-- if: plan.featured -->
|
|
11
|
+
<div class="pricing-badge">Популярный</div>
|
|
12
|
+
<!-- endif -->
|
|
13
|
+
<h3 class="pricing-name">{{ plan.name }}</h3>
|
|
14
|
+
<div class="pricing-price">
|
|
15
|
+
<span class="price-amount">{{ plan.price }}</span>
|
|
16
|
+
<span class="price-period">{{ plan.period }}</span>
|
|
17
|
+
</div>
|
|
18
|
+
<ul class="pricing-features">
|
|
19
|
+
<!-- for: feature in plan.features -->
|
|
20
|
+
<li>✓ {{ feature }}</li>
|
|
21
|
+
<!-- endfor -->
|
|
22
|
+
</ul>
|
|
23
|
+
<a href="#contact" class="btn btn-primary btn-block">Выбрать план</a>
|
|
24
|
+
</div>
|
|
25
|
+
<!-- endfor -->
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</section>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<section class="testimonials-section" id="testimonials">
|
|
2
|
+
<div class="container">
|
|
3
|
+
<div class="section-header">
|
|
4
|
+
<h2>Что говорят клиенты</h2>
|
|
5
|
+
<p>Реальные отзывы от реальных пользователей</p>
|
|
6
|
+
</div>
|
|
7
|
+
<div class="testimonials-grid">
|
|
8
|
+
<!-- for: testimonial in landing.testimonials -->
|
|
9
|
+
<div class="testimonial-card">
|
|
10
|
+
<div class="testimonial-content">
|
|
11
|
+
<p>"{{ testimonial.content }}"</p>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="testimonial-author">
|
|
14
|
+
<div class="author-avatar">👤</div>
|
|
15
|
+
<div class="author-info">
|
|
16
|
+
<strong>{{ testimonial.name }}</strong>
|
|
17
|
+
<span>{{ testimonial.role }}</span>
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
<!-- endfor -->
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
</section>
|