minimaz-cli 0.4.1 → 0.5.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.
@@ -26,8 +26,7 @@
26
26
 
27
27
  <link rel="icon" type="image/x-icon" href="../public/favicon.ico">
28
28
  <link rel="shortcut icon" href="../public/favicon.ico">
29
- <link rel="stylesheet" href="style.css">
30
- <link rel="stylesheet" href="styles/bootstrap-icons.css">
29
+ <link rel="stylesheet" href="../style.css">
31
30
  </head>
32
31
 
33
32
  <body>
@@ -37,7 +36,7 @@
37
36
  <!-- ======================================== -->
38
37
  <header>
39
38
  <img src="../public/assets/logo.webp" alt="Minimaz Logo">
40
- <h1 class="sr-only">Minimaz CLI <i class="icon lightning-fill"></i></h1>
39
+ <h1 class="sr-only">Minimaz CLI <i class="bi bi-lightning-fill"></i></h1>
41
40
  <p id="tagline">Minimal input. Clean output</p>
42
41
  <p class="version">Version: <strong>v0.4.0</strong></p>
43
42
  </header>
@@ -49,7 +48,7 @@
49
48
  <!-- ======================================== -->
50
49
  <section id="about" class="max-width">
51
50
  <h2>
52
- <i class="icon info-circle"></i>
51
+ <i class="bi bi-info-circle"></i>
53
52
  <span>About</span>
54
53
  </h2>
55
54
  <p>
@@ -66,7 +65,7 @@
66
65
 
67
66
  <section id="features" class="max-width">
68
67
  <h2>
69
- <i class="icon gear-fill"></i>
68
+ <i class="bi bi-gear-fill"></i>
70
69
  <span>Features</span>
71
70
  </h2>
72
71
 
@@ -92,21 +91,22 @@
92
91
  <!-- ======================================== -->
93
92
  <section id="installation" class="max-width">
94
93
  <h2>
95
- <i class="icon download"></i>
94
+ <i class="bi bi-download"></i>
96
95
  <span>Installation</span>
97
96
  </h2>
98
- <p>Run directly using <code>npx</code> (no global install required):</p>
97
+ <p>Run directly using <code>npx</code> or as a global module:</p>
99
98
 
100
99
  <pre><code>npx minimaz init my-site
101
100
  cd my-site
102
- npx minimaz build
103
- npx minimaz version</code></pre>
101
+ npx minimaz build</code></pre>
104
102
 
105
- <p>Using alias:</p>
103
+ <p>Global installation:</p>
104
+ <pre><code>npm install -g minimaz-cli
105
+ minimaz init my-site</code></pre>
106
106
 
107
- <pre><code>npx mz i my-site
108
- npx mz b
109
- npx mz v</code></pre>
107
+ <blockquote>
108
+ During <code>npm install</code>, a post-install script runs to finalize setup automatically.
109
+ </blockquote>
110
110
  </section>
111
111
 
112
112
  <!-- ======================================== -->
@@ -114,7 +114,7 @@ npx mz v</code></pre>
114
114
  <!-- ======================================== -->
115
115
  <section id="project-structure" class="max-width">
116
116
  <h2>
117
- <i class="icon folder2-open"></i>
117
+ <i class="bi bi-folder2-open"></i>
118
118
  <span>Project Structure</span>
119
119
  </h2>
120
120
 
@@ -133,98 +133,113 @@ npx mz v</code></pre>
133
133
  <!-- ======================================== -->
134
134
  <section id="configuration" class="max-width">
135
135
  <h2>
136
- <i class="icon sliders"></i>
136
+ <i class="bi bi-sliders"></i>
137
137
  <span>Configuration</span>
138
138
  </h2>
139
139
 
