j1-template 2024.3.12 → 2024.3.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/README.md +560 -577
- data/lib/starter_web/_config.yml +1 -1
- data/lib/starter_web/_data/modules/navigator_menu.yml +803 -831
- data/lib/starter_web/_data/templates/feed.xml +1 -1
- data/lib/starter_web/_plugins/index/lunr.rb +1 -1
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/tools/previewer/_includes/attributes.asciidoc +16 -0
- data/lib/starter_web/pages/public/tour/_includes/attributes.asciidoc +2 -2
- data/lib/starter_web/pages/public/tour/playback_audio.adoc +188 -197
- data/lib/starter_web/pages/public/tour/present_images.adoc +2 -1
- metadata +2 -8
- data/lib/starter_web/pages/public/tools/previewer/_includes/documents/amplitudejs.large.css.asciidoc +0 -505
- data/lib/starter_web/pages/public/tools/previewer/_includes/documents/frame.hover.html +0 -69
- data/lib/starter_web/pages/public/tools/previewer/_includes/documents/frame.nested.html +0 -75
- data/lib/starter_web/pages/public/tools/previewer/_includes/documents/frame.textarea.html +0 -57
- data/lib/starter_web/pages/public/tools/previewer/_includes/documents/my.content.html +0 -112
- data/lib/starter_web/pages/public/tools/previewer/preview_amplitudejs.adoc +0 -172
data/lib/starter_web/README.md
CHANGED
@@ -1,577 +1,560 @@
|
|
1
|
-
# All you need for your new amazing site
|
2
|
-
|
3
|
-
Jekyll meets Bootstrap - and makes a lot of friends. J1
|
4
|
-
the best of
|
5
|
-
`Jekyll`. J1 is
|
6
|
-
private or professional use. Explore this site to learn what's possible if
|
7
|
-
you go to the Jekyll Way.
|
8
|
-
|
9
|
-
![Screenshot](https://github.com/jekyll-one-org/j1-template/raw/main/
|
10
|
-
|
11
|
-
* Fully Responsive. J1
|
12
|
-
devices for best results on PCs, Tablets, and SmartPhones.
|
13
|
-
* Full Bootstpap V5 support. Current Technology and Design. Excellent
|
14
|
-
performance running desktop and mobile websites. Use Jekyll One to
|
15
|
-
present your content at its best.
|
16
|
-
* Start in no time. No programming is needed to start using J1. The
|
17
|
-
Template provides a large number of building blocks to create modern
|
18
|
-
web pages in minutes.
|
19
|
-
|
20
|
-
**Create powerful modern Static Webs: Secure, Flexible and Fast.**
|
21
|
-
|
22
|
-
Have fun!
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
*
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
*
|
53
|
-
*
|
54
|
-
* Asciidoctor
|
55
|
-
*
|
56
|
-
*
|
57
|
-
* Responsive
|
58
|
-
|
59
|
-
*
|
60
|
-
*
|
61
|
-
*
|
62
|
-
*
|
63
|
-
*
|
64
|
-
*
|
65
|
-
*
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
*
|
72
|
-
*
|
73
|
-
*
|
74
|
-
*
|
75
|
-
*
|
76
|
-
*
|
77
|
-
*
|
78
|
-
*
|
79
|
-
*
|
80
|
-
*
|
81
|
-
*
|
82
|
-
*
|
83
|
-
*
|
84
|
-
*
|
85
|
-
*
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
*
|
90
|
-
*
|
91
|
-
*
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
*
|
101
|
-
*
|
102
|
-
*
|
103
|
-
*
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
*
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
### Development packages
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
```
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
```
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
2023-02-28 18:29:14 - RESET: Clean up projects files ..
|
562
|
-
2023-02-28 18:29:14 - RESET: Remove bundle config folder ..
|
563
|
-
2023-02-28 18:29:15 - RESET: Remove log folder ..
|
564
|
-
2023-02-28 18:29:15 - RESET: Remove etc folder ..
|
565
|
-
2023-02-28 18:29:15 - RESET: Remove various log files ..
|
566
|
-
2023-02-28 18:29:16 - RESET: Remove lock files ..
|
567
|
-
2023-02-28 18:29:16 - RESET: Clean up utility server ..
|
568
|
-
2023-02-28 18:29:21 - RESET: done.
|
569
|
-
2023-02-28 18:29:21 - RESET: The project reset finished successfully.
|
570
|
-
2023-02-28 18:29:21 - RESET: To setup the project, run: j1 setup
|
571
|
-
```
|
572
|
-
|
573
|
-
Start your work from the scratch by running the `setup` task again:
|
574
|
-
|
575
|
-
j1 setup
|
576
|
-
|
577
|
-
Happy Jekylling!
|
1
|
+
# All you need for your new amazing site
|
2
|
+
|
3
|
+
Jekyll meets Bootstrap - and makes a lot of friends. J1 Theme combines
|
4
|
+
the best of OpenSource software for the Web and the Web site generator
|
5
|
+
`Jekyll`. J1 is OpenSource, and so are the packaged modules - no pain for
|
6
|
+
private or professional use. Explore this site to learn what's possible if
|
7
|
+
you go to the Jekyll Way.
|
8
|
+
|
9
|
+
![Screenshot](https://github.com/jekyll-one-org/j1-template/raw/main/j1-template-screenshot.jpg "J1 Template")
|
10
|
+
|
11
|
+
* Fully Responsive. J1 Theme supports modern web browsers on all
|
12
|
+
devices for best results on PCs, Tablets, and SmartPhones.
|
13
|
+
* Full Bootstpap V5 support. Current Technology and Design. Excellent
|
14
|
+
performance running desktop and mobile websites. Use Jekyll One to
|
15
|
+
present your content at its best.
|
16
|
+
* Start in no time. No programming is needed to start using J1. The
|
17
|
+
Template provides a large number of building blocks to create modern
|
18
|
+
web pages in minutes.
|
19
|
+
|
20
|
+
**Create powerful modern Static Webs: Secure, Flexible and Fast.**
|
21
|
+
|
22
|
+
Have fun!
|
23
|
+
|
24
|
+
|
25
|
+
# Live Demo
|
26
|
+
|
27
|
+
The template comes with a Web included, a skeleton for your new Web site.
|
28
|
+
This Web is called the **Starter Web**, a general-purpose Website scaffold to
|
29
|
+
be modified for your needs. The built-in Starter Web can be visited live
|
30
|
+
at [Netlify](https://starter.jekyll.one/).
|
31
|
+
|
32
|
+
**Have fun exploring what a modern static web, a Jekyll site can do**!
|
33
|
+
|
34
|
+
|
35
|
+
# Features
|
36
|
+
|
37
|
+
The template combines the best free software for the web. Jekyll One Theme
|
38
|
+
is OpenSource and the modules included are free to use as well. No license
|
39
|
+
issues for private or professional use.
|
40
|
+
|
41
|
+
* Fully Responsive. J1 Theme supports modern web browsers on all
|
42
|
+
devices for best results on PCs, Tablets, and SmartPhones.
|
43
|
+
* Full Bootstpap V5 support. Current Technology and Design. Excellent
|
44
|
+
performance running desktop and mobile websites. Use Jekyll One to
|
45
|
+
present your content at its best.
|
46
|
+
* Start in no time. No programming is needed to start using J1. The
|
47
|
+
Template provides a large number of building blocks to create modern
|
48
|
+
web pages in minutes.
|
49
|
+
|
50
|
+
## General
|
51
|
+
|
52
|
+
* Jekyll V4 support
|
53
|
+
* Ruby V3 support
|
54
|
+
* Asciidoc (Asciidoctor) and Markdown support
|
55
|
+
* Asciidoctor plugins included
|
56
|
+
* Bootstrap V5
|
57
|
+
* Responsive Design
|
58
|
+
* Material Design
|
59
|
+
* Responsive Text
|
60
|
+
* Responsive HTML tables
|
61
|
+
* Compressed HTML, CSS and Javascript support
|
62
|
+
* Themes support (Bootswatch)
|
63
|
+
* Icon Font support (MDI, FA, Iconify, Twitter Emoji)
|
64
|
+
* Themeable source code highlighting (Rouge)
|
65
|
+
* Desktop and Mobile Web and Navigation ready
|
66
|
+
* Fully configurable
|
67
|
+
* Highest Google Lighthouse scores
|
68
|
+
|
69
|
+
## Modules and Extensions
|
70
|
+
|
71
|
+
* Bootstrap extensions included
|
72
|
+
* Asciidoctor extensions included
|
73
|
+
* Smooth-srcoll support
|
74
|
+
* Full-text search engine included (Lunr)
|
75
|
+
* Blog Post navigation included
|
76
|
+
* GDPR compatible cookie consent module included
|
77
|
+
* Translator module (Google, Deepl) included
|
78
|
+
* Clipboard module included
|
79
|
+
* Floating Action Buttons included
|
80
|
+
* Navigation modules included
|
81
|
+
* Lightbox modules included
|
82
|
+
* Gallery modules included
|
83
|
+
* Carousel modules included
|
84
|
+
* Audio Player modules included (AmplitudeJS)
|
85
|
+
* Video Player modules included (VideoJS)
|
86
|
+
|
87
|
+
## Addons and Integrations
|
88
|
+
|
89
|
+
* Featured example content included
|
90
|
+
* Royalty free images included
|
91
|
+
* Comment provider support for Hyvor and Disqus
|
92
|
+
* Google Analytics support
|
93
|
+
* Deploy on Github Pages (source only), Netlify and Heroku ready
|
94
|
+
|
95
|
+
|
96
|
+
# Supported platforms
|
97
|
+
|
98
|
+
J1 is supported on all current x64-based OS:
|
99
|
+
|
100
|
+
* Windows 10, build >= 1903
|
101
|
+
* Windows WSL 2
|
102
|
+
* Linux, kernel version >= 4.15 (e.g. Ubuntu 18.x LTS)
|
103
|
+
* OSX, version >= 10.10.5 (Yosemite)
|
104
|
+
|
105
|
+
Note that 32-bit versions (x32) are generally **not** supported for all
|
106
|
+
platforms.
|
107
|
+
|
108
|
+
|
109
|
+
# Development languages and tools
|
110
|
+
|
111
|
+
To run the Development System for J1 Theme, the following languages and
|
112
|
+
tools expected to be in place with your OS:
|
113
|
+
|
114
|
+
* Ruby language, version v3
|
115
|
+
* Javascript (NodeJS), version >= 18
|
116
|
+
* NPM, version >= 8.5
|
117
|
+
* YARN, version >= 1.22
|
118
|
+
* Git, version >= 2.29
|
119
|
+
|
120
|
+
<1> required only for **full** Jupyter Notebook support
|
121
|
+
|
122
|
+
Note: More current or older versions may work, but not tested.
|
123
|
+
|
124
|
+
|
125
|
+
## Development packages
|
126
|
+
|
127
|
+
For some of the componentsJ1 is using, a working C/C++ development environment
|
128
|
+
is needed to compile platform-specific libraries. Ensure that all dev packages
|
129
|
+
are installed for your OS (Linux, OSX, or Windows).
|
130
|
+
|
131
|
+
### Development packages for Windows
|
132
|
+
|
133
|
+
For Ruby on Windows, a installation using RubyInstaller is recommended. A
|
134
|
+
current Ruby of version **3.1** is available at the
|
135
|
+
[RubyInstaller](https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.2-1/rubyinstaller-devkit-3.1.2-1-x64.exe)
|
136
|
+
site.
|
137
|
+
|
138
|
+
Note, to automatically install a development environment for Ruby on Windows,
|
139
|
+
a x64 version of Ruby should be installed that is already bundled with a
|
140
|
+
**DEVKIT** (MSYS2 toolchain).
|
141
|
+
|
142
|
+
### Development packages on Linux (Ubuntu)
|
143
|
+
|
144
|
+
In order to install all required development components on e.g. Ubuntu
|
145
|
+
you run:
|
146
|
+
|
147
|
+
``` sh
|
148
|
+
sudo apt-get -y install \
|
149
|
+
gcc g++ make \
|
150
|
+
autoconf bison build-essential \
|
151
|
+
libssl-dev \
|
152
|
+
libyaml-dev \
|
153
|
+
libreadline-dev \
|
154
|
+
zlib1g-dev \
|
155
|
+
libncurses5-dev \
|
156
|
+
libffi-dev \
|
157
|
+
libgdbm-dev
|
158
|
+
```
|
159
|
+
|
160
|
+
To install the required languages and tools, if not already in place, the
|
161
|
+
following commands can be used to do so:
|
162
|
+
|
163
|
+
``` sh
|
164
|
+
sudo apt-get -y install \
|
165
|
+
curl \
|
166
|
+
git-all \
|
167
|
+
nodejs \
|
168
|
+
ruby
|
169
|
+
```
|
170
|
+
|
171
|
+
Additionally, for Ruby and NodeJS the dev-packages are to be installed to
|
172
|
+
make all header files available for a working C/C++ development environment:
|
173
|
+
|
174
|
+
``` sh
|
175
|
+
sudo apt-get -y install \
|
176
|
+
nodejs-dev \
|
177
|
+
ruby-dev
|
178
|
+
```
|
179
|
+
|
180
|
+
Note that priviliged (administrative) user rights are needed to install
|
181
|
+
system-wide software packages for the OS.
|
182
|
+
|
183
|
+
### Development packages on OSX
|
184
|
+
|
185
|
+
For all OSX system, the installation of the Apple Developer Tools (XCode)
|
186
|
+
is expected. Development tools like Ruby, NodeJS, or the bash comes
|
187
|
+
with the OS are **not** recommended to use. Most of the software comes in
|
188
|
+
quite old versions and therefor unusable for J1 development.
|
189
|
+
|
190
|
+
To install recommended versions, the easiest way to install the missing
|
191
|
+
software is [Homebrew](https://brew.sh/). A lot of helpful information
|
192
|
+
how to manage package installations using Homebrew can be found on the
|
193
|
+
internet.
|
194
|
+
|
195
|
+
Beside the base installation of the recommend tools, all other recommendations
|
196
|
+
for Linux systems are for OSX the same.
|
197
|
+
|
198
|
+
## Upgrades needed for all platforms
|
199
|
+
|
200
|
+
If Ruby and NodeJS are in place, some packeages are to be upgraded to more
|
201
|
+
current versions. Install all packages system-wide with their respective
|
202
|
+
product installation pathes.
|
203
|
+
|
204
|
+
### Upgrades needed for Ruby <= v2.7
|
205
|
+
|
206
|
+
Install latest bundler for Ruby:
|
207
|
+
|
208
|
+
``` sh
|
209
|
+
gem install bundler --no-document
|
210
|
+
```
|
211
|
+
|
212
|
+
Install latest RubyGems for Ruby:
|
213
|
+
|
214
|
+
``` sh
|
215
|
+
gem install rubygems-update --no-document
|
216
|
+
update_rubygems --no-document
|
217
|
+
gem update --system
|
218
|
+
```
|
219
|
+
|
220
|
+
### Upgrades needed for NodeJS
|
221
|
+
|
222
|
+
NodeJS comes with NPM pre-installed. The native CLI for the NodeJS package
|
223
|
+
management is `npm`. Besides `npm` there's another quite handy CLI for NPM
|
224
|
+
available: *Yarn*.
|
225
|
+
|
226
|
+
The CLI `yarn` is developed at Facebook and can be used as a replacement
|
227
|
+
for `npm`. From a top-level perspective, both package management clients behave
|
228
|
+
pretty much the same. The syntax `yarn` uses is shorter in writing, making
|
229
|
+
the command-line look a bit more natural. Therefore, we prefer to use `yarn`.
|
230
|
+
|
231
|
+
NOTE: Yarn adds some additional features to the NodeJS package management
|
232
|
+
implemented for the needs at Facebook. Regarding the J1 development system,
|
233
|
+
those add-ons are neither needed nor used.
|
234
|
+
|
235
|
+
Install latest NPM and Yarn packages for NodeJS:
|
236
|
+
|
237
|
+
``` sh
|
238
|
+
npm install -g npm@latest
|
239
|
+
npm install -g yarn@latest
|
240
|
+
```
|
241
|
+
|
242
|
+
|
243
|
+
# Setting up the project
|
244
|
+
|
245
|
+
Running the J1 Theme project is very simple:
|
246
|
+
|
247
|
+
* Downlad the repo
|
248
|
+
* Setup the project
|
249
|
+
* Run and develop the buildin starter web
|
250
|
+
|
251
|
+
## Checkout the Repo
|
252
|
+
|
253
|
+
The repo for the J1 Theme development system is published on Github.
|
254
|
+
You can get it from Github by cloning the repository using `git`:
|
255
|
+
|
256
|
+
``` sh
|
257
|
+
git clone https://github.com/jekyll-one-org/j1-template.git
|
258
|
+
```
|
259
|
+
|
260
|
+
The repo gets written to folder `j1-template`. Have a look and browse the
|
261
|
+
folder. You'll see a structure like this:
|
262
|
+
|
263
|
+
j1 development repo
|
264
|
+
```
|
265
|
+
├──── .git
|
266
|
+
│ └─── packages
|
267
|
+
│ ├── 100_theme_css
|
268
|
+
│ ├── 200_theme_js
|
269
|
+
│ ├── 300_theme_src
|
270
|
+
│ ├── 400_theme_site
|
271
|
+
│ ├── 500_theme_gem
|
272
|
+
│ └─── 600_theme_utilsrv
|
273
|
+
├──── .gitattributes
|
274
|
+
├──── .gitignore
|
275
|
+
├──── lerna.json
|
276
|
+
├──── LICENSE.md
|
277
|
+
├──── package.json
|
278
|
+
└──── README.md
|
279
|
+
```
|
280
|
+
|
281
|
+
J1 Theme is a so-called *multi-package* project, a *Monorepo* managed by
|
282
|
+
Lerna. A Monorepo is a strategy where multiple (sub-)projects are stored in a
|
283
|
+
single repository instead of putting them into individual repositories.
|
284
|
+
|
285
|
+
All development *tasks* are defined as NPM *scripts* with the top-level project
|
286
|
+
config file `package.json`. For each package, package-level config files
|
287
|
+
are used having the same name `package.json` to manage specific tasks like
|
288
|
+
the generation of CSS and JS files, or creating the buildin starter web.
|
289
|
+
|
290
|
+
All **base** development *tasks* are defined with the top-level project
|
291
|
+
configuration; no need to dive into all the package-level configurations.
|
292
|
+
All is managed by Lerna, based on simple top-level *tasks*.
|
293
|
+
|
294
|
+
## Initialize the project
|
295
|
+
|
296
|
+
Initializing the project is managed by the top-level *task* `setup`. A bunch
|
297
|
+
of sub-tasks are fired, all of the managed by Lerna.
|
298
|
+
|
299
|
+
Let's start ...
|
300
|
+
|
301
|
+
``` sh
|
302
|
+
yarn setup
|
303
|
+
```
|
304
|
+
|
305
|
+
Because a lot of sub-tasks getting started for a (first) `setup`, see below
|
306
|
+
the output as a summary :
|
307
|
+
|
308
|
+
``` sh
|
309
|
+
Set up development system for first use ..
|
310
|
+
Bootstrap base modules ..
|
311
|
+
done.
|
312
|
+
Create project folders ..
|
313
|
+
done.
|
314
|
+
|
315
|
+
Create starter config files ..
|
316
|
+
lerna info Executing command in 1 package: "yarn run jekyll_files"
|
317
|
+
site: $ run-s -s jekyll_files:*
|
318
|
+
lerna success run Ran npm script 'jekyll_files' in 1 package in 2.2s:
|
319
|
+
lerna success - site
|
320
|
+
Bootstrap project modules ..
|
321
|
+
done.
|
322
|
+
|
323
|
+
Initialize development packages ..
|
324
|
+
lerna info Updating package.json
|
325
|
+
lerna info Updating lerna.json
|
326
|
+
lerna info Creating packages directory
|
327
|
+
lerna success Initialized Lerna files
|
328
|
+
lerna info Bootstrapping 6 packages
|
329
|
+
lerna info Installing external dependencies
|
330
|
+
lerna info Symlinking packages and binaries
|
331
|
+
lerna success Bootstrapped 6 packages
|
332
|
+
done.
|
333
|
+
|
334
|
+
Detect operating system ..
|
335
|
+
OS detected as: Windows_NT
|
336
|
+
Create links for shared resources ..
|
337
|
+
lerna info Executing command in 1 package: "yarn run setup-links"
|
338
|
+
site: $ cross-var if-env OS=Windows_NT && run-s -s link-default || cross-env OS=$(echo $(getos)) run-s -s switch-links
|
339
|
+
lerna success run Ran npm script 'setup-links' in 1 package in 2.4s:
|
340
|
+
lerna success - site
|
341
|
+
lerna info Executing command in 3 packages: "yarn run build"
|
342
|
+
css: $ npm run clean
|
343
|
+
js: $ npm run clean && npm run lint
|
344
|
+
site: $ run-s -s jekyll_build:*
|
345
|
+
css: > css@2024.3.8 clean path_to_\j1-template\packages\100_theme_css
|
346
|
+
css: > run-p -s clean:*
|
347
|
+
js: > js@2024.3.8 clean path_to_\j1-template\packages\200_theme_js
|
348
|
+
js: > run-p -s clean:*
|
349
|
+
site: > site@2024.3.8 bundle path_to_\j1-template\packages\400_theme_site
|
350
|
+
site: > run-s -s bundler:*
|
351
|
+
css: $ npm run build_css && npm run uglify_css
|
352
|
+
site: Create bundle ..
|
353
|
+
css: > css@2024.3.8 build_css path_to_\j1-template\packages\100_theme_css
|
354
|
+
css: > run-p -s theme_css:*
|
355
|
+
js: > js@2024.3.8 lint path_to_\j1-template\packages\200_theme_js
|
356
|
+
js: > run-p -s lint:*
|
357
|
+
css: Rendering Complete, saving .css file...
|
358
|
+
css: Wrote CSS to path_to_\j1-template\packages\100_theme_css\dist\icon-fonts\fontawesome.css
|
359
|
+
css: Rendering Complete, saving .css file...
|
360
|
+
css: Wrote CSS to path_to_\j1-template\packages\100_theme_css\dist\icon-fonts\iconify.css
|
361
|
+
css: Rendering Complete, saving .css file...
|
362
|
+
css: Rendering Complete, saving .css file...
|
363
|
+
css: Wrote CSS to path_to_\j1-template\packages\100_theme_css\dist\animate.css
|
364
|
+
..
|
365
|
+
js: $ npm run build-js
|
366
|
+
css: Rendering Complete, saving .css file...
|
367
|
+
css: Wrote CSS to path_to_\j1-template\packages\100_theme_css\dist\themes\uno-dark\bootstrap.css
|
368
|
+
css: Rendering Complete, saving .css file...
|
369
|
+
css: Wrote CSS to path_to_\j1-template\packages\100_theme_css\dist\icon-fonts\materialdesign.css
|
370
|
+
css: Rendering Complete, saving .css file...
|
371
|
+
css: Wrote CSS to path_to_\j1-template\packages\100_theme_css\dist\themes\uno-light\bootstrap.css
|
372
|
+
js: > js@2024.3.8 build-js path_to_\j1-template\packages\200_theme_js
|
373
|
+
js: > cross-var webpack --mode production --config $npm_package_wp_build
|
374
|
+
site: Bundle Rubies using user path ..
|
375
|
+
css: > css@2024.3.8 uglify_css path_to_\j1-template\packages\100_theme_css
|
376
|
+
css: > run-p -s uglify_css:*
|
377
|
+
js: $ npm run uglify-js && npm run deploy
|
378
|
+
js: > js@2024.3.8 uglify-js path_to_\j1-template\packages\200_theme_js
|
379
|
+
js: > terser dist/template.js -o dist/template.min.js -m --source-map
|
380
|
+
..
|
381
|
+
site: Fetching gem metadata from https://rubygems.org/..........
|
382
|
+
site: Fetching gem metadata from https://rubygems.org/.
|
383
|
+
site: Resolving dependencies...
|
384
|
+
site: Using rake 12.3.3
|
385
|
+
site: Using public_suffix 4.0.6
|
386
|
+
site: Using addressable 2.8.0
|
387
|
+
site: Using asciidoctor 1.5.8
|
388
|
+
site: Using rouge 3.26.0
|
389
|
+
..
|
390
|
+
site: Bundle complete! 31 Gemfile dependencies, 88 gems now installed.
|
391
|
+
..
|
392
|
+
site: Configuration file: path_to_/j1-template/packages/400_theme_site/_config.yml
|
393
|
+
site: Source: path_to_/j1-template/packages/400_theme_site
|
394
|
+
site: Destination: path_to_/j1-template/packages/400_theme_site/_site
|
395
|
+
site: Incremental build: enabled
|
396
|
+
site: Generating...
|
397
|
+
site: J1 QuickSearch: creating search index ...
|
398
|
+
site: J1 QuickSearch: finished, index ready.
|
399
|
+
site: J1 Paginator: autopages, disabled|not configured
|
400
|
+
site: J1 Paginator: pagination enabled, start processing ...
|
401
|
+
site: J1 Paginator: finished, processed 1 pagination page|s
|
402
|
+
|
403
|
+
site: Build Process Summary:
|
404
|
+
site: | PHASE | TIME |
|
405
|
+
site: +------------+---------+
|
406
|
+
site: | RESET | 0.0053 |
|
407
|
+
site: | READ | 1.5589 |
|
408
|
+
site: | GENERATE | 1.6977 |
|
409
|
+
site: | RENDER | 31.5453 |
|
410
|
+
site: | CLEANUP | 0.0241 |
|
411
|
+
site: | WRITE | 1.1489 |
|
412
|
+
site: +------------+---------+
|
413
|
+
site: | TOTAL TIME | 35.9802 |
|
414
|
+
site:
|
415
|
+
site: Site Render Stats:
|
416
|
+
site: | Filename | Count | Bytes | Time |
|
417
|
+
site: +-----------------------------------------------------------------------------------+-------+-----------+---------+
|
418
|
+
site: | _layouts/default.html | 60 | 5269.94K | 29.702 |
|
419
|
+
site: | _includes/themes/j1/procedures/layouts/default_writer.proc | 240 | 5299.72K | 28.394 |
|
420
|
+
site: | _includes/themes/j1/layouts/layout_module_generator.html | 60 | 1609.43K | 25.946 |
|
421
|
+
site: | _includes/themes/j1/procedures/layouts/module_writer.proc | 2280 | 1290.96K | 25.672 |
|
422
|
+
site: | _includes/themes/j1/procedures/global/set_base_vars_folders.proc | 2340 | 38.85K | 22.121 |
|
423
|
+
..
|
424
|
+
site: | _includes/themes/j1/procedures/global/get_category_item.proc | 72 | 3.59K | 0.009 |
|
425
|
+
site: | _layouts/home.html | 1 | 5.95K | 0.009 |
|
426
|
+
site: +-----------------------------------------------------------------------------------+-------+-----------+---------+
|
427
|
+
site: | TOTAL (for 50 files) | 14138 | 31708.37K | 140.026 |
|
428
|
+
site:
|
429
|
+
site: done in 36.018 seconds.
|
430
|
+
site: Auto-regeneration: disabled. Use --watch to enable.
|
431
|
+
..
|
432
|
+
site: $ run-s -s jekyll_post_build:*
|
433
|
+
lerna success run Ran npm script 'build' in 3 packages in 55.8s:
|
434
|
+
lerna success - css
|
435
|
+
lerna success - js
|
436
|
+
lerna success - site
|
437
|
+
Configure environment ..
|
438
|
+
done.
|
439
|
+
Done in 139.92s.
|
440
|
+
```
|
441
|
+
|
442
|
+
The `setup` process will take a while - typically up to ten minutes for the
|
443
|
+
first run (depending on the performances of your Internet connection and your
|
444
|
+
workstations power). A bunch of NPM modules and Ruby Gems are downloaded and
|
445
|
+
linked for the packages part of the repo. See `setup` as an extended `install`
|
446
|
+
and `build` process to manage an initial setup for the (Lerna) Monorepo.
|
447
|
+
|
448
|
+
## Running the Starter Web
|
449
|
+
|
450
|
+
Running the buildin **Starter Web** for development is done like so:
|
451
|
+
|
452
|
+
``` sh
|
453
|
+
yarn site
|
454
|
+
```
|
455
|
+
|
456
|
+
The task `site` does a lot for you. Whatever is necessary for a full-stack
|
457
|
+
Web development. The task will put in place all needed CSS and JS components,
|
458
|
+
build the content, and finally run the website in a browser.
|
459
|
+
|
460
|
+
Go, go, go ..
|
461
|
+
|
462
|
+
``` sh
|
463
|
+
site: $ run-p -s develop:*
|
464
|
+
utls: $ run-p -s utilsrv
|
465
|
+
utls: Startup UTILSRV ..
|
466
|
+
utls: Log file exists : messages_2021-08-11
|
467
|
+
utls: Server enabled: false
|
468
|
+
utls: Environment detected as: dev
|
469
|
+
utls: Daemon path set to: path_to_\j1-template\packages\600_theme_utilsrv
|
470
|
+
utls: Daemon verbosity set to: false
|
471
|
+
utls: Project path set to: path_to_\j1-template\packages\600_theme_utilsrv/../400_theme_site
|
472
|
+
utls: Data path set to: path_to_\j1-template\packages\600_theme_utilsrv/../400_theme_site/_data
|
473
|
+
utls: Log file set to: path_to_\j1-template\packages\600_theme_utilsrv/../../log/messages_2021-08-11.log
|
474
|
+
utls: Stop the server. Exiting ...
|
475
|
+
utls: Reset file: messages_2021-08-11
|
476
|
+
site: i 「wds」: Project is running at http://localhost:41000/
|
477
|
+
site: i 「wds」: webpack output is served from /assets/themes/j1/core/js
|
478
|
+
site: i 「wds」: Content not from webpack is served from path_to_\j1-template\packages\400_theme_site\_site
|
479
|
+
site: Configuration file: C:/Temp/j1-template/packages/400_theme_site/_config.yml
|
480
|
+
site: i 「wdm」: wait until bundle finished: /assets/themes/j1/core/js/template.js
|
481
|
+
site: i 「wdm」: 53 modules
|
482
|
+
site: i 「wdm」: Compiled successfully.
|
483
|
+
site: Source: C:/Temp/j1-template/packages/400_theme_site
|
484
|
+
site: Destination: C:/Temp/j1-template/packages/400_theme_site/_site
|
485
|
+
site: Incremental build: enabled
|
486
|
+
site: Generating...
|
487
|
+
site: J1 QuickSearch: creating search index ...
|
488
|
+
site: J1 QuickSearch: finished, index ready.
|
489
|
+
site: J1 Paginator: autopages, disabled|not configured
|
490
|
+
site: J1 Paginator: pagination enabled, start processing ...
|
491
|
+
site: J1 Paginator: finished, processed 1 pagination page|s
|
492
|
+
site: done in 10.093 seconds.
|
493
|
+
site: Auto-regeneration: enabled for '.'
|
494
|
+
site: Server address: http://localhost:4000/
|
495
|
+
site: Server running... press ctrl-c to stop.
|
496
|
+
```
|
497
|
+
|
498
|
+
Finally, the J1 starter web get openend in your default browser.
|
499
|
+
|
500
|
+
|
501
|
+
## Reset the Development System
|
502
|
+
|
503
|
+
To start from the beginning, you can reset the development system to the
|
504
|
+
factory state. The top-level task `reset` does the resetting work for you
|
505
|
+
and cleans up each and everything except the **Git repo** and the NPM modules
|
506
|
+
folder `node_modules` stored in the project root. Both are kept untouched
|
507
|
+
by a reset.
|
508
|
+
|
509
|
+
``` sh
|
510
|
+
yarn reset
|
511
|
+
```
|
512
|
+
|
513
|
+
The cleanup runs some tasks for the root folder and in parallel sub-tasks
|
514
|
+
using Lerna for all packages:
|
515
|
+
|
516
|
+
``` sh
|
517
|
+
Reset development system to factory state ..
|
518
|
+
Clean up project root files ..
|
519
|
+
Remove bundle folder ..
|
520
|
+
Remove log folder ..
|
521
|
+
Remove log files ..
|
522
|
+
|
523
|
+
Clean up project packages ..
|
524
|
+
lerna info Executing command in 6 packages: "yarn run clean"
|
525
|
+
js: $ run-p -s clean:*
|
526
|
+
css: $ run-p -s clean:*
|
527
|
+
src: $ run-s clean:*
|
528
|
+
site: $ run-p -s clean:*
|
529
|
+
gem: $ run-p -s clean:* && run-p -s clean-bundle:*
|
530
|
+
utls: $ shx rm -f *.lock && shx rm -f package-lock.json
|
531
|
+
|
532
|
+
lerna success run Ran npm script 'clean' in 6 packages in 3.1s:
|
533
|
+
lerna success - css
|
534
|
+
lerna success - js
|
535
|
+
lerna success - src
|
536
|
+
lerna success - site
|
537
|
+
lerna success - gem
|
538
|
+
lerna success - utls
|
539
|
+
|
540
|
+
Remove js modules from all packages ..
|
541
|
+
lerna info clean removing path_to_\j1-template\packages\100_theme_css\node_modules
|
542
|
+
lerna info clean removing path_to_\j1-template\packages\200_theme_js\node_modules
|
543
|
+
lerna info clean removing path_to_\j1-template\packages\300_theme_src\node_modules
|
544
|
+
lerna info clean removing path_to_\j1-template\packages\400_theme_site\node_modules
|
545
|
+
lerna info clean removing path_to_\j1-template\packages\500_theme_gem\node_modules
|
546
|
+
lerna info clean removing path_to_\j1-template\packages\600_theme_utilsrv\node_modules
|
547
|
+
lerna success clean finished
|
548
|
+
done.
|
549
|
+
|
550
|
+
Done in 11.20s.
|
551
|
+
```
|
552
|
+
|
553
|
+
To reset the Development System *completely*, delete the folder `node_modules`
|
554
|
+
manually and start from the scratch by running the `setup` task again:
|
555
|
+
|
556
|
+
``` sh
|
557
|
+
yarn setup
|
558
|
+
```
|
559
|
+
|
560
|
+
Happy Jekylling!
|