j1-template 2021.1.13 → 2021.1.14
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.
- checksums.yaml +4 -4
- data/assets/themes/j1/adapter/js/cookieConsent.js +4 -5
- data/assets/themes/j1/adapter/js/j1.js +66 -36
- data/assets/themes/j1/adapter/js/navigator.js +7 -0
- data/assets/themes/j1/adapter/js/themer.js +8 -6
- data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.min.js +2 -288
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +60 -41
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +75 -57
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +10 -9
- data/lib/starter_web/_data/modules/defaults/themer.yml +2 -0
- data/lib/starter_web/_includes/attributes.asciidoc +1 -1
- data/lib/starter_web/_plugins/lunr_index.rb +1 -1
- data/lib/starter_web/assets/images/modules/attics/matthew-dockery-1920x1280.jpg +0 -0
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/learn/quickstart.adoc +473 -0
- data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +5 -5
- data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +31 -15
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +4 -2
@@ -144,6 +144,8 @@ defaults:
|
|
144
144
|
|
145
145
|
enabled: false
|
146
146
|
|
147
|
+
personalization: true # if set to true, API is categorized as personalized
|
148
|
+
reloadPageOnChange: false # reload current page, if the theme has been changed
|
147
149
|
retries: 30 # retry to load theme list from API
|
148
150
|
saveToCookie: true
|
149
151
|
debug: false
|
@@ -412,7 +412,7 @@ end::tables[]
|
|
412
412
|
// -----------------------------------------------------------------------------
|
413
413
|
tag::products[]
|
414
414
|
:j1--license: MIT License
|
415
|
-
:j1--version: 2021.1.
|
415
|
+
:j1--version: 2021.1.14
|
416
416
|
:j1--site-name: Jekyll One
|
417
417
|
end::products[]
|
418
418
|
|
@@ -0,0 +1,473 @@
|
|
1
|
+
---
|
2
|
+
title: Quickstart
|
3
|
+
tagline: an amazing site in 15 minutes
|
4
|
+
date: 2021-03-07 00:00:00
|
5
|
+
description: >
|
6
|
+
Welcome to the pages of J1 Template. If your here
|
7
|
+
first time, a good decision you get on that page first.
|
8
|
+
For sure, there is no better place to go.
|
9
|
+
|
10
|
+
categories: [ Knowledge ]
|
11
|
+
tags: [ Quickstart ]
|
12
|
+
|
13
|
+
comments: true
|
14
|
+
fam_menu_id: page_ctrl_simple
|
15
|
+
|
16
|
+
permalink: /pages/public/learn/quickstart/
|
17
|
+
regenerate: false
|
18
|
+
|
19
|
+
resources: [ clipboard, rouge ]
|
20
|
+
resource_options:
|
21
|
+
- attic:
|
22
|
+
padding_top: 400
|
23
|
+
padding_bottom: 50
|
24
|
+
opacity: 0.5
|
25
|
+
slides:
|
26
|
+
- url: /assets/images/modules/attics/matthew-dockery-1920x1280.jpg
|
27
|
+
alt: Photo by Matthew Dockery on Unsplash
|
28
|
+
badge:
|
29
|
+
type: unsplash
|
30
|
+
author: Matthew Dockery
|
31
|
+
href: https://unsplash.com/@matt_dockery
|
32
|
+
---
|
33
|
+
|
34
|
+
// Page Initializer
|
35
|
+
// =============================================================================
|
36
|
+
// Enable the Liquid Preprocessor
|
37
|
+
:page-liquid:
|
38
|
+
|
39
|
+
// Set (local) page attributes here
|
40
|
+
// -----------------------------------------------------------------------------
|
41
|
+
// :page--attr: <attr-value>
|
42
|
+
|
43
|
+
// Load Liquid procedures
|
44
|
+
// -----------------------------------------------------------------------------
|
45
|
+
{% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
|
46
|
+
|
47
|
+
// Load page attributes
|
48
|
+
// -----------------------------------------------------------------------------
|
49
|
+
{% include {{load_attributes}} scope="global" %}
|
50
|
+
|
51
|
+
|
52
|
+
// Page content
|
53
|
+
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
54
|
+
|
55
|
+
// Include sub-documents
|
56
|
+
// -----------------------------------------------------------------------------
|
57
|
+
|
58
|
+
*All you need for your new amazing site.*
|
59
|
+
|
60
|
+
Jekyll meets Bootstrap - and makes a lot of friends. J1 Template combines
|
61
|
+
the best of OpenSource software for the Web and the Web site generator
|
62
|
+
`Jekyll`. J1 is OpenSource, and so are the packaged modules. No pain for
|
63
|
+
private or professional use. Check J1 Template today to learn what's possible
|
64
|
+
if you go to the Jekyll Way.
|
65
|
+
|
66
|
+
*Create powerful modern Static Webs: Secure, Flexible and Fast.*
|
67
|
+
|
68
|
+
The template comes with a Web included, a skeleton for new website created
|
69
|
+
with J1 Template. This Web is called the *Starter Web*, a general-purpose
|
70
|
+
Website scaffold to be modified for your needs. The built-in Starter Web
|
71
|
+
can be visited live at https://publish.jekyll.one/[J1 Publish, {browser-window--new}].
|
72
|
+
This site show live pages deployed on the Internet on _Github_, _Netlify_
|
73
|
+
and _Heroku_.
|
74
|
+
|
75
|
+
*Have fun exploring what a modern static web, a Jekyll site can do*!
|
76
|
+
|
77
|
+
== The Software needed
|
78
|
+
|
79
|
+
J1 is supported on all current x64-based OS:
|
80
|
+
|
81
|
+
* Windows 10, build >= 1903
|
82
|
+
* Windows WSL 2
|
83
|
+
* Linux, kernel version >= 4.15 (e.g. Ubuntu 18.x LTS)
|
84
|
+
* OSX, version >= 10.10.5 (Yosemite)
|
85
|
+
|
86
|
+
WARNING: Note that 32-bit versions (x32) are generally NOT supported for all
|
87
|
+
platforms.
|
88
|
+
|
89
|
+
=== Development languages and tools
|
90
|
+
|
91
|
+
To run the Development System for J1 Template, the following languages and
|
92
|
+
tools expected to be in place with your OS:
|
93
|
+
|
94
|
+
* Ruby language, version >= 2.6
|
95
|
+
* Javascript language (NodeJS), version >= 12.x
|
96
|
+
|
97
|
+
NOTE: More current or older versions may work, but not tested.
|
98
|
+
|
99
|
+
=== Software upgrades needed for all platforms
|
100
|
+
|
101
|
+
If _Ruby_ and _NodeJS_ are in place, some packages are to be upgraded to
|
102
|
+
more *current* versions. Install all packages system-wide with their
|
103
|
+
respective product installation pathes.
|
104
|
+
|
105
|
+
==== Upgrades needed for Ruby < v2.7
|
106
|
+
|
107
|
+
Install latest bundler for Ruby:
|
108
|
+
|
109
|
+
[source, sh]
|
110
|
+
----
|
111
|
+
gem install bundler --no-document
|
112
|
+
----
|
113
|
+
|
114
|
+
Install latest RubyGems for Ruby:
|
115
|
+
|
116
|
+
[source, sh]
|
117
|
+
----
|
118
|
+
gem install rubygems-update --no-document
|
119
|
+
update_rubygems --no-document
|
120
|
+
gem update --system
|
121
|
+
----
|
122
|
+
|
123
|
+
==== Upgrades needed for NodeJS
|
124
|
+
|
125
|
+
NodeJS comes with NPM pre-installed. The native CLI for the NodeJS package
|
126
|
+
management is `npm`. Besides `npm` there's another quite handy CLI for NPM
|
127
|
+
available: *Yarn*.
|
128
|
+
|
129
|
+
The CLI `yarn` is developed at Facebook and can be used as a replacement
|
130
|
+
for `npm`. From a top-level perspective, both package management clients behave
|
131
|
+
pretty much the same. The syntax `yarn` uses is shorter in writing, making
|
132
|
+
the command-line look a bit more natural. Therefore, we prefer to use `yarn`.
|
133
|
+
|
134
|
+
NOTE: Yarn adds some additional features to the NodeJS package management
|
135
|
+
implemented for the needs at Facebook. Regarding the J1 development system,
|
136
|
+
those add-ons are neither needed nor used.
|
137
|
+
|
138
|
+
Install latest NPM and Yarn packages for NodeJS:
|
139
|
+
|
140
|
+
[source, sh]
|
141
|
+
----
|
142
|
+
npm install -g npm@latest
|
143
|
+
npm install -g yarn@latest
|
144
|
+
----
|
145
|
+
|
146
|
+
== Create a Starter Web
|
147
|
+
|
148
|
+
Running the J1 template project is very simple:
|
149
|
+
|
150
|
+
* Download the J1 Gem
|
151
|
+
* Create a J1 web project
|
152
|
+
* Setup the runtime environment for your project
|
153
|
+
* Run and develop the buildin starter web
|
154
|
+
|
155
|
+
Find all details on this with the sections below.
|
156
|
+
|
157
|
+
=== Download the J1 Gem
|
158
|
+
|
159
|
+
The Gem for J1 Template (runtime system) is published on _RubyGems_.
|
160
|
+
You can get it by installing the package using the Ruby `gem` command or
|
161
|
+
by downloading it from link:{url-j1--download}[RubyGems, {browser-window--new}].
|
162
|
+
|
163
|
+
.Userized installation
|
164
|
+
[source, sh]
|
165
|
+
----
|
166
|
+
gem install j1-template --remote --user-install --no-document
|
167
|
+
----
|
168
|
+
|
169
|
+
.System-wide installation
|
170
|
+
[source, sh]
|
171
|
+
----
|
172
|
+
gem install j1-template --remote --no-document
|
173
|
+
----
|
174
|
+
|
175
|
+
NOTE: To *not* pollute the system-wide Gem folder of a Ruby-installation by
|
176
|
+
*user* and *project* specific Gems, it is recommend to install *J1* userized.
|
177
|
+
|
178
|
+
J1 is a so-called *gem-based* template, a *Ruby Gem* managed by the (gem)
|
179
|
+
internal executeable (command) *j1*. Check your version installed or some
|
180
|
+
usage information by running:
|
181
|
+
|
182
|
+
.Version information
|
183
|
+
[source, sh]
|
184
|
+
----
|
185
|
+
j1 --version
|
186
|
+
----
|
187
|
+
|
188
|
+
.Usage information
|
189
|
+
[source, sh]
|
190
|
+
----
|
191
|
+
j1 --help
|
192
|
+
----
|
193
|
+
|
194
|
+
=== Setup a project
|
195
|
+
|
196
|
+
Is the Ruby Gem *J1* installed, a project, a website needs to be generated
|
197
|
+
by J1's build-in executable *j1*. The command *j1* is used to manage *base*
|
198
|
+
project tasks like generating a *project*.
|
199
|
+
|
200
|
+
If a *project* (a website) is generated, all development tasks are managed
|
201
|
+
by *NPM scripts* (NodeJS). Development *tasks* are defined as *scripts*
|
202
|
+
with the project config file `package.json`.
|
203
|
+
|
204
|
+
First, create a projects folder for all website to be generated J1. For the
|
205
|
+
following examples, a project is generated on _Windows_ using *C:\Temp*
|
206
|
+
for the project's folder.
|
207
|
+
|
208
|
+
.Usage information
|
209
|
+
[source, sh]
|
210
|
+
----
|
211
|
+
j1 generate starter
|
212
|
+
----
|
213
|
+
|
214
|
+
.Output
|
215
|
+
----
|
216
|
+
Running bundle install in c:/Temp/starter ...
|
217
|
+
Install bundle in USER gem folder ~/.gem ...
|
218
|
+
|
219
|
+
Bundler: Fetching gem metadata from https://rubygems.org/ ...
|
220
|
+
Bundler: Fetching gem metadata from https://rubygems.org/.
|
221
|
+
Bundler: Resolving dependencies...
|
222
|
+
Bundler: Using rake 12.3.3
|
223
|
+
Bundler: Using public_suffix 4.0.6
|
224
|
+
...
|
225
|
+
Bundler: Using wdm 0.1.1
|
226
|
+
Bundler: Bundle complete! 34 Gemfile dependencies, 86 gems now installed.
|
227
|
+
Bundler: Bundled gems are installed into `../../Users/jadams/.gem`
|
228
|
+
|
229
|
+
Install patches in USER gem folder ~/.gem ...
|
230
|
+
Install patches on path C:/Users/jadams/.gem/ruby/2.6.0 ...
|
231
|
+
Generated Jekyll site force installed in folder c:/Temp/starter
|
232
|
+
----
|
233
|
+
|
234
|
+
=== Setup the runtime
|
235
|
+
|
236
|
+
The command *j1 generate* creates a project folder with the name given. In
|
237
|
+
this example, the project is *starter*. Change to this folder
|
238
|
+
|
239
|
+
[source, sh]
|
240
|
+
----
|
241
|
+
cd C:\Temp\starter
|
242
|
+
----
|
243
|
+
|
244
|
+
A J1 project consists in several files and folders. Find a typical structure
|
245
|
+
as below:
|
246
|
+
|
247
|
+
.J1 Project structure
|
248
|
+
----
|
249
|
+
├──── .
|
250
|
+
│ └─ _data <1>
|
251
|
+
│ └─ _includes <2>
|
252
|
+
│ └─ _plugins <3>
|
253
|
+
│ └─ assets <4>
|
254
|
+
│ └─ collections <5>
|
255
|
+
│ └─ pages <6>
|
256
|
+
│ └─ utilsrv
|
257
|
+
├──── _config.yml <7>
|
258
|
+
├──── config.ru
|
259
|
+
├──── dot.gitattributes
|
260
|
+
├──── dot.gitignore
|
261
|
+
├──── dot.nojekyll
|
262
|
+
├──── favicon.ico
|
263
|
+
├──── Gemfile <8>
|
264
|
+
├──── index.html <9>
|
265
|
+
└──── package.json <10>
|
266
|
+
----
|
267
|
+
<1> Configuration data for the website
|
268
|
+
<2> Asciidoc (global) includes
|
269
|
+
<3> Build-in (Ruby) plugins
|
270
|
+
<4> Assets for the web
|
271
|
+
<5> Folder that contains all blog posts
|
272
|
+
<6> Folder that contains all (article) pages
|
273
|
+
<7> Central (Jekyll) site configuration
|
274
|
+
<8> Ruby Gemfile
|
275
|
+
<9> Homepage for the web
|
276
|
+
<10> (NPM) Project file
|
277
|
+
|
278
|
+
The first step, done only once, is to initialize a project. What means to
|
279
|
+
download and install all resources for your new website followed by an
|
280
|
+
initial creation process for the new site. Initializing a project is managed
|
281
|
+
by the (NPM) *task* `setup`. A bunch of sub-tasks get fired, all of them
|
282
|
+
managed by NPM.
|
283
|
+
|
284
|
+
Let's start ...
|
285
|
+
|
286
|
+
[source, sh]
|
287
|
+
----
|
288
|
+
yarn setup
|
289
|
+
----
|
290
|
+
|
291
|
+
Because a lot of sub-tasks getting started for a (first) `setup`, see below
|
292
|
+
the output as a summary:
|
293
|
+
|
294
|
+
----
|
295
|
+
Setup project for first use ..
|
296
|
+
Bootstrap base modules ..
|
297
|
+
done.
|
298
|
+
Configure environment ..
|
299
|
+
done.
|
300
|
+
Create project folders ..
|
301
|
+
Create log folder ..
|
302
|
+
Create archived log folder ..
|
303
|
+
Create etc folder ..
|
304
|
+
done.
|
305
|
+
Bootstrap project modules ..
|
306
|
+
Bootstrap utility server modules ..
|
307
|
+
done.
|
308
|
+
Detect OS ..
|
309
|
+
OS detected: Windows_NT
|
310
|
+
Build site incremental ..
|
311
|
+
Configuration file: c:/Temp/starter/_config.yml
|
312
|
+
Source: c:/Temp/starter
|
313
|
+
Destination: c:/Temp/starter/_site
|
314
|
+
Incremental build: enabled
|
315
|
+
Generating...
|
316
|
+
J1 QuickSearch: creating search index ...
|
317
|
+
J1 QuickSearch: finished, index ready.
|
318
|
+
J1 Paginator: autopages, disabled|not configured
|
319
|
+
J1 Paginator: pagination enabled, start processing ...
|
320
|
+
J1 Paginator: finished, processed 5 pagination page|s
|
321
|
+
done in 25.687 seconds.
|
322
|
+
Auto-regeneration: disabled. Use --watch to enable.
|
323
|
+
.. build finished.
|
324
|
+
To open the site, run: yarn site
|
325
|
+
|
326
|
+
Done in 88.03s.
|
327
|
+
----
|
328
|
+
|
329
|
+
The `setup` process will take a while - typically some minutes for the
|
330
|
+
*first* run (depending on the performances of your Internet connection
|
331
|
+
and your workstation). A bunch of NPM modules and Ruby Gems are downloaded
|
332
|
+
and linked for the components part of the project. See `setup` as an extended
|
333
|
+
*install* and *build* process to manage an initial setup for your new
|
334
|
+
website.
|
335
|
+
|
336
|
+
=== Run and develop a starter web
|
337
|
+
|
338
|
+
Running the Starter Web for development is done like so:
|
339
|
+
|
340
|
+
[source, sh]
|
341
|
+
----
|
342
|
+
yarn site
|
343
|
+
----
|
344
|
+
|
345
|
+
The task `site` does a lot for you; whatever is necessary for a full-stack
|
346
|
+
Web development. The task will put in place all needed CSS and JS components,
|
347
|
+
build the Web content.
|
348
|
+
|
349
|
+
----
|
350
|
+
Startup the site ..
|
351
|
+
Configuration file: c:/Temp/starter/_config.yml
|
352
|
+
Source: c:/Temp/starter
|
353
|
+
Destination: c:/Temp/starter/_site
|
354
|
+
Incremental build: enabled
|
355
|
+
Generating...
|
356
|
+
J1 QuickSearch: creating search index ...
|
357
|
+
J1 QuickSearch: finished, index ready.
|
358
|
+
J1 Paginator: autopages, disabled|not configured
|
359
|
+
J1 Paginator: pagination enabled, start processing ...
|
360
|
+
J1 Paginator: finished, processed 5 pagination page|s
|
361
|
+
done in 7.1 seconds.
|
362
|
+
Auto-regeneration: enabled for '.'
|
363
|
+
LiveReload address: http://localhost:40001
|
364
|
+
Server address: http://localhost:40000/
|
365
|
+
Server running... press ctrl-c to stop.
|
366
|
+
LiveReload: Browser connected
|
367
|
+
----
|
368
|
+
|
369
|
+
Finally, the starter web get openend in your *default* browser.
|
370
|
+
|
371
|
+
Go, go, go ..
|
372
|
+
|
373
|
+
=== Rebuild a site
|
374
|
+
|
375
|
+
A project runs Jekyll in *incremental* mode with *auto-regeneration* enabled.
|
376
|
+
All changes made to the pages (posts) of your web at runtime are automatically
|
377
|
+
detected and the affected are rebuild and (live) reloaded.
|
378
|
+
|
379
|
+
To rebuild the *site* from the scratch, a web can be completely rebuild by
|
380
|
+
running the task `rebuild`:
|
381
|
+
|
382
|
+
[source, sh]
|
383
|
+
----
|
384
|
+
yarn rebuild
|
385
|
+
----
|
386
|
+
|
387
|
+
----
|
388
|
+
Rebuild site incremental ..
|
389
|
+
Clean up site files ..
|
390
|
+
Configuration file: c:/Temp/starter/_config.yml
|
391
|
+
Cleaner: Removing _site...
|
392
|
+
Cleaner: Removing ./.jekyll-metadata...
|
393
|
+
Cleaner: Removing ./.jekyll-cache...
|
394
|
+
Cleaner: Nothing to do for .sass-cache.
|
395
|
+
Configuration file: c:/Temp/starter/_config.yml
|
396
|
+
Source: c:/Temp/starter
|
397
|
+
Destination: c:/Temp/starter/_site
|
398
|
+
Incremental build: enabled
|
399
|
+
Generating...
|
400
|
+
J1 QuickSearch: creating search index ...
|
401
|
+
J1 QuickSearch: finished, index ready.
|
402
|
+
J1 Paginator: autopages, disabled|not configured
|
403
|
+
J1 Paginator: pagination enabled, start processing ...
|
404
|
+
J1 Paginator: finished, processed 5 pagination page|s
|
405
|
+
done in 25.221 seconds.
|
406
|
+
Auto-regeneration: disabled. Use --watch to enable.
|
407
|
+
.. rebuild finished.
|
408
|
+
To open the site, run: yarn site.
|
409
|
+
Done in 34.88s.
|
410
|
+
----
|
411
|
+
|
412
|
+
If the site rebuild, re-run:
|
413
|
+
|
414
|
+
[source, sh]
|
415
|
+
----
|
416
|
+
yarn site
|
417
|
+
----
|
418
|
+
|
419
|
+
and continue developing your website.
|
420
|
+
|
421
|
+
=== Reset a project
|
422
|
+
|
423
|
+
To start from the beginning, you can reset the runtime system to the
|
424
|
+
factory state. The top-level task `reset` does the resetting work for you
|
425
|
+
and cleans up each and everything except the NPM modules folder `node_modules`
|
426
|
+
stored in the project root.
|
427
|
+
|
428
|
+
[source, sh]
|
429
|
+
----
|
430
|
+
yarn reset
|
431
|
+
----
|
432
|
+
|
433
|
+
The cleanup runs some tasks for the root folder and in parallel sub-tasks
|
434
|
+
using Jekyll for the Web:
|
435
|
+
|
436
|
+
----
|
437
|
+
Reset project to factory state ..
|
438
|
+
Clean up base modules ..
|
439
|
+
Clean up site files ..
|
440
|
+
Configuration file: c:/Temp/starter/_config.yml
|
441
|
+
Cleaner: Removing _site...
|
442
|
+
Cleaner: Removing ./.jekyll-metadata...
|
443
|
+
Cleaner: Removing ./.jekyll-cache...
|
444
|
+
Cleaner: Nothing to do for .sass-cache.
|
445
|
+
Clean up projects files ..
|
446
|
+
Remove bundle config folder ..
|
447
|
+
Remove log folder ..
|
448
|
+
Remove etc folder ..
|
449
|
+
Remove various log files ..
|
450
|
+
Remove lock files ..
|
451
|
+
Clean up utility server ..
|
452
|
+
done.
|
453
|
+
Done in 10.23s.
|
454
|
+
----
|
455
|
+
|
456
|
+
To reset the project *completely*, delete the folder `node_modules` manually
|
457
|
+
and start from the beginning by running the `setup` task again:
|
458
|
+
|
459
|
+
[source, sh]
|
460
|
+
----
|
461
|
+
yarn setup
|
462
|
+
----
|
463
|
+
|
464
|
+
If the project is newly setup, re-run:
|
465
|
+
|
466
|
+
[source, sh]
|
467
|
+
----
|
468
|
+
yarn site
|
469
|
+
----
|
470
|
+
|
471
|
+
and continue developing your website.
|
472
|
+
|
473
|
+
Happy Jekylling!
|