140
140
  <pre><code>{
141
- "outDir": "dist",
142
- "bundling": {
141
+ "input": {
142
+ "dir": "./src",
143
+ "mapping": {
144
+ "pages": "",
145
+ "public": ""
146
+ },
147
+ "externals": {
148
+ "node_modules/bootstrap-icons/font/fonts": "public/fonts"
149
+ },
150
+ "exclude": []
151
+ },
152
+ "output": {
153
+ "dir": "./dist",
154
+ "replace": {
155
+ "../public/": "/public/"
156
+ },
143
157
  "css": {
144
- "enabled": true,
145
- "outFile": "styles.css"
158
+ "bundling": true,
159
+ "minify": true
146
160
  },
147
161
  "js": {
148
- "enabled": true,
149
- "outFile": "scripts.js"
162
+ "bundling": true,
163
+ "minify": true
164
+ },
165
+ "html": {
166
+ "minify": true
150
167
  }
151
- },
152
- "minify": {
153
- "html": true,
154
- "css": true,
155
- "js": true,
156
- "ts": true
157
- },
158
- "replace": {
159
- "../public/": "public/"
160
- },
161
- "styles": [
162
- "style.css",
163
- "style-2.css"
164
- ],
165
- "scripts": [
166
- "script.js",
167
- "script-2.js"
168
- ],
169
- "folders": {
170
- "src": "",
171
- "public": "public"
172
168
  }
173
169
  }</code></pre>
174
170
 
175
171
  <ul>
176
- <li><strong>bundling.css/js</strong> → concatenate files</li>
177
- <li><strong>minify.html/css/js/ts</strong> → toggle per file type</li>
178
- <li><strong>styles/scripts</strong> → include external files</li>
179
- <li><strong>replace</strong> → asset path replacements</li>
180
- <li><strong>styles & scripts</strong> → external styles or scripts to add</li>
181
- <li><strong>folders</strong> → folders to scan</li>
172
+ <li><strong>input.externals</strong> → Include library assets without copying them into <code>src</code>
173
+ </li>
174
+ <li><strong>output.replace</strong> → Define asset path replacements for the build</li>
175
+ <li><strong>bundling</strong> → Scans imports/requires to merge code into single files</li>
182
176
  </ul>
183
177
  </section>
184
178
 
185
179
  <!-- ======================================== -->
186
180
  <!-- COMMANDS -->
187
181
  <!-- ======================================== -->
182
+ <!-- ======================================== -->
183
+ <!-- COMMANDS -->
184
+ <!-- ======================================== -->
188
185
  <section id="commands" class="max-width">
189
186
  <h2>
190
- <i class="icon command"></i>
187
+ <i class="bi bi-command"></i>
191
188
  <span>Commands</span>
192
189
  </h2>
193
190
 
194
- <pre><code># Build
195
- minimaz build
196
- mz b
197
-
198
- # Clear
199
- minimaz clear
200
- mz c
201
-
202
- # Config
203
- minimaz config # Create or update global configuration ~/.minimaz/
204
- mz config --overwrite # Overwrites default templates and settings.json
205
-
206
- # Init
207
- minimaz init &lt;project-name&gt;
208
- minimaz init &lt;project-name&gt; --template &lt;name&gt;
209
- minimaz init &lt;project-name&gt; --npm
210
- minimaz init &lt;project-name&gt; --git --gitprovider github --gitremote &lt;url&gt;
211
- mz i my-site -t template
212
-
213
- # Help
214
- minimaz help
215
- minimaz help build
216
- mz h build
217
-
218
- # Template management
219
- minimaz template &lt;path&gt;
220
- minimaz template --list
221
- minimaz template --delete &lt;name&gt;
222
- minimaz template --update &lt;name&gt;
223
- minimaz template --update
224
-
225
- # Version
226
- minimaz version
227
- mz v</code></pre>
191
+ <div class="command-group">
192
+ <h3>Build & Maintenance</h3>
193
+ <pre><code># Build and minify the project
194
+ minimaz build (mz b)
195
+
196
+ # Delete the dist folder
197
+ minimaz clear (mz c)
198
+
199
+ # Validate HTML, CSS, JS, TS, and JSON files
200
+ minimaz validate --path=/path/to/file</code></pre>
201
+ </div>
202
+
203
+ <div class="command-group">
204
+ <h3>Project Initialization</h3>
205
+ <pre><code># Initialize a new project
206
+ minimaz init &lt;project-name&gt; [options] (mz i)
207
+
208
+ Options:
209
+ -t, --template &lt;name&gt; # Use specific template (default: 'default')
210
+ --npm # Init npm (creates package.json & runs install)
211
+ --git # Initialize git repository
212
+ --gitprovider &lt;provider&gt; # 'github', 'gitlab', or existing repo URL
213
+ --gitremote &lt;url&gt; # Specify custom remote URL</code></pre>
214
+ </div>
215
+
216
+ <div class="command-group">
217
+ <h3>Template Management</h3>
218
+ <p class="small-text">Global templates are stored in <code>~/.minimaz/templates</code></p>
219
+ <pre><code># Save current folder as a new template
220
+ minimaz template [folder-path] (mz t)
221
+
222
+ # List all global templates
223
+ minimaz template --list (-l)
224
+
225
+ # Delete a template (asks for confirmation)
226
+ minimaz template --delete &lt;name&gt; (-d)
227
+
228
+ # Update templates from current folder or defaults
229
+ minimaz template --update [name] (-u)</code></pre>
230
+ </div>
231
+
232
+ <div class="command-group">
233
+ <h3>System & Help</h3>
234
+ <pre><code># Setup or overwrite global settings
235
+ minimaz config (mz config --overwrite)
236
+
237
+ # Show help for a specific command
238
+ minimaz help &lt;command&gt; (mz h build)
239
+
240
+ # Show Minimaz CLI version
241
+ minimaz version (mz v)</code></pre>
242
+ </div>
228
243
  </section>
229
244
 
230
245
  <!-- ======================================== -->
@@ -232,7 +247,7 @@ mz v</code></pre>
232
247
  <!-- ======================================== -->
233
248
  <section id="future-features" class="max-width">
234
249
  <h2>
235
- <i class="icon rocket-takeoff"></i>
250
+ <i class="bi bi-rocket-takeoff"></i>
236
251
  <span>Upcoming & Future Features</span>
237
252
  </h2>
238
253
 
@@ -363,7 +378,7 @@ mz v</code></pre>
363
378
  <!-- ======================================== -->
364
379
  <section id="templates" class="max-width">
365
380
  <h2>
366
- <i class="icon collection-fill"></i>
381
+ <i class="bi bi-collection-fill"></i>
367
382
  <span>Global Folder</span>
368
383
  </h2>
369
384
 
@@ -377,7 +392,7 @@ mz v</code></pre>
377
392
  <!-- ======================================== -->
378
393
  <section id="links" class="max-width">
379
394
  <h2>
380
- <i class="icon link-45deg"></i>
395
+ <i class="bi bi-link-45deg"></i>
381
396
  <span>Links</span>
382
397
  </h2>
383
398
  <ul>
@@ -1,321 +1,3 @@
1
- /* =========================================================
2
- ROOT VARIABLES
3
- ========================================================= */
4
- :root {
5
- color-scheme: dark;
6
-
7
- /* Base colors */
8
- --bg: #222;
9
- --fg: #999;
10
- --accent: #60b5e6;
11
- --accent2: #fdc503;
12
- --border: #222;
13
- --code-bg: #1a1a1a;
14
-
15
- /* UI components */
16
- --card-bg: #141414;
17
- --badge-bg: #1e1e1e;
18
-
19
- /* Typography */
20
- --font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
21
- --font-mono: "Fira Code", monospace;
22
-
23
- /* Layout */
24
- --radius-sm: 4px;
25
- --radius-md: 6px;
26
- --space-xs: 0.25rem;
27
- --space-sm: 0.5rem;
28
- --space-md: 1rem;
29
- --space-lg: 1.5rem;
30
- }
31
-
32
- /* =========================================================
33
- GLOBAL RESET
34
- ========================================================= */
35
- *,
36
- *::before,
37
- *::after {
38
- box-sizing: border-box;
39
- margin: 0;
40
- padding: 0;
41
- }
42
-
43
- html {
44
- font-size: 16px;
45
- scroll-behavior: smooth;
46
- line-height: 1.6;
47
- }
48
-
49
- body {
50
- background-color: var(--bg);
51
- color: var(--fg);
52
- font-family: var(--font-sans);
53
- margin: 0;
54
- }
55
-
56
- /* =========================================================
57
- STRUCTURAL ELEMENTS
58
- ========================================================= */
59
-
60
- section {
61
- margin: 3rem auto;
62
- }
63
-
64
- /* =========================================================
65
- HEADER
66
- ========================================================= */
67
- header {
68
- text-align: center;
69
- padding-block: var(--space-md);
70
- border-bottom: 1px solid var(--border);
71
- }
72
-
73
- header h1 {
74
- color: var(--accent);
75
- font-size: 2rem;
76
- margin-bottom: 0.25rem;
77
- }
78
-
79
- main {
80
- padding: 0 var(--space-md);
81
- }
82
-
83
- #tagline {
84
- color: var(--accent2);
85
- font-weight: 500;
86
- }
87
-
88
- /* =========================================================
89
- HEADINGS
90
- ========================================================= */
91
- h2 {
92
- display: flex;
93
- align-items: center;
94
- line-height: 1;
95
- gap: var(--space-md);
96
- color: var(--accent);
97
- margin-bottom: var(--space-md);
98
- }
99
-
100
- h2 i {
101
- padding: var(--space-md);
102
- background-color: var(--accent2);
103
- border-radius: 100%;
104
- color: var(--bg);
105
- }
106
-
107
- h2 span {
108
- padding: var(--space-md) 0;
109
- flex-grow: 1;
110
- border-bottom: 2px solid var(--accent);
111
- }
112
-
113
- h3 {
114
- color: var(--accent2);
115
- }
116
-
117
- /* =========================================================
118
- TYPOGRAPHY
119
- ========================================================= */
120
-
121
- ul {
122
- padding-left: 1.2rem;
123
- list-style: disc;
124
- }
125
-
126
- p {
127
- margin-bottom: var(--space-md);
128
- }
129
-
130
- p:last-child {
131
- margin-bottom: 0;
132
- }
133
-
134
- /* =========================================================
135
- CODE BLOCKS
136
- ========================================================= */
137
- code,
138
- pre {
139
- font-family: var(--font-mono);
140
- background-color: var(--code-bg);
141
- color: var(--accent2);
142
- }
143
-
144
- pre {
145
- padding: var(--space-md);
146
- border-radius: var(--radius-sm);
147
- overflow-x: auto;
148
- border: 1px solid var(--border);
149
- }
150
-
151
- /* =========================================================
152
- TABLES
153
- ========================================================= */
154
- table {
155
- width: 100%;
156
- border-collapse: collapse;
157
- margin-top: var(--space-md);
158
- }
159
-
160
- th,
161
- td {
162
- text-align: left;
163
- padding: var(--space-sm);
164
- border: 1px solid var(--border);
165
- }
166
-
167
- th {
168
- background-color: var(--card-bg);
169
- color: var(--accent2);
170
- }
171
-
172
- tr:nth-child(even) {
173
- background-color: #151515;
174
- }
175
-
176
- /* =========================================================
177
- LINKS
178
- ========================================================= */
179
- a {
180
- color: var(--accent);
181
- text-decoration: none;
182
- transition: color 0.2s ease;
183
- }
184
-
185
- a:hover,
186
- a:focus {
187
- color: var(--accent2);
188
- text-decoration: underline;
189
- outline: none;
190
- }
191
-
192
- /* =========================================================
193
- STATUS BADGES
194
- ========================================================= */
195
- .status {
196
- font-size: 0.75rem;
197
- padding: var(--space-xs) var(--space-sm);
198
- border-radius: var(--radius-sm);
199
- text-transform: uppercase;
200
- letter-spacing: 0.5px;
201
- background-color: var(--badge-bg);
202
- border: 1px solid var(--border);
203
- }
204
-
205
- .status-planned {
206
- color: var(--accent);
207
- }
208
-
209
- .status-inprogress {
210
- color: var(--accent2);
211
- }
212
-
213
- .status-research {
214
- color: #b98cff;
215
- }
216
-
217
- .status-idea {
218
- color: #999;
219
- }
220
-
221
- .sr-only {
222
- display: none;
223
- }
224
-
225
- .max-width {
226
- max-width: 900px;
227
- }
228
-
229
- /* =========================================================
230
- LOGO
231
- ========================================================= */
232
- header img {
233
- display: block;
234
- margin: 0 auto var(--space-sm);
235
- max-width: 180px;
236
- width: 100%;
237
- height: auto;
238
- }
239
-
240
- /* =========================================================
241
- FOOTER
242
- ========================================================= */
243
- /* =========================================================
244
- ENHANCED FOOTER
245
- ========================================================= */
246
-
247
- .site-footer {
248
- margin-top: 4rem;
249
- padding: var(--space-lg);
250
- border-top: 1px solid var(--border);
251
- font-size: 0.9rem;
252
- color: #999;
253
- }
254
-
255
- .footer-grid {
256
- display: grid;
257
- gap: var(--space-lg);
258
- margin-bottom: 2rem;
259
- }
260
-
261
- @media (min-width: 700px) {
262
- .footer-grid {
263
- grid-template-columns: repeat(3, 1fr);
264
- }
265
- }
266
-
267
- .footer-col h3,
268
- .footer-col h4 {
269
- margin-bottom: var(--space-sm);
270
- color: var(--accent);
271
- }
272
-
273
- .footer-col h4 {
274
- padding-bottom: var(--space-sm);
275
- border-bottom: 2px solid var(--accent);
276
- }
277
-
278
- .footer-col p {
279
- margin-bottom: var(--space-sm);
280
- }
281
-
282
- .footer-col ul {
283
- list-style: none;
284
- padding: 0;
285
- }
286
-
287
- .footer-col li {
288
- margin-top: var(--space-xs);
289
- }
290
-
291
- .footer-col a {
292
- color: var(--accent);
293
- }
294
-
295
- .footer-col a:hover {
296
- color: var(--accent2);
297
- }
298
-
299
- .footer-bottom {
300
- border-top: 1px solid var(--border);
301
- padding-top: 1rem;
302
- text-align: center;
303
- font-size: 0.85rem;
304
- color: #777;
305
- }
306
-
307
-
308
- /* =========================================================
309
- ACCESSIBILITY
310
- ========================================================= */
311
- @media (prefers-reduced-motion: reduce) {
312
- html {
313
- scroll-behavior: auto;
314
- }
315
-
316
- *,
317
- *::before,
318
- *::after {
319
- transition: none !important;
320
- }
321
- }
1
+ @import "./styles/base.css";
2
+ @import "./styles/bootstrap-icons.css";
3
+ @import "./styles/grid-layout.css";