@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.
Files changed (51) hide show
  1. package/bin/create.js +3 -0
  2. package/dist/cli.d.ts +2 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +47 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/create.d.ts +2 -0
  7. package/dist/create.d.ts.map +1 -0
  8. package/dist/create.js +179 -0
  9. package/dist/create.js.map +1 -0
  10. package/dist/index.d.ts +2 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +2 -0
  13. package/dist/index.js.map +1 -0
  14. package/package.json +58 -0
  15. package/templates/blog/config.json +27 -0
  16. package/templates/blog/src/assets/styles/main.css +182 -0
  17. package/templates/blog/src/components/footer.html +10 -0
  18. package/templates/blog/src/components/header.html +10 -0
  19. package/templates/blog/src/components/post-card.html +11 -0
  20. package/templates/blog/src/data/posts.json +28 -0
  21. package/templates/blog/src/layouts/base.html +24 -0
  22. package/templates/blog/src/pages/blog/index.html +22 -0
  23. package/templates/blog/src/pages/blog/post.html +20 -0
  24. package/templates/blog/src/pages/index.html +29 -0
  25. package/templates/landing/config.json +28 -0
  26. package/templates/landing/src/assets/styles/main.css +474 -0
  27. package/templates/landing/src/components/cta.html +13 -0
  28. package/templates/landing/src/components/features.html +17 -0
  29. package/templates/landing/src/components/footer.html +18 -0
  30. package/templates/landing/src/components/header.html +11 -0
  31. package/templates/landing/src/components/hero.html +26 -0
  32. package/templates/landing/src/components/pricing.html +28 -0
  33. package/templates/landing/src/components/testimonials.html +24 -0
  34. package/templates/landing/src/data/landing.json +93 -0
  35. package/templates/landing/src/layouts/base.html +22 -0
  36. package/templates/landing/src/pages/index.html +12 -0
  37. package/templates/minimal/config.json +24 -0
  38. package/templates/minimal/src/assets/styles/main.css +50 -0
  39. package/templates/minimal/src/components/footer.html +6 -0
  40. package/templates/minimal/src/components/header.html +8 -0
  41. package/templates/minimal/src/layouts/base.html +20 -0
  42. package/templates/minimal/src/pages/index.html +13 -0
  43. package/templates/minimal/src/scripts/main.ts +2 -0
  44. package/templates/portfolio/config.json +27 -0
  45. package/templates/portfolio/src/assets/styles/main.css +289 -0
  46. package/templates/portfolio/src/components/footer.html +10 -0
  47. package/templates/portfolio/src/components/header.html +10 -0
  48. package/templates/portfolio/src/components/project-card.html +24 -0
  49. package/templates/portfolio/src/data/projects.json +40 -0
  50. package/templates/portfolio/src/layouts/base.html +23 -0
  51. package/templates/portfolio/src/pages/index.html +62 -0
