j1-template 2022.0.17 → 2022.0.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/assets/error_pages/HTTP204.html +1 -1
- data/assets/error_pages/HTTP400.html +1 -1
- data/assets/error_pages/HTTP401.html +1 -1
- data/assets/error_pages/HTTP403.html +1 -1
- data/assets/error_pages/HTTP404.html +1 -1
- data/assets/error_pages/HTTP444.html +1 -1
- data/assets/error_pages/HTTP445.html +1 -1
- data/assets/error_pages/HTTP446.html +1 -1
- data/assets/error_pages/HTTP447.html +1 -1
- data/assets/error_pages/HTTP448.html +1 -1
- data/assets/error_pages/HTTP500.html +1 -1
- data/assets/error_pages/HTTP501.html +1 -1
- data/assets/error_pages/HTTP502.html +1 -1
- data/assets/error_pages/HTTP503.html +1 -1
- data/assets/themes/j1/adapter/js/customFunctions.js +221 -0
- data/assets/themes/j1/adapter/js/customModule.js +221 -0
- data/assets/themes/j1/adapter/js/dropdowns.js +319 -0
- data/assets/themes/j1/adapter/js/rtable.js +2 -6
- data/assets/themes/j1/modules/dropdowns/css/theme/uno/dropdowns.css +109 -0
- data/assets/themes/j1/modules/dropdowns/css/theme/uno/dropdowns.min.css +15 -0
- data/assets/themes/j1/modules/dropdowns/js/cash.js +978 -0
- data/assets/themes/j1/modules/dropdowns/js/dropdowns.js +864 -0
- data/lib/j1/commands/generate.rb +25 -14
- data/lib/j1/commands/rebuild.rb +1 -0
- data/lib/j1/commands/reset.rb +6 -3
- data/lib/j1/commands/setup.rb +18 -13
- data/lib/j1/commands/site.rb +2 -1
- data/lib/j1/utils/exec2.rb +33 -7
- data/lib/j1/version.rb +3 -3
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +1 -1
- data/lib/starter_web/_data/apps/carousel.yml +138 -140
- data/lib/starter_web/_data/blocks/banner.yml +7 -7
- data/lib/starter_web/_data/modules/defaults/dropdowns.yml +164 -0
- data/lib/starter_web/_data/modules/dropdowns.yml +77 -0
- data/lib/starter_web/_data/resources.yml +73 -2
- data/lib/starter_web/_includes/attributes.asciidoc +1 -1
- data/lib/starter_web/_plugins/lunr_index.rb +2 -2
- data/lib/starter_web/package.json +2 -2
- data/lib/starter_web/pages/public/about/about_site.adoc +1 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/000_intro.adoc +1 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +1 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +1 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.ads.asciidoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.base.asciidoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.comments.asciidoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/600_quicksearch.adoc +1 -1
- data/lib/starter_web/pages/public/learn/where_to_go.adoc +1 -1
- data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +1 -1
- data/lib/starter_web/pages/public/legal/en/200_impress.adoc +1 -1
- data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +1 -1
- data/lib/starter_web/pages/public/manuals/j1-dropdown.adoc +294 -0
- data/lib/starter_web/pages/public/manuals/{dropdown-help.adoc → msdropdown.adoc} +0 -0
- data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +1 -1
- data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +1 -1
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +14 -6
- data/assets/themes/j1/modules/fab/css/theme/uno/fab.css +0 -373
- data/assets/themes/j1/modules/fab/css/theme/uno/fab.min.css +0 -15
@@ -0,0 +1,164 @@
|
|
1
|
+
# ------------------------------------------------------------------------------
|
2
|
+
# ~/_data/modules/defaults/dropdowns.yml
|
3
|
+
# Default Configuration of the Dropdowns Module
|
4
|
+
#
|
5
|
+
# Product/Info:
|
6
|
+
# https://jekyll.one
|
7
|
+
# https://materializecss.com/dropdown.html
|
8
|
+
#
|
9
|
+
# Copyright (C) 2021 Juergen Adams
|
10
|
+
#
|
11
|
+
# Materialize is licensed under the MIT License.
|
12
|
+
# See: https://github.com/Dogfalo/materialize/blob/v1-dev/LICENSE
|
13
|
+
# J1 Template is licensed under the MIT License.
|
14
|
+
# See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
|
15
|
+
#
|
16
|
+
# ------------------------------------------------------------------------------
|
17
|
+
# NOTE:
|
18
|
+
#
|
19
|
+
# ------------------------------------------------------------------------------
|
20
|
+
|
21
|
+
# ------------------------------------------------------------------------------
|
22
|
+
# Description (used for J1 CC only)
|
23
|
+
#
|
24
|
+
description:
|
25
|
+
|
26
|
+
title: Dropdowns Module
|
27
|
+
scope: Default settings
|
28
|
+
location: _data/modules/defaults/dropdowns.yml
|
29
|
+
|
30
|
+
# ------------------------------------------------------------------------------
|
31
|
+
# Default settings
|
32
|
+
#
|
33
|
+
defaults:
|
34
|
+
enabled: false
|
35
|
+
|
36
|
+
# ----------------------------------------------------------------------------
|
37
|
+
# DROPDOWN options
|
38
|
+
# ----------------------------------------------------------------------------
|
39
|
+
#
|
40
|
+
# enabled
|
41
|
+
# ----------------------------------------------------------------------------
|
42
|
+
# Enables|Disables the use of the Dropdowns
|
43
|
+
#
|
44
|
+
# values: boolean (true|false)
|
45
|
+
# default: false
|
46
|
+
#
|
47
|
+
# alignment
|
48
|
+
# ----------------------------------------------------------------------------
|
49
|
+
# Defines the edge the menu is aligned to.
|
50
|
+
#
|
51
|
+
# values: String (top|right|bottom|left)
|
52
|
+
# default: left
|
53
|
+
#
|
54
|
+
# autoTrigger
|
55
|
+
# ----------------------------------------------------------------------------
|
56
|
+
# If true, automatically focus dropdown el for keyboard.
|
57
|
+
#
|
58
|
+
# values: boolean (true|false)
|
59
|
+
# default: true
|
60
|
+
#
|
61
|
+
# constrainWidth
|
62
|
+
# ----------------------------------------------------------------------------
|
63
|
+
# If true, constrainWidth to the size of the dropdown activator.
|
64
|
+
#
|
65
|
+
# values: boolean (true|false)
|
66
|
+
# default: true
|
67
|
+
#
|
68
|
+
# container
|
69
|
+
# ----------------------------------------------------------------------------
|
70
|
+
# Defines the edge the menu is aligned to.
|
71
|
+
#
|
72
|
+
# values: Element (HTML element|false)
|
73
|
+
# default: false
|
74
|
+
#
|
75
|
+
# coverTrigger
|
76
|
+
# ----------------------------------------------------------------------------
|
77
|
+
# If false, the dropdown will show below the trigger.
|
78
|
+
#
|
79
|
+
# values: boolean (true|false)
|
80
|
+
# default: true
|
81
|
+
#
|
82
|
+
# closeOnClick
|
83
|
+
# ----------------------------------------------------------------------------
|
84
|
+
# If true, close dropdown on item click.
|
85
|
+
#
|
86
|
+
# values: boolean (true|false)
|
87
|
+
# default: true
|
88
|
+
#
|
89
|
+
# hover
|
90
|
+
# ----------------------------------------------------------------------------
|
91
|
+
# If true, the dropdown will open on hover.
|
92
|
+
#
|
93
|
+
# values: boolean (true|false)
|
94
|
+
# default: false
|
95
|
+
#
|
96
|
+
# inDuration
|
97
|
+
# ----------------------------------------------------------------------------
|
98
|
+
# The duration of the transition enter in milliseconds.
|
99
|
+
#
|
100
|
+
# values: Number
|
101
|
+
# default: 150
|
102
|
+
#
|
103
|
+
# maxLenght
|
104
|
+
# ----------------------------------------------------------------------------
|
105
|
+
# The max length of the dropdown menu in pixels. If the menu exeeds
|
106
|
+
# the limit, scrollbars are shown to browse the menu.
|
107
|
+
#
|
108
|
+
# values: Number
|
109
|
+
# default: 350
|
110
|
+
#
|
111
|
+
# outDuration
|
112
|
+
# ----------------------------------------------------------------------------
|
113
|
+
# The duration of the transition out in milliseconds.
|
114
|
+
#
|
115
|
+
# values: Number
|
116
|
+
# default: 250
|
117
|
+
#
|
118
|
+
# cbOnOpen
|
119
|
+
# ----------------------------------------------------------------------------
|
120
|
+
# Function called when dropdown starts entering.
|
121
|
+
#
|
122
|
+
# values: Function|false
|
123
|
+
# default: false
|
124
|
+
#
|
125
|
+
# cbOnOpenEnd
|
126
|
+
# ----------------------------------------------------------------------------
|
127
|
+
# Function called when dropdown finishes entering.
|
128
|
+
#
|
129
|
+
# values: Function|false
|
130
|
+
# default: false
|
131
|
+
#
|
132
|
+
# cbOnClose
|
133
|
+
# ----------------------------------------------------------------------------
|
134
|
+
# Function called when dropdown starts exiting.
|
135
|
+
#
|
136
|
+
# values: Function|false
|
137
|
+
# default: false
|
138
|
+
#
|
139
|
+
# cbOnCloseEnd
|
140
|
+
# ----------------------------------------------------------------------------
|
141
|
+
# Function called when dropdown finishes exiting.
|
142
|
+
#
|
143
|
+
# values: Function|false
|
144
|
+
# default: false
|
145
|
+
#
|
146
|
+
# ----------------------------------------------------------------------------
|
147
|
+
#
|
148
|
+
options:
|
149
|
+
alignment: left
|
150
|
+
autoTrigger: true
|
151
|
+
constrainWidth: true
|
152
|
+
container: false
|
153
|
+
coverTrigger: true
|
154
|
+
closeOnClick: true
|
155
|
+
hover: false
|
156
|
+
inDuration: 150
|
157
|
+
outDuration: 250
|
158
|
+
maxLenght: 350
|
159
|
+
cbOnOpen: j1.adapter.dropdowns.cbOnOpen
|
160
|
+
cbOnClose: j1.adapter.dropdowns.cbOnClose
|
161
|
+
cbOnItemClick: false # j1.adapter.dropdowns.cbOnItemClick
|
162
|
+
|
163
|
+
# ------------------------------------------------------------------------------
|
164
|
+
# END config
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# ------------------------------------------------------------------------------
|
2
|
+
# ~/_data/modules/dropdowns.yml
|
3
|
+
# User Configuration of the Dropdowns Module
|
4
|
+
#
|
5
|
+
# Product/Info:
|
6
|
+
# https://jekyll.one
|
7
|
+
#
|
8
|
+
# Copyright (C) 2021 Juergen Adams
|
9
|
+
#
|
10
|
+
# J1 Template is licensed under the MIT License.
|
11
|
+
# See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
|
12
|
+
#
|
13
|
+
# ------------------------------------------------------------------------------
|
14
|
+
# NOTE:
|
15
|
+
#
|
16
|
+
# ------------------------------------------------------------------------------
|
17
|
+
|
18
|
+
# ------------------------------------------------------------------------------
|
19
|
+
# Description (used for J1 CC only)
|
20
|
+
#
|
21
|
+
description:
|
22
|
+
|
23
|
+
title: Dropdowns Module
|
24
|
+
scope: User settings
|
25
|
+
location: _data/modules/dropdowns.yml
|
26
|
+
|
27
|
+
# ------------------------------------------------------------------------------
|
28
|
+
# User settings
|
29
|
+
#
|
30
|
+
settings:
|
31
|
+
enabled: true
|
32
|
+
|
33
|
+
dropdowns:
|
34
|
+
# --------------------------------------------------------------------------
|
35
|
+
# DROPDOWN configurations
|
36
|
+
# --------------------------------------------------------------------------
|
37
|
+
|
38
|
+
# --------------------------------------------------------------------------
|
39
|
+
# icon dropdown
|
40
|
+
#
|
41
|
+
- dropdown:
|
42
|
+
enabled: true
|
43
|
+
|
44
|
+
id: icon-dropdown
|
45
|
+
items: >
|
46
|
+
<li><a href="#"><i class="flag-icon flag-icon-de squared size-1x"></i></a></li>
|
47
|
+
<li class="divider" tabindex="-1"></li>
|
48
|
+
<li><a href="#"><i class="flag-icon flag-icon-be squared size-1x"></i></a></li>
|
49
|
+
<li><a href="#"><i class="flag-icon flag-icon-dk squared size-1x"></i></a></li>
|
50
|
+
<li><a href="#"><i class="flag-icon flag-icon-es squared size-1x"></i></a></li>
|
51
|
+
|
52
|
+
options:
|
53
|
+
alignment: bottom
|
54
|
+
hover: true
|
55
|
+
inDuration: 300
|
56
|
+
outDuration: 300
|
57
|
+
|
58
|
+
# --------------------------------------------------------------------------
|
59
|
+
# button dropdown
|
60
|
+
#
|
61
|
+
- dropdown:
|
62
|
+
enabled: true
|
63
|
+
|
64
|
+
id: button-dropdown
|
65
|
+
items: >
|
66
|
+
<li><a href="#"><i class="flag-icon flag-icon-de squared size-1x"></i></a></li>
|
67
|
+
<li class="divider" tabindex="-1"></li>
|
68
|
+
<li><a href="#"><i class="flag-icon flag-icon-be squared size-1x"></i></a></li>
|
69
|
+
<li><a href="#"><i class="flag-icon flag-icon-dk squared size-1x"></i></a></li>
|
70
|
+
<li><a href="#"><i class="flag-icon flag-icon-es squared size-1x"></i></a></li>
|
71
|
+
|
72
|
+
options:
|
73
|
+
alignment: left
|
74
|
+
hover: false
|
75
|
+
|
76
|
+
# ------------------------------------------------------------------------------
|
77
|
+
# END config
|
@@ -777,12 +777,11 @@ resources:
|
|
777
777
|
files: [
|
778
778
|
modules/fab/js/cash.js, # adapted|old (1.3.5) version from Materialize
|
779
779
|
modules/fab/js/fab.js, # modified version for J1 (former: button.js)
|
780
|
-
adapter/js/fab.js
|
780
|
+
adapter/js/fab.js
|
781
781
|
]
|
782
782
|
js: []
|
783
783
|
init_function: [ j1.adapter.fab.init ]
|
784
784
|
|
785
|
-
|
786
785
|
# ----------------------------------------------------------------------------
|
787
786
|
# lunr search engine, JS API used for the QuickSearch feature
|
788
787
|
# of J1 Template based on the Lunr JS API
|
@@ -911,6 +910,50 @@ resources:
|
|
911
910
|
# J1 Resources loaded ONDEMAND
|
912
911
|
# ----------------------------------------------------------------------------
|
913
912
|
|
913
|
+
# ----------------------------------------------------------------------------
|
914
|
+
# Custom module
|
915
|
+
#
|
916
|
+
- name: CustomModule
|
917
|
+
resource:
|
918
|
+
enabled: false
|
919
|
+
|
920
|
+
id: CustomModule
|
921
|
+
comment: Custom module
|
922
|
+
region: head
|
923
|
+
layout: [ all ]
|
924
|
+
required: ondemand
|
925
|
+
preload: false
|
926
|
+
script_load: async
|
927
|
+
dependencies: false
|
928
|
+
pass_init_data: false
|
929
|
+
data:
|
930
|
+
css: []
|
931
|
+
files: [ adapter/js/customModule.js ]
|
932
|
+
js: []
|
933
|
+
init_function: [ j1.adapter.customModule.init ]
|
934
|
+
|
935
|
+
# ----------------------------------------------------------------------------
|
936
|
+
# Custom functions
|
937
|
+
#
|
938
|
+
- name: CustomFunctions
|
939
|
+
resource:
|
940
|
+
enabled: false
|
941
|
+
|
942
|
+
id: customFunctions
|
943
|
+
comment: Custom functions
|
944
|
+
region: head
|
945
|
+
layout: [ all ]
|
946
|
+
required: ondemand
|
947
|
+
preload: false
|
948
|
+
script_load: async
|
949
|
+
dependencies: false
|
950
|
+
pass_init_data: false
|
951
|
+
data:
|
952
|
+
css: []
|
953
|
+
files: [ adapter/js/customFunctions.js ]
|
954
|
+
js: []
|
955
|
+
init_function: [ j1.adapter.customFunctions.init ]
|
956
|
+
|
914
957
|
# ----------------------------------------------------------------------------
|
915
958
|
# Rouge, pure Ruby themeable code highlighter
|
916
959
|
# See: http://rouge.jneen.net/
|
@@ -1161,6 +1204,8 @@ resources:
|
|
1161
1204
|
required: ondemand
|
1162
1205
|
preload: false
|
1163
1206
|
script_load: defer
|
1207
|
+
dependencies: false
|
1208
|
+
pass_init_data: false
|
1164
1209
|
data:
|
1165
1210
|
files: [
|
1166
1211
|
adapter/js/algolia.js,
|
@@ -1526,5 +1571,31 @@ resources:
|
|
1526
1571
|
js: []
|
1527
1572
|
init_function: [ j1.adapter.comments.init ]
|
1528
1573
|
|
1574
|
+
# ----------------------------------------------------------------------------
|
1575
|
+
# Dropdowns. JS API to create simple dropdown menus
|
1576
|
+
#
|
1577
|
+
- name: Dropdowns
|
1578
|
+
resource:
|
1579
|
+
enabled: true
|
1580
|
+
|
1581
|
+
id: dropdowns
|
1582
|
+
comment: Dropdown Menus
|
1583
|
+
region: head
|
1584
|
+
layout: [ all ]
|
1585
|
+
required: ondemand
|
1586
|
+
preload: false
|
1587
|
+
script_load: sync
|
1588
|
+
dependencies: false
|
1589
|
+
pass_init_data: false
|
1590
|
+
data:
|
1591
|
+
css: [ modules/dropdowns/css/theme/uno/dropdowns ]
|
1592
|
+
files: [
|
1593
|
+
modules/dropdowns/js/cash.js, # adapted|old (1.3.5) version from Materialize
|
1594
|
+
modules/dropdowns/js/dropdowns.js, # modified version for J1
|
1595
|
+
adapter/js/dropdowns.js
|
1596
|
+
]
|
1597
|
+
js: []
|
1598
|
+
init_function: [ j1.adapter.dropdowns.init ]
|
1599
|
+
|
1529
1600
|
# ------------------------------------------------------------------------------
|
1530
1601
|
# END config
|
@@ -437,7 +437,7 @@ end::tables[]
|
|
437
437
|
// -----------------------------------------------------------------------------
|
438
438
|
tag::products[]
|
439
439
|
:j1--license: MIT License
|
440
|
-
:j1--version: 2022.0.
|
440
|
+
:j1--version: 2022.0.18
|
441
441
|
:j1--site-name: Jekyll One
|
442
442
|
end::products[]
|
443
443
|
|
@@ -284,7 +284,7 @@ module Jekyll
|
|
284
284
|
elsif defined?(site.data['date'])
|
285
285
|
date = site.data['date']
|
286
286
|
else
|
287
|
-
date = '
|
287
|
+
date = '2022-01-01 00:00:00'
|
288
288
|
end
|
289
289
|
|
290
290
|
tagline = site.data['tagline']
|
@@ -364,6 +364,6 @@ end
|
|
364
364
|
|
365
365
|
module Jekyll
|
366
366
|
module J1LunrSearch
|
367
|
-
VERSION = '2022.0.
|
367
|
+
VERSION = '2022.0.18'
|
368
368
|
end
|
369
369
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
title: Skeleton
|
3
3
|
tagline: multi document
|
4
|
-
date:
|
4
|
+
date: 2022-01-01 00:00:00
|
5
5
|
description: >
|
6
6
|
Multi-chapter documents are used for more complex articles of a website. If
|
7
7
|
the number of chapters is or exceeds three for an article, it could make sense
|
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
title: Roundtrip
|
3
3
|
tagline: present images
|
4
|
-
date: 2020-11-03 00:00:00
|
4
|
+
date: 2020-11-03 00:00:00
|
5
5
|
description: >
|
6
6
|
Welcome to the preview page focussing on the image module. This page
|
7
7
|
shows some valuable features of the J1 Template to manage your image-based
|
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
title: Roundtrip
|
3
3
|
tagline: present images
|
4
|
-
date: 2020-11-03 00:00:00
|
4
|
+
date: 2020-11-03 00:00:00
|
5
5
|
description: >
|
6
6
|
Welcome to the preview page focussing on the image module. This page
|
7
7
|
shows some valuable features of the J1 Template to manage your image-based
|
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
title: Roundtrip
|
3
3
|
tagline: present images
|
4
|
-
date: 2020-11-03 00:00:00
|
4
|
+
date: 2020-11-03 00:00:00
|
5
5
|
description: >
|
6
6
|
Welcome to the preview page focussing on the image module. This page
|
7
7
|
shows some valuable features of the J1 Template to manage your image-based
|
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
title: Roundtrip
|
3
3
|
tagline: present images
|
4
|
-
date: 2020-11-03 00:00:00
|
4
|
+
date: 2020-11-03 00:00:00
|
5
5
|
description: >
|
6
6
|
Welcome to the preview page focussing on the image module. This page
|
7
7
|
shows some valuable features of the J1 Template to manage your image-based
|
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
title: Roundtrip
|
3
3
|
tagline: typography
|
4
|
-
date: 2020-11-05 00:00:00
|
4
|
+
date: 2020-11-05 00:00:00
|
5
5
|
description: >
|
6
6
|
The character font serves as one of the most crucial branding elements for
|
7
7
|
any business. Typography matters for any media presenting text. The text will
|
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
title: Roundtrip
|
3
3
|
tagline: responsive tables
|
4
|
-
date: 2020-11-09 00:00:00
|
4
|
+
date: 2020-11-09 00:00:00
|
5
5
|
description: >
|
6
6
|
Creating a design for responsive tables is challenging. The approach used by
|
7
7
|
J1 Template is based on pure CSS on top of the classic Bootstrap styles for
|