create-pugkit 1.0.0-beta.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.
@@ -0,0 +1,258 @@
1
+ // ========================================
2
+ // Reset & Base
3
+ // ========================================
4
+ :root {
5
+ --color-primary: #a86454;
6
+ --color-primary-dark: #8a4f42;
7
+ --color-text: #2d1f1c;
8
+ --color-bg: #fff;
9
+ --color-bg-muted: #fdf5f3;
10
+ --color-border: #e8cfc9;
11
+ --font-family: -apple-system, 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Helvetica Neue', 'Arial', sans-serif;
12
+ }
13
+
14
+ *,
15
+ *::before,
16
+ *::after {
17
+ box-sizing: border-box;
18
+ }
19
+
20
+ body {
21
+ padding: 0;
22
+ margin: 0;
23
+ font-family: var(--font-family);
24
+ font-size: 16px;
25
+ line-height: 1.6;
26
+ color: var(--color-text);
27
+ background-color: var(--color-bg);
28
+ }
29
+
30
+ a {
31
+ color: var(--color-primary);
32
+ text-decoration: none;
33
+ }
34
+
35
+ img {
36
+ max-width: 100%;
37
+ height: auto;
38
+ vertical-align: middle;
39
+ }
40
+
41
+ // ========================================
42
+ // Layout
43
+ // ========================================
44
+ .c-header {
45
+ display: flex;
46
+ align-items: center;
47
+ justify-content: space-between;
48
+ max-width: 1200px;
49
+ padding: 1rem;
50
+ margin: 0 auto;
51
+ background-color: var(--color-bg);
52
+
53
+ &__logo {
54
+ margin: 0;
55
+ font-size: 1.5rem;
56
+ }
57
+
58
+ &__logo-link {
59
+ font-weight: 700;
60
+ color: var(--color-text);
61
+ text-decoration: none;
62
+ }
63
+
64
+ &__nav-list {
65
+ display: flex;
66
+ gap: 2rem;
67
+ padding: 0;
68
+ margin: 0;
69
+ list-style: none;
70
+ }
71
+
72
+ &__nav-link {
73
+ font-weight: 500;
74
+ color: var(--color-text);
75
+ }
76
+ }
77
+
78
+ main {
79
+ min-height: calc(100svh - 200px);
80
+ }
81
+
82
+ .c-footer {
83
+ padding: 2rem 1rem;
84
+ margin-top: 4rem;
85
+ text-align: center;
86
+
87
+ &__copyright {
88
+ margin: 0;
89
+ font-size: 0.875rem;
90
+ color: var(--color-primary-dark);
91
+ }
92
+ }
93
+
94
+ // ========================================
95
+ // Components
96
+ // ========================================
97
+ .hero {
98
+ padding: 4rem 0;
99
+ color: #fff;
100
+ text-align: center;
101
+ background-color: var(--color-primary);
102
+
103
+ &__inner {
104
+ max-width: 800px;
105
+ padding: 0 1rem;
106
+ margin: 0 auto;
107
+ }
108
+
109
+ &__title {
110
+ margin: 0 0 1rem;
111
+ font-size: 3rem;
112
+ font-weight: 700;
113
+ }
114
+
115
+ &__text {
116
+ margin: 0 0 2rem;
117
+ font-size: 1.25rem;
118
+ opacity: 0.9;
119
+ }
120
+
121
+ &__button {
122
+ display: inline-block;
123
+ padding: 0.75rem 2rem;
124
+ font-weight: 600;
125
+ color: var(--color-primary);
126
+ background-color: #fff;
127
+ border-radius: 4px;
128
+ }
129
+ }
130
+
131
+ .features {
132
+ padding: 4rem 0;
133
+
134
+ &__inner {
135
+ max-width: 1200px;
136
+ padding: 0 1rem;
137
+ margin: 0 auto;
138
+ }
139
+
140
+ &__title {
141
+ margin: 0 0 3rem;
142
+ font-size: 2rem;
143
+ text-align: center;
144
+ }
145
+
146
+ &__list {
147
+ display: grid;
148
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
149
+ gap: 2rem;
150
+ }
151
+
152
+ &__item {
153
+ padding: 2rem;
154
+ border: 2px solid var(--color-border);
155
+ border-radius: 8px;
156
+ }
157
+
158
+ &__item-title {
159
+ margin: 0 0 1rem;
160
+ font-size: 1.25rem;
161
+ }
162
+
163
+ &__item-text {
164
+ margin: 0;
165
+ color: var(--color-primary-dark);
166
+ }
167
+ }
168
+
169
+ .page {
170
+ padding: 4rem 0;
171
+
172
+ &__inner {
173
+ max-width: 800px;
174
+ padding: 0 1rem;
175
+ margin: 0 auto;
176
+ }
177
+
178
+ &__title {
179
+ padding-bottom: 0.5rem;
180
+ margin: 0 0 2rem;
181
+ font-size: 2.5rem;
182
+ }
183
+
184
+ &__content {
185
+ line-height: 1.8;
186
+ }
187
+
188
+ &__text {
189
+ margin: 0 0 1.5rem;
190
+ }
191
+
192
+ &__heading {
193
+ margin: 2rem 0 1rem;
194
+ font-size: 1.5rem;
195
+ color: var(--color-primary);
196
+ }
197
+
198
+ &__list {
199
+ padding-left: 1.5rem;
200
+ margin: 0 0 1.5rem;
201
+ }
202
+
203
+ &__list-item {
204
+ margin: 0.5rem 0;
205
+ }
206
+
207
+ &__code {
208
+ padding: 1rem;
209
+ overflow-x: auto;
210
+ font-family: 'Courier New', monospace;
211
+ font-size: 0.875rem;
212
+ line-height: 1.5;
213
+ background-color: var(--color-bg-muted);
214
+ border: 1px solid var(--color-border);
215
+ border-radius: 4px;
216
+ }
217
+
218
+ &__buttons {
219
+ margin-top: 3rem;
220
+ text-align: center;
221
+ }
222
+
223
+ &__button {
224
+ display: inline-block;
225
+ padding: 0.75rem 2rem;
226
+ font-weight: 600;
227
+ color: #fff;
228
+ background-color: var(--color-primary);
229
+ border-radius: 4px;
230
+ }
231
+ }
232
+
233
+ // ========================================
234
+ // Responsive
235
+ // ========================================
236
+ @media (width <= 768px) {
237
+ .hero {
238
+ &__title {
239
+ font-size: 2rem;
240
+ }
241
+
242
+ &__text {
243
+ font-size: 1rem;
244
+ }
245
+ }
246
+
247
+ .c-header {
248
+ &__nav-list {
249
+ gap: 1rem;
250
+ }
251
+ }
252
+
253
+ .features {
254
+ &__list {
255
+ grid-template-columns: 1fr;
256
+ }
257
+ }
258
+ }
@@ -0,0 +1,11 @@
1
+ const site = {
2
+ start() {
3
+ try {
4
+ console.log('サイトの初期化に成功')
5
+ } catch (error) {
6
+ console.error('サイト初期化:', error)
7
+ }
8
+ }
9
+ }
10
+
11
+ document.addEventListener('DOMContentLoaded', () => site.start())
@@ -0,0 +1,30 @@
1
+
2
+ extends /_templates/_layout
3
+
4
+ block append vars
5
+ -
6
+ metaData.pageTitle = ''
7
+ metaData.pageDescription = '静的サイト制作に特化したビルドツール。納品向きの綺麗なHTMLと、構成に制約のないアセット出力が可能です。'
8
+ metaData.pageType = 'website'
9
+
10
+ block contents
11
+ section.hero
12
+ .hero__inner
13
+ p.hero__text 静的サイト制作に特化したビルドツール。
14
+ br
15
+ | 納品向きの綺麗なHTMLと、構成に制約のないアセット出力が可能です。
16
+ a.hero__button(href=`${Builder.dir}about/`) 詳細を見る
17
+
18
+ section.features
19
+ .features__inner
20
+ h2.features__title Features
21
+ .features__list
22
+ .features__item
23
+ h3.features__item-title 綺麗なHTML出力
24
+ p.features__item-text 納品・保守に適した、サーバーに依存しないクリーンなコードを出力します。
25
+ .features__item
26
+ h3.features__item-title 制約のないアセット出力
27
+ p.features__item-text CSS・JS・画像のディレクトリ構成やファイル数に制約なし。要件に合わせて自由に組み立てられます。
28
+ .features__item
29
+ h3.features__item-title 柔軟な設定
30
+ p.features__item-text pugkit.config.mjsで開発サーバーのポートやサブディレクトリ、画像最適化の方式などを制御できます。