@@ -0,0 +1,93 @@
1
+ {
2
+ "features": [
3
+ {
4
+ "icon": "⚡",
5
+ "title": "Мгновенная настройка",
6
+ "description": "Начните работу за 5 минут. Без сложных конфигураций и долгого ожидания."
7
+ },
8
+ {
9
+ "icon": "📊",
10
+ "title": "Аналитика в реальном времени",
11
+ "description": "Отслеживайте метрики и принимайте решения на основе актуальных данных."
12
+ },
13
+ {
14
+ "icon": "🔒",
15
+ "title": "Безопасность данных",
16
+ "description": "Шифрование на уровне банка. Ваши данные под надежной защитой."
17
+ },
18
+ {
19
+ "icon": "🔄",
20
+ "title": "Автоматизация процессов",
21
+ "description": "Настройте один раз — система работает за вас 24/7."
22
+ },
23
+ {
24
+ "icon": "🤝",
25
+ "title": "Командная работа",
26
+ "description": "Приглашайте коллег, распределяйте роли и контролируйте доступ."
27
+ },
28
+ {
29
+ "icon": "📱",
30
+ "title": "Мобильное приложение",
31
+ "description": "Управляйте бизнесом со смартфона. Доступно на iOS и Android."
32
+ }
33
+ ],
34
+ "testimonials": [
35
+ {
36
+ "name": "Алексей Петров",
37
+ "role": "CEO, TechStart",
38
+ "content": "Эта платформа изменила наш подход к работе. Конверсия выросла на 45% за первый месяц!"
39
+ },
40
+ {
41
+ "name": "Мария Сидорова",
42
+ "role": "Marketing Director, GrowthCo",
43
+ "content": "Простота использования поразила всю команду. Обучение заняло всего 30 минут."
44
+ },
45
+ {
46
+ "name": "Дмитрий Козлов",
47
+ "role": "Founder, DigitalAgency",
48
+ "content": "Лучшее соотношение цены и качества. Поддержка отвечает моментально."
49
+ }
50
+ ],
51
+ "pricing": [
52
+ {
53
+ "name": "Старт",
54
+ "price": "Бесплатно",
55
+ "period": "",
56
+ "features": [
57
+ "До 3 проектов",
58
+ "Базовая аналитика",
59
+ "1 пользователь",
60
+ "Email поддержка"
61
+ ],
62
+ "featured": ""
63
+ },
64
+ {
65
+ "name": "Про",
66
+ "price": "1990₽",
67
+ "period": "/мес",
68
+ "features": [
69
+ "До 20 проектов",
70
+ "Расширенная аналитика",
71
+ "До 5 пользователей",
72
+ "Приоритетная поддержка",
73
+ "API доступ",
74
+ "Кастомный домен"
75
+ ],
76
+ "featured": " featured"
77
+ },
78
+ {
79
+ "name": "Бизнес",
80
+ "price": "5990₽",
81
+ "period": "/мес",
82
+ "features": [
83
+ "Безлимитные проекты",
84
+ "Полная аналитика",
85
+ "Безлимитные пользователи",
86
+ "Персональный менеджер",
87
+ "White label",
88
+ "SLA 99.9%"
89
+ ],
90
+ "featured": ""
91
+ }
92
+ ]
93
+ }
@@ -0,0 +1,22 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ site.lang }}">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>{{ site.title }}</title>
7
+ <meta name="description" content="{{ site.description }}">
8
+
9
+ <!-- SEO -->
10
+ <meta property="og:title" content="{{ site.title }}">
11
+ <meta property="og:description" content="{{ site.description }}">
12
+ <meta property="og:image" content="{{ seo.ogImage }}">
13
+ <meta property="og:type" content="{{ seo.ogType }}">
14
+ </head>
15
+ <body>
16
+ <!-- include: components/header.html -->
17
+
18
+ <!-- slot: content -->
19
+
20
+ <!-- include: components/footer.html -->
21
+ </body>
22
+ </html>
@@ -0,0 +1,12 @@
1
+ <!-- layout: layouts/base.html -->
2
+
3
+ <!-- slot: content -->
4
+ <main class="landing-page">
5
+ <!-- include: components/hero.html -->
6
+ <!-- include: components/features.html -->
7
+ <!-- include: components/testimonials.html -->
8
+ <!-- include: components/pricing.html -->
9
+ <!-- include: components/cta.html -->
10
+ </main>
11
+
12
+ <!-- data-define: landing = src/data/landing.json -->
@@ -0,0 +1,24 @@
1
+ {
2
+ "site": {
3
+ "title": "Мой сайт",
4
+ "description": "Описание моего сайта",
5
+ "lang": "ru",
6
+ "url": "https://example.com",
7
+ "author": "Разработчик",
8
+ "email": "dev@example.com"
9
+ },
10
+ "seo": {
11
+ "ogImage": "images/og-default.jpg",
12
+ "ogType": "website",
13
+ "twitterCard": "summary_large_image"
14
+ },
15
+ "navigation": [
16
+ { "label": "Главная", "url": "/" }
17
+ ],
18
+ "footer": {
19
+ "copyright": "2024",
20
+ "links": [
21
+ { "label": "Политика конфиденциальности", "url": "/privacy/" }
22
+ ]
23
+ }
24
+ }
@@ -0,0 +1,50 @@
1
+ /* Минимальные стили */
2
+ * {
3
+ margin: 0;
4
+ padding: 0;
5
+ box-sizing: border-box;
6
+ }
7
+
8
+ body {
9
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
10
+ line-height: 1.6;
11
+ color: #333;
12
+ max-width: 1200px;
13
+ margin: 0 auto;
14
+ padding: 0 1rem;
15
+ }
16
+
17
+ header {
18
+ padding: 1rem 0;
19
+ border-bottom: 1px solid #eee;
20
+ }
21
+
22
+ nav {
23
+ display: flex;
24
+ gap: 1rem;
25
+ align-items: center;
26
+ }
27
+
28
+ nav a {
29
+ text-decoration: none;
30
+ color: #0066cc;
31
+ }
32
+
33
+ nav a:hover {
34
+ text-decoration: underline;
35
+ }
36
+
37
+ main {
38
+ padding: 2rem 0;
39
+ }
40
+
41
+ h1 {
42
+ margin-bottom: 1rem;
43
+ }
44
+
45
+ footer {
46
+ padding: 2rem 0;
47
+ border-top: 1px solid #eee;
48
+ text-align: center;
49
+ color: #666;
50
+ }
@@ -0,0 +1,6 @@
1
+ <footer>
2
+ <p>{{ footer.copyright }} {{ site.author }}</p>
3
+ <!-- for: link in footer.links -->
4
+ <a href="{{ link.url }}">{{ link.label }}</a>
5
+ <!-- endfor -->
6
+ </footer>
@@ -0,0 +1,8 @@
1
+ <header>
2
+ <nav>
3
+ <a href="/">{{ site.title }}</a>
4
+ <!-- for: item in site.navigation -->
5
+ <a href="{{ item.url }}">{{ item.label }}</a>
6
+ <!-- endfor -->
7
+ </nav>
8
+ </header>
@@ -0,0 +1,20 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ site.lang }}">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>{{ site.title }}</title>
7
+ <meta name="description" content="{{ site.description }}">
8
+
9
+ <!-- SEO -->
10
+ <meta property="og:title" content="{{ site.title }}">
11
+ <meta property="og:description" content="{{ site.description }}">
12
+ <meta property="og:image" content="{{ seo.ogImage }}">
13
+ <meta property="og:type" content="{{ seo.ogType }}">
14
+ </head>
15
+ <body>
16
+ <!-- slot: content -->
17
+
18
+ <!-- include: components/footer.html -->
19
+ </body>
20
+ </html>
@@ -0,0 +1,13 @@
1
+ <!-- layout: layouts/base.html -->
2
+
3
+ <!-- slot: content -->
4
+ <main>
5
+ <!-- include: components/header.html -->
6
+
7
+ <h1>Добро пожаловать</h1>
8
+ <p>Это минимальный шаблон для @my-static-builder</p>
9
+
10
+ <!-- if: site.description -->
11
+ <p class="description">{{ site.description }}</p>
12
+ <!-- endif -->
13
+ </main>
@@ -0,0 +1,2 @@
1
+ // Main script
2
+ console.log('Site loaded')
@@ -0,0 +1,27 @@
1
+ {
2
+ "site": {
3
+ "title": "Портфолио разработчика",
4
+ "description": "Портфолио веб-разработчика с примерами проектов",
5
+ "lang": "ru",
6
+ "url": "https://developer-portfolio.com",
7
+ "author": "Имя Фамилия",
8
+ "email": "dev@example.com"
9
+ },
10
+ "seo": {
11
+ "ogImage": "images/og-default.jpg",
12
+ "ogType": "website",
13
+ "twitterCard": "summary_large_image"
14
+ },
15
+ "navigation": [
16
+ { "label": "Главная", "url": "/" },
17
+ { "label": "Проекты", "url": "/#projects" },
18
+ { "label": "Контакты", "url": "/#contact" }
19
+ ],
20
+ "footer": {
21
+ "copyright": "2024",
22
+ "links": [
23
+ { "label": "GitHub", "url": "https://github.com/developer" },
24
+ { "label": "LinkedIn", "url": "https://linkedin.com/in/developer" }
25
+ ]
26
+ }
27
+ }
@@ -0,0 +1,289 @@
1
+ /* Portfolio styles */
2
+ :root {
3
+ --color-primary: #3b82f6;
4
+ --color-primary-dark: #2563eb;
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
+ --transition: 0.2s ease;
12
+ }
13
+
14
+ * {
15
+ margin: 0;
16
+ padding: 0;
17
+ box-sizing: border-box;
18
+ }
19
+
20
+ body {
21
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
22
+ line-height: 1.6;
23
+ color: var(--color-text);
24
+ background: var(--color-bg);
25
+ }
26
+
27
+ .container {
28
+ max-width: var(--max-width);
29
+ margin: 0 auto;
30
+ padding: 0 1.5rem;
31
+ }
32
+
33
+ /* Header */
34
+ .portfolio-header {
35
+ padding: 1.5rem 0;
36
+ position: sticky;
37
+ top: 0;
38
+ background: rgba(255, 255, 255, 0.95);
39
+ backdrop-filter: blur(10px);
40
+ z-index: 100;
41
+ border-bottom: 1px solid var(--color-border);
42
+ }
43
+
44
+ .portfolio-header .container {
45
+ display: flex;
46
+ justify-content: space-between;
47
+ align-items: center;
48
+ }
49
+
50
+ .logo {
51
+ font-size: 1.5rem;
52
+ font-weight: bold;
53
+ text-decoration: none;
54
+ color: var(--color-text);
55
+ }
56
+
57
+ .nav-link {
58
+ margin-left: 2rem;
59
+ text-decoration: none;
60
+ color: var(--color-text-light);
61
+ transition: color var(--transition);
62
+ }
63
+
64
+ .nav-link:hover {
65
+ color: var(--color-primary);
66
+ }
67
+
68
+ /* Hero */
69
+ .hero {
70
+ min-height: 80vh;
71
+ display: flex;
72
+ align-items: center;
73
+ justify-content: center;
74
+ text-align: center;
75
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
76
+ color: white;
77
+ padding: 4rem 1rem;
78
+ }
79
+
80
+ .hero h1 {
81
+ font-size: clamp(2rem, 5vw, 4rem);
82
+ margin-bottom: 1rem;
83
+ }
84
+
85
+ .subtitle {
86
+ font-size: 1.25rem;
87
+ opacity: 0.9;
88
+ margin-bottom: 2rem;
89
+ max-width: 600px;
90
+ margin-left: auto;
91
+ margin-right: auto;
92
+ }
93
+
94
+ .hero-buttons {
95
+ display: flex;
96
+ gap: 1rem;
97
+ justify-content: center;
98
+ flex-wrap: wrap;
99
+ }
100
+
101
+ /* Buttons */
102
+ .btn {
103
+ display: inline-block;
104
+ padding: 0.75rem 1.5rem;
105
+ border-radius: 0.5rem;
106
+ text-decoration: none;
107
+ font-weight: 500;
108
+ transition: all var(--transition);
109
+ cursor: pointer;
110
+ border: none;
111
+ }
112
+
113
+ .btn-primary {
114
+ background: var(--color-primary);
115
+ color: white;
116
+ }
117
+
118
+ .btn-primary:hover {
119
+ background: var(--color-primary-dark);
120
+ }
121
+
122
+ .btn-secondary {
123
+ background: white;
124
+ color: var(--color-text);
125
+ }
126
+
127
+ .btn-secondary:hover {
128
+ background: var(--color-bg-alt);
129
+ }
130
+
131
+ .hero .btn-primary {
132
+ background: white;
133
+ color: var(--color-text);
134
+ }
135
+
136
+ .hero .btn-secondary {
137
+ background: rgba(255, 255, 255, 0.2);
138
+ color: white;
139
+ }
140
+
141
+ /* Projects */
142
+ .projects {
143
+ padding: 4rem 0;
144
+ background: var(--color-bg-alt);
145
+ }
146
+
147
+ .projects h2 {
148
+ text-align: center;
149
+ font-size: 2rem;
150
+ margin-bottom: 3rem;
151
+ }
152
+
153
+ .projects-grid {
154
+ display: grid;
155
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
156
+ gap: 2rem;
157
+ }
158
+
159
+ /* Project Card */
160
+ .project-card {
161
+ background: white;
162
+ border-radius: 1rem;
163
+ overflow: hidden;
164
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
165
+ transition: transform var(--transition), box-shadow var(--transition);
166
+ }
167
+
168
+ .project-card:hover {
169
+ transform: translateY(-4px);
170
+ box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
171
+ }
172
+
173
+ .project-image {
174
+ aspect-ratio: 16/9;
175
+ overflow: hidden;
176
+ }
177
+
178
+ .project-image img {
179
+ width: 100%;
180
+ height: 100%;
181
+ object-fit: cover;
182
+ transition: transform var(--transition);
183
+ }
184
+
185
+ .project-card:hover .project-image img {
186
+ transform: scale(1.05);
187
+ }
188
+
189
+ .project-info {
190
+ padding: 1.5rem;
191
+ }
192
+
193
+ .project-title {
194
+ margin-bottom: 0.5rem;
195
+ }
196
+
197
+ .project-title a {
198
+ text-decoration: none;
199
+ color: var(--color-text);
200
+ }
201
+
202
+ .project-title a:hover {
203
+ color: var(--color-primary);
204
+ }
205
+
206
+ .project-description {
207
+ color: var(--color-text-light);
208
+ margin-bottom: 1rem;
209
+ font-size: 0.9rem;
210
+ }
211
+
212
+ .project-tags {
213
+ display: flex;
214
+ flex-wrap: wrap;
215
+ gap: 0.5rem;
216
+ margin-bottom: 1rem;
217
+ }
218
+
219
+ .tag {
220
+ background: var(--color-bg-alt);
221
+ color: var(--color-text-light);
222
+ padding: 0.25rem 0.75rem;
223
+ border-radius: 1rem;
224
+ font-size: 0.75rem;
225
+ }
226
+
227
+ .project-links {
228
+ display: flex;
229
+ gap: 0.5rem;
230
+ }
231
+
232
+ .project-links .btn {
233
+ padding: 0.5rem 1rem;
234
+ font-size: 0.875rem;
235
+ }
236
+
237
+ /* Contact */
238
+ .contact {
239
+ padding: 4rem 0;
240
+ text-align: center;
241
+ }
242
+
243
+ .contact h2 {
244
+ font-size: 2rem;
245
+ margin-bottom: 1rem;
246
+ }
247
+
248
+ .contact p {
249
+ color: var(--color-text-light);
250
+ margin-bottom: 2rem;
251
+ }
252
+
253
+ /* Footer */
254
+ .portfolio-footer {
255
+ padding: 2rem 0;
256
+ background: var(--color-text);
257
+ color: white;
258
+ text-align: center;
259
+ }
260
+
261
+ .social-links {
262
+ margin-top: 1rem;
263
+ }
264
+
265
+ .social-links a {
266
+ margin: 0 0.75rem;
267
+ color: rgba(255, 255, 255, 0.7);
268
+ text-decoration: none;
269
+ }
270
+
271
+ .social-links a:hover {
272
+ color: white;
273
+ }
274
+
275
+ /* Responsive */
276
+ @media (max-width: 768px) {
277
+ .portfolio-header .container {
278
+ flex-direction: column;
279
+ gap: 1rem;
280
+ }
281
+
282
+ .nav-link {
283
+ margin-left: 1rem;
284
+ }
285
+
286
+ .projects-grid {
287
+ grid-template-columns: 1fr;
288
+ }
289
+ }
@@ -0,0 +1,10 @@
1
+ <footer class="portfolio-footer">
2
+ <div class="container">
3
+ <p>&copy; {{ footer.copyright }} {{ site.author }}</p>
4
+ <div class="social-links">
5
+ <!-- for: link in footer.links -->
6
+ <a href="{{ link.url }}" target="_blank" rel="noopener">{{ link.label }}</a>
7
+ <!-- endfor -->
8
+ </div>
9
+ </div>
10
+ </footer>
@@ -0,0 +1,10 @@
1
+ <header class="portfolio-header">
2
+ <div class="container">
3
+ <a href="/" class="logo">{{ site.author }}</a>
4
+ <nav>
5
+ <!-- for: item in site.navigation -->
6
+ <a href="{{ item.url }}" class="nav-link">{{ item.label }}</a>
7
+ <!-- endfor -->
8
+ </nav>
9
+ </div>
10
+ </header>
@@ -0,0 +1,24 @@
1
+ <article class="project-card">
2
+ <div class="project-image">
3
+ <a href="{{ url }}">
4
+ <img src="{{ image }}" alt="{{ title }}" loading="lazy">
5
+ </a>
6
+ </div>
7
+ <div class="project-info">
8
+ <h3 class="project-title">
9
+ <a href="{{ url }}">{{ title }}</a>
10
+ </h3>
11
+ <p class="project-description">{{ description }}</p>
12
+ <div class="project-tags">
13
+ <!-- for: tag in tags -->
14
+ <span class="tag">{{ tag }}</span>
15
+ <!-- endfor -->
16
+ </div>
17
+ <div class="project-links">
18
+ <a href="{{ url }}" class="btn btn-primary">Посмотреть</a>
19
+ <!-- if: github -->
20
+ <a href="{{ github }}" class="btn btn-secondary" target="_blank" rel="noopener">GitHub</a>
21
+ <!-- endif -->
22
+ </div>
23
+ </div>
24
+ </article>
@@ -0,0 +1,40 @@
1
+ {
2
+ "projects": [
3
+ {
4
+ "title": "E-commerce платформа",
5
+ "slug": "ecommerce-platform",
6
+ "description": "Полнофункциональный интернет-магазин с корзиной, оплатой и админ-панелью",
7
+ "image": "images/projects/ecommerce.jpg",
8
+ "url": "https://example-ecommerce.com",
9
+ "github": "https://github.com/developer/ecommerce",
10
+ "tags": ["React", "Node.js", "PostgreSQL", "Stripe"]
11
+ },
12
+ {
13
+ "title": "Task Manager",
14
+ "slug": "task-manager",
15
+ "description": "Приложение для управления задачами с поддержкой команд и дедлайнов",
16
+ "image": "images/projects/task-manager.jpg",
17
+ "url": "https://example-taskmanager.com",
18
+ "github": "https://github.com/developer/task-manager",
19
+ "tags": ["Vue.js", "Express", "MongoDB"]
20
+ },
21
+ {
22
+ "title": "Weather Dashboard",
23
+ "slug": "weather-dashboard",
24
+ "description": "Дашборд погоды с прогнозом на неделю и интерактивными картами",
25
+ "image": "images/projects/weather.jpg",
26
+ "url": "https://example-weather.com",
27
+ "github": "https://github.com/developer/weather-dashboard",
28
+ "tags": ["JavaScript", "API", "Chart.js"]
29
+ },
30
+ {
31
+ "title": "Portfolio Website",
32
+ "slug": "portfolio-website",
33
+ "description": "Этот сайт-портфолио, созданный с использованием статического генератора",
34
+ "image": "images/projects/portfolio.jpg",
35
+ "url": "https://developer-portfolio.com",
36
+ "github": "https://github.com/developer/portfolio",
37
+ "tags": ["Static Site", "CSS", "Vite"]
38
+ }
39
+ ]
40
+ }
@@ -0,0 +1,23 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ site.lang }}">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>{{ site.title }}</title>
7
+ <meta name="description" content="{{ site.description }}">
8
+ <meta name="author" content="{{ site.author }}">
9
+
10
+ <!-- SEO -->
11
+ <meta property="og:title" content="{{ site.title }}">
12
+ <meta property="og:description" content="{{ site.description }}">
13
+ <meta property="og:image" content="{{ seo.ogImage }}">
14
+ <meta property="og:type" content="{{ seo.ogType }}">
15
+ </head>
16
+ <body>
17
+ <!-- include: components/header.html -->
18
+
19
+ <!-- slot: content -->
20
+
21
+ <!-- include: components/footer.html -->
22
+ </body>
23
+ </html>