jekyll-theme-centos 2.52.0.beta.92 → 2.52.0.beta.94
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/_data/base/bits_schema.yml +36 -4
- data/_includes/base/{download_accordion_item.html.liquid → accordion_item.html.liquid} +10 -9
- data/_includes/base/bits.html.liquid +121 -57
- data/_includes/base/download_commands.html.liquid +1 -1
- data/_includes/base/download_documentation.html.liquid +1 -1
- data/_includes/base/download_eol.html.liquid +1 -1
- data/_includes/base/download_screenshots.html.liquid +4 -4
- data/_includes/base/head.html.liquid +3 -3
- data/_includes/base/ogp.html.liquid +6 -6
- data/_sass/base/_download.scss +41 -4
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d1ddd48e40839e62993220986497939549cbacca43c0c8a26020996e3520a3e6
|
|
4
|
+
data.tar.gz: dccc3f654ba6ef736e52803738dd01eb9846024e37c09e16c52ed916ad83a59b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 15fe51e10c40b2e264a5008e0a315d7bb79180718dd6632416ae090adeb5fe71131abed39ba5416198eaced8978f9091e8accc731c0cf115b6fadc87dc265f09
|
|
7
|
+
data.tar.gz: 67b10667ff2b8831b4fbe115f2388f496f7a8b4295d5aabdb75f7ec437143c7396afefa9b322850fcacec2eb8529cde40dbd3111acddc9207748dc53b90ab064
|
data/_data/base/bits_schema.yml
CHANGED
|
@@ -112,7 +112,7 @@ properties:
|
|
|
112
112
|
items:
|
|
113
113
|
type: object
|
|
114
114
|
description: Configuration object for a single action button (link). Refer to the `link` component documentation for specific properties.
|
|
115
|
-
additionalProperties: true
|
|
115
|
+
additionalProperties: true
|
|
116
116
|
actions_class:
|
|
117
117
|
type: string
|
|
118
118
|
default: ""
|
|
@@ -135,11 +135,11 @@ properties:
|
|
|
135
135
|
Only relevant when `type` is set to `upstream`.
|
|
136
136
|
finale_class:
|
|
137
137
|
type: string
|
|
138
|
-
default: mb-3
|
|
138
|
+
default: "mb-3"
|
|
139
139
|
description: Custom Bootstrap classes applied to the `finale` message element (default adds margin-bottom).
|
|
140
140
|
class:
|
|
141
141
|
type: string
|
|
142
|
-
default: "bg-primary bg-opacity-10 border border-primary-subtle mb-3 p-
|
|
142
|
+
default: "bg-primary bg-opacity-10 border border-primary-subtle mb-3 p-3 pb-1 align-items-center text-center rounded"
|
|
143
143
|
description: >-
|
|
144
144
|
Custom Bootstrap classes applied to the main container of the
|
|
145
145
|
Upstream Bit layout. Use this to control padding, background, and element
|
|
@@ -148,6 +148,17 @@ properties:
|
|
|
148
148
|
type: string
|
|
149
149
|
default: "flex-column align-items-center text-center mb-3"
|
|
150
150
|
description: Custom Bootstrap classes applied directly to the card element inside the Upstream Bit container.
|
|
151
|
+
col_class:
|
|
152
|
+
type: string
|
|
153
|
+
default: "col-12 col-sm-4"
|
|
154
|
+
description: >-
|
|
155
|
+
Custom Bootstrap grid column class(es) applied to the wrapper around a
|
|
156
|
+
downstream Bit's card, controlling its width and responsiveness within
|
|
157
|
+
the downstream row (e.g., `col-12` to span the full row, `col-sm-6` to
|
|
158
|
+
share the row 50/50 with one other item, or the default `col-12 col-sm-4`
|
|
159
|
+
to keep three items evenly spaced from the small breakpoint up). Only
|
|
160
|
+
relevant when `type` is `downstream` and the parent Upstream Bit uses the
|
|
161
|
+
`card` downstream style — has no effect on `accordion` style.
|
|
151
162
|
color:
|
|
152
163
|
type: string
|
|
153
164
|
default: primary
|
|
@@ -175,11 +186,32 @@ properties:
|
|
|
175
186
|
to this Upstream Bit. For example, if the Upstream is at `/my-project/`,
|
|
176
187
|
this might be `/my-project/derivatives/`.
|
|
177
188
|
format: uri-reference
|
|
189
|
+
downstream_style:
|
|
190
|
+
type: string
|
|
191
|
+
default: card
|
|
192
|
+
description: >-
|
|
193
|
+
Presentation style for this Upstream Bit's downstream projects.
|
|
194
|
+
`card` (default) keeps the fixed 3-item card preview grid. `accordion`
|
|
195
|
+
renders every related downstream Bit as a Bootstrap accordion item
|
|
196
|
+
instead, optionally capped via `downstream_limit`. Only relevant
|
|
197
|
+
when `type` is `upstream`.
|
|
198
|
+
enum:
|
|
199
|
+
- card
|
|
200
|
+
- accordion
|
|
201
|
+
downstream_limit:
|
|
202
|
+
type: integer
|
|
203
|
+
minimum: 1
|
|
204
|
+
description: >-
|
|
205
|
+
Only used when `downstream_style` is `accordion`. Maximum number of
|
|
206
|
+
downstream Bits shown in the accordion for this Upstream Bit. When
|
|
207
|
+
omitted, every related downstream Bit is shown and the index-page
|
|
208
|
+
link is not rendered, since there is nothing left to link to. Has
|
|
209
|
+
no effect on the `card` style, whose display count stays fixed at 3.
|
|
178
210
|
required:
|
|
179
211
|
- screenshot
|
|
180
212
|
- description
|
|
181
213
|
- type
|
|
182
214
|
- color
|
|
183
|
-
- name
|
|
215
|
+
- name
|
|
184
216
|
additionalProperties: false
|
|
185
217
|
additionalProperties: false
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{% comment %}
|
|
2
2
|
================================================================================
|
|
3
|
-
Utility:
|
|
4
|
-
Purpose: The Bootstrap accordion-item/header/button/collapse/body shell
|
|
5
|
-
shared by the four sibling sections below a
|
|
6
|
-
(Screenshots, Documentation, Migration,
|
|
7
|
-
download_sections.html.liquid for how these compose into
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
Utility: Accordion Item
|
|
4
|
+
Purpose: The Bootstrap accordion-item/header/button/collapse/body shell,
|
|
5
|
+
shared across components. Used by the four sibling sections below a
|
|
6
|
+
release's architecture grid (Screenshots, Documentation, Migration,
|
|
7
|
+
End-of-life — see download_sections.html.liquid for how these compose into
|
|
8
|
+
one shared accordion) and by the bits component's accordion downstream
|
|
9
|
+
style (see bits.html.liquid). Body content is built by the caller via a
|
|
10
|
+
capture tag and passed in as a pre-rendered HTML string, since Jekyll's
|
|
11
|
+
Liquid include mechanism has no block/yield content-passing.
|
|
11
12
|
|
|
12
13
|
Required Inputs:
|
|
13
14
|
- icon: Font Awesome icon class shown before the title.
|
|
@@ -28,7 +29,7 @@ Optional Inputs:
|
|
|
28
29
|
<div class="accordion-header h2">
|
|
29
30
|
<button class="accordion-button{% unless include.expanded %} collapsed{% endunless %}" type="button" data-bs-toggle="collapse" data-bs-target="#{{ include.item_id }}" aria-expanded="{{ include.expanded }}" aria-controls="{{ include.item_id }}">
|
|
30
31
|
<i class="{{ include.icon }} me-2"></i>
|
|
31
|
-
<span class="
|
|
32
|
+
<span class="ms-1 fw-bold">{{ include.title }}</span>
|
|
32
33
|
</button>
|
|
33
34
|
</div>
|
|
34
35
|
<div id="{{ include.item_id }}" class="accordion-collapse collapse{% if include.expanded %} show{% endif %}" data-bs-parent="#{{ include.accordion_id }}">
|
|
@@ -1,42 +1,44 @@
|
|
|
1
1
|
{% comment %}
|
|
2
2
|
================================================================================
|
|
3
3
|
Template: Bits Component (Upstream/Downstream Relationships)
|
|
4
|
-
Purpose: Renders
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
- Card-based presentation: reuses card
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
-
|
|
4
|
+
Purpose: Renders upstream/downstream relationships — each upstream Bit as a
|
|
5
|
+
preamble/card/finale block, followed by its related downstream Bits in one
|
|
6
|
+
of two switchable presentation styles.
|
|
7
|
+
|
|
8
|
+
Design Logic:
|
|
9
|
+
- Hierarchical relationships: upstream parent, downstream children, linked
|
|
10
|
+
by matching `relationship` to the upstream's `name`
|
|
11
|
+
- Card-based presentation: reuses base/card.html.liquid for the upstream Bit
|
|
12
|
+
- Switchable downstream presentation, picked per upstream Bit via
|
|
13
|
+
`downstream_style`: `card` (default, fixed 3-item preview grid) or
|
|
14
|
+
`accordion` (every related item, optionally capped via `downstream_limit`)
|
|
15
|
+
- Optional sections: preamble, finale, "View All" link (shown once the
|
|
16
|
+
downstream count exceeds the effective style cap)
|
|
17
|
+
- Per-item downstream card width: each downstream Bit's own `col_class`
|
|
18
|
+
(card style only) controls its Bootstrap grid column class, so cards in the
|
|
19
|
+
same row need not be equal width
|
|
16
20
|
|
|
17
21
|
Required Inputs (from data objects):
|
|
18
|
-
- type: 'upstream' or 'downstream'
|
|
19
|
-
- name: Component name
|
|
20
|
-
- relationship: For downstream, name of upstream parent
|
|
22
|
+
- type: 'upstream' or 'downstream'
|
|
23
|
+
- name: Component name
|
|
24
|
+
- relationship: For downstream, name of its upstream parent
|
|
21
25
|
|
|
22
26
|
Optional Inputs (from data objects):
|
|
23
27
|
- description, screenshot, icon, image, actions, color
|
|
24
|
-
- preamble, finale: Text before/after card
|
|
28
|
+
- preamble, finale: Text before/after the upstream card
|
|
25
29
|
- class, card_class, preamble_class, finale_class: Custom styling
|
|
26
|
-
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
- Finale section with optional "View All" link (if >3 downstream)
|
|
39
|
-
- Downstream preview grid (max 3 items, filtered by relationship)
|
|
30
|
+
- downstream_style: 'card' (default) or 'accordion'
|
|
31
|
+
- downstream_limit: accordion style only; caps items shown, omit for
|
|
32
|
+
unlimited (all shown, "View All" link never rendered)
|
|
33
|
+
- col_class: card style only; Bootstrap column class per downstream card
|
|
34
|
+
(default: three-across)
|
|
35
|
+
- index_page_name, index_page_url: For the "View All" link
|
|
36
|
+
|
|
37
|
+
Data Source Hierarchy (priority order):
|
|
38
|
+
1. include.data
|
|
39
|
+
2. page.with_bits_data
|
|
40
|
+
3. site.data.bits
|
|
41
|
+
4. site.data.base.bits
|
|
40
42
|
================================================================================
|
|
41
43
|
{% endcomment %}
|
|
42
44
|
|
|
@@ -70,10 +72,13 @@ Component Layout:
|
|
|
70
72
|
{%- assign upstream_bit_screenshot_class = upstream_bit.screenshot_class | default: with_bits_schema.screenshot_class.default %}
|
|
71
73
|
{%- assign upstream_bit_actions_class = upstream_bit.actions_class | default: with_bits_schema.actions_class.default %}
|
|
72
74
|
{%- assign upstream_bit_btn_class = "btn btn-sm m-1 btn-" | append: upstream_bit_color %}
|
|
75
|
+
{%- assign upstream_bit_downstream_style = upstream_bit.downstream_style | default: with_bits_schema.downstream_style.default %}
|
|
76
|
+
{%- assign upstream_bit_downstream_limit = upstream_bit.downstream_limit %}
|
|
77
|
+
{%- assign card_style_downstream_cap = 3 %}
|
|
73
78
|
|
|
74
79
|
<div class="d-flex flex-column{% if upstream_bit_class != "" %} {{ upstream_bit_class }}{% endif %}">
|
|
75
80
|
|
|
76
|
-
{%- comment %} --- Upstream
|
|
81
|
+
{%- comment %} --- Upstream Preamble --- {% endcomment %}
|
|
77
82
|
{%- if upstream_bit.preamble %}
|
|
78
83
|
<p{% if upstream_bit_preamble_class != "" %} class="{{ upstream_bit_preamble_class }}"{% endif %}>{{ upstream_bit.preamble }}</p>
|
|
79
84
|
{%- endif %}
|
|
@@ -98,55 +103,114 @@ Component Layout:
|
|
|
98
103
|
actions = upstream_bit.actions
|
|
99
104
|
actions_class = upstream_bit_actions_class
|
|
100
105
|
color = upstream_bit_color
|
|
101
|
-
|
|
106
|
+
-%}
|
|
102
107
|
|
|
103
108
|
{%- comment %} --- Upstream Finale (Downstream Introduction) --- {% endcomment %}
|
|
104
109
|
{%- assign downstream_bits = with_bits_data | where: "type", "downstream" | where: "relationship", upstream_bit.name %}
|
|
105
110
|
{%- assign downstream_bit_total = downstream_bits | size %}
|
|
106
111
|
{%- assign downstream_bit_index_name = upstream_bit_index_page_name | append: " (" | append: downstream_bit_total | append: ")" %}
|
|
107
112
|
|
|
113
|
+
{%- assign downstream_display_limit = upstream_bit_downstream_limit %}
|
|
114
|
+
{%- if upstream_bit_downstream_style != "accordion" %}
|
|
115
|
+
{%- assign downstream_display_limit = card_style_downstream_cap %}
|
|
116
|
+
{%- endif %}
|
|
117
|
+
|
|
118
|
+
{%- assign show_index_link = false %}
|
|
119
|
+
{%- if downstream_display_limit and downstream_bit_total > downstream_display_limit %}
|
|
120
|
+
{%- assign show_index_link = true %}
|
|
121
|
+
{%- endif %}
|
|
122
|
+
|
|
108
123
|
{%- if upstream_bit.finale %}
|
|
109
|
-
<div class="d-flex flex-row w-100 justify-content-between align-items-center
|
|
124
|
+
<div class="d-flex flex-row w-100 justify-content-between align-items-center">
|
|
110
125
|
<p class="m-1{% if upstream_bit_finale_class != "" %} {{ upstream_bit_finale_class }}{% endif %}">{{ upstream_bit.finale }}</p>
|
|
111
|
-
{%- if
|
|
126
|
+
{%- if show_index_link %}
|
|
112
127
|
<div class="m-1">
|
|
113
|
-
{
|
|
128
|
+
{%- include base/link.html.liquid
|
|
114
129
|
name = downstream_bit_index_name
|
|
115
130
|
class = ""
|
|
116
131
|
icon = "fa-solid fa-arrow-right"
|
|
117
132
|
icon_position = "end"
|
|
118
133
|
link = upstream_bit_index_page_url
|
|
119
|
-
|
|
134
|
+
-%}
|
|
120
135
|
</div>
|
|
121
|
-
{
|
|
136
|
+
{%- endif %}
|
|
122
137
|
</div>
|
|
123
138
|
{%- endif %}
|
|
124
139
|
|
|
125
|
-
{%- comment %} --- Downstream
|
|
126
|
-
|
|
127
|
-
{%-
|
|
128
|
-
|
|
140
|
+
{%- comment %} --- Downstream Items --- {% endcomment %}
|
|
141
|
+
{%- if downstream_display_limit %}
|
|
142
|
+
{%- assign visible_downstream_bits = downstream_bits | slice: 0, downstream_display_limit %}
|
|
143
|
+
{%- else %}
|
|
144
|
+
{%- assign visible_downstream_bits = downstream_bits %}
|
|
145
|
+
{%- endif %}
|
|
146
|
+
|
|
147
|
+
{%- if upstream_bit_downstream_style == "accordion" %}
|
|
148
|
+
{%- assign downstream_accordion_id = upstream_bit_id | append: "-downstream-accordion" %}
|
|
149
|
+
{%- assign downstream_item_img_class = "img-fluid" %}
|
|
150
|
+
{%- else %}
|
|
151
|
+
{%- assign downstream_item_img_class = "card-img-top" %}
|
|
152
|
+
{%- endif %}
|
|
153
|
+
|
|
154
|
+
{%- capture downstream_items_html %}
|
|
155
|
+
{%- for downstream_bit in visible_downstream_bits %}
|
|
156
|
+
{%- assign downstream_bit_first_action = downstream_bit.actions | first %}
|
|
157
|
+
{%- capture downstream_bit_action_button %}
|
|
158
|
+
{%- if downstream_bit_first_action %}
|
|
159
|
+
{%- include base/link.html.liquid
|
|
160
|
+
name = downstream_bit_first_action.name
|
|
161
|
+
link = downstream_bit_first_action.link
|
|
162
|
+
class = upstream_bit_btn_class
|
|
163
|
+
icon = downstream_bit_first_action.icon
|
|
164
|
+
icon_position = downstream_bit_first_action.icon_position
|
|
165
|
+
-%}
|
|
166
|
+
{%- endif %}
|
|
167
|
+
{%- endcapture %}
|
|
168
|
+
|
|
169
|
+
{%- capture downstream_bit_media %}
|
|
129
170
|
<div class="bg-{{ upstream_bit_color }} rounded-top">
|
|
130
|
-
<img src="{{ site.baseurl }}/assets/img/{{ downstream_bit.screenshot }}" class="
|
|
171
|
+
<img src="{{ site.baseurl }}/assets/img/{{ downstream_bit.screenshot }}" class="{{ downstream_item_img_class }}" alt="{{ downstream_bit.screenshot }}">
|
|
131
172
|
</div>
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
173
|
+
{%- endcapture %}
|
|
174
|
+
|
|
175
|
+
{%- if upstream_bit_downstream_style == "accordion" %}
|
|
176
|
+
{%- assign downstream_bit_id = downstream_bit.name | replace: " ", "" | capitalize %}
|
|
177
|
+
{%- assign downstream_item_id = downstream_accordion_id | append: "-" | append: downstream_bit_id %}
|
|
178
|
+
{%- capture downstream_bit_body %}
|
|
179
|
+
{{- downstream_bit_media | strip -}}
|
|
180
|
+
<p class="card-text mt-3">{{ downstream_bit.description }}</p>
|
|
181
|
+
{{ downstream_bit_action_button }}
|
|
182
|
+
{%- endcapture %}
|
|
183
|
+
{%- include base/accordion_item.html.liquid
|
|
184
|
+
icon = downstream_bit.icon
|
|
185
|
+
title = downstream_bit.name
|
|
186
|
+
item_id = downstream_item_id
|
|
187
|
+
accordion_id = downstream_accordion_id
|
|
188
|
+
expanded = false
|
|
189
|
+
body = downstream_bit_body
|
|
190
|
+
-%}
|
|
191
|
+
{%- else %}
|
|
192
|
+
{%- assign downstream_bit_col_class = downstream_bit.col_class | default: with_bits_schema.col_class.default %}
|
|
193
|
+
<div class="{{ downstream_bit_col_class }}">
|
|
194
|
+
<div class="card border-{{ upstream_bit_color }}-subtle h-100">
|
|
195
|
+
{{- downstream_bit_media | strip -}}
|
|
196
|
+
<div class="card-body">
|
|
197
|
+
<p class="h5 card-title">{{ downstream_bit.name }}</p>
|
|
198
|
+
<p class="card-text">{{ downstream_bit.description }}</p>
|
|
199
|
+
{{ downstream_bit_action_button }}
|
|
200
|
+
</div>
|
|
201
|
+
</div>
|
|
144
202
|
</div>
|
|
145
|
-
|
|
203
|
+
{%- endif %}
|
|
146
204
|
{%- endfor %}
|
|
147
|
-
|
|
205
|
+
{%- endcapture %}
|
|
206
|
+
|
|
207
|
+
{%- if upstream_bit_downstream_style == "accordion" %}
|
|
208
|
+
<div class="accordion w-100 mb-3" id="{{ downstream_accordion_id }}">{{- downstream_items_html -}}</div>
|
|
209
|
+
{%- else %}
|
|
210
|
+
<div class="row w-100 mb-3 g-2">{{- downstream_items_html -}}</div>
|
|
211
|
+
{%- endif %}
|
|
148
212
|
|
|
149
213
|
</div>
|
|
150
|
-
{
|
|
214
|
+
{%- endfor %}
|
|
151
215
|
|
|
152
216
|
{%- endif -%}
|
|
@@ -24,4 +24,4 @@ Required Inputs:
|
|
|
24
24
|
{%- endif %}
|
|
25
25
|
{%- endfor %}
|
|
26
26
|
{%- endcapture -%}
|
|
27
|
-
{%- include base/
|
|
27
|
+
{%- include base/accordion_item.html.liquid icon="fa-solid fa-terminal" title="Migration" item_id=include.item_id accordion_id=include.accordion_id expanded=include.expanded body=download_commands_body -%}
|
|
@@ -55,4 +55,4 @@ kinds doesn't end up with paragraphs breaking up a button row.
|
|
|
55
55
|
{%- if download_documentation_prose_stripped != "" %}{{ download_documentation_prose }}{%- endif %}
|
|
56
56
|
{%- if download_documentation_buttons_stripped != "" %}<div class="d-flex flex-wrap gap-2">{{ download_documentation_buttons }}</div>{%- endif %}
|
|
57
57
|
{%- endcapture -%}
|
|
58
|
-
{%- include base/
|
|
58
|
+
{%- include base/accordion_item.html.liquid icon="fa-solid fa-book" title="Documentation" item_id=include.item_id accordion_id=include.accordion_id expanded=include.expanded body=download_documentation_body -%}
|
|
@@ -26,4 +26,4 @@ Required Inputs:
|
|
|
26
26
|
{%- endfor %}
|
|
27
27
|
</ul>
|
|
28
28
|
{%- endcapture -%}
|
|
29
|
-
{%- include base/
|
|
29
|
+
{%- include base/accordion_item.html.liquid icon="fa-solid fa-hourglass-end" title="End-of-life" item_id=include.item_id accordion_id=include.accordion_id expanded=include.expanded body=download_eol_body -%}
|
|
@@ -87,15 +87,15 @@ row too.
|
|
|
87
87
|
{%- endfor %}
|
|
88
88
|
</div>
|
|
89
89
|
<button class="carousel-control-prev" type="button" data-bs-target="#carouselScreenshotsIndicators-{{ include.release_id }}" data-bs-slide="prev">
|
|
90
|
-
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
|
|
90
|
+
<span class="carousel-control-prev-icon" aria-hidden="true"><i class="fa-solid fa-chevron-left"></i></span>
|
|
91
91
|
<span class="visually-hidden">Previous</span>
|
|
92
92
|
</button>
|
|
93
93
|
<button class="carousel-control-next" type="button" data-bs-target="#carouselScreenshotsIndicators-{{ include.release_id }}" data-bs-slide="next">
|
|
94
|
-
<span class="carousel-control-next-icon" aria-hidden="true"></span>
|
|
94
|
+
<span class="carousel-control-next-icon" aria-hidden="true"><i class="fa-solid fa-chevron-right"></i></span>
|
|
95
95
|
<span class="visually-hidden">Next</span>
|
|
96
96
|
</button>
|
|
97
97
|
</div>
|
|
98
|
-
<div class="carousel-indicators">
|
|
98
|
+
<div class="carousel-indicators mt-3">
|
|
99
99
|
{%- for row in include.screenshots %}
|
|
100
100
|
<button
|
|
101
101
|
{%- if forloop.first %} class="active" aria-current="true"{% endif %}
|
|
@@ -108,4 +108,4 @@ row too.
|
|
|
108
108
|
</div>
|
|
109
109
|
</div>
|
|
110
110
|
{%- endcapture -%}
|
|
111
|
-
{%- include base/
|
|
111
|
+
{%- include base/accordion_item.html.liquid icon="fa-solid fa-desktop" title="Screenshots" item_id=include.item_id accordion_id=include.accordion_id expanded=include.expanded body_class="p-0" body=download_screenshots_body -%}
|
|
@@ -39,11 +39,11 @@ Optional Inputs:
|
|
|
39
39
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
40
40
|
<meta name="referrer" content="strict-origin-when-cross-origin" />
|
|
41
41
|
{% if page.title == site.title -%}
|
|
42
|
-
<title>{{ page.title }}</title>
|
|
42
|
+
<title>{{ page.title | escape }}</title>
|
|
43
43
|
{% else -%}
|
|
44
|
-
<title>{{ page.title }} - {{ site.title }}</title>
|
|
44
|
+
<title>{{ page.title | escape }} - {{ site.title | escape }}</title>
|
|
45
45
|
{% endif -%}
|
|
46
|
-
<meta name="description" content="{{ page.description | default: page.excerpt | default: page.title_lead | default: site.description | strip_html | truncate: 160 }}" />
|
|
46
|
+
<meta name="description" content="{{ page.description | default: page.excerpt | default: page.title_lead | default: site.description | strip_html | truncate: 160 | escape }}" />
|
|
47
47
|
{% include base/ogp.html.liquid %}
|
|
48
48
|
<link rel="icon" href="{{ site.baseurl }}/assets/icons/favicon-16.png" sizes="16x16" />
|
|
49
49
|
<link rel="icon" href="{{ site.baseurl }}/assets/icons/favicon-32.png" sizes="32x32" />
|
|
@@ -90,7 +90,7 @@ Data Source Hierarchy:
|
|
|
90
90
|
|
|
91
91
|
{%- comment %} --- Title --- {% endcomment %}
|
|
92
92
|
{%- if with_ogp_data[property].title %}
|
|
93
|
-
<meta {{ meta_attr }}="{{ property }}:title" content="{{ page.title }}" />
|
|
93
|
+
<meta {{ meta_attr }}="{{ property }}:title" content="{{ page.title | escape }}" />
|
|
94
94
|
{%- endif %}
|
|
95
95
|
|
|
96
96
|
{%- comment %} --- OG type and logo (after title, before url) --- {% endcomment %}
|
|
@@ -110,11 +110,11 @@ Data Source Hierarchy:
|
|
|
110
110
|
{%- comment %} --- Description --- {% endcomment %}
|
|
111
111
|
{%- if with_ogp_data[property].description %}
|
|
112
112
|
{%- if page.excerpt %}
|
|
113
|
-
<meta {{ meta_attr }}="{{ property }}:description" content="{{ page.excerpt }}" />
|
|
113
|
+
<meta {{ meta_attr }}="{{ property }}:description" content="{{ page.excerpt | strip_html | escape }}" />
|
|
114
114
|
{%- elsif page.title_lead %}
|
|
115
|
-
<meta {{ meta_attr }}="{{ property }}:description" content="{{ page.title_lead }}" />
|
|
115
|
+
<meta {{ meta_attr }}="{{ property }}:description" content="{{ page.title_lead | escape }}" />
|
|
116
116
|
{%- else %}
|
|
117
|
-
<meta {{ meta_attr }}="{{ property }}:description" content="{{ site.description }}" />
|
|
117
|
+
<meta {{ meta_attr }}="{{ property }}:description" content="{{ site.description | escape }}" />
|
|
118
118
|
{%- endif %}
|
|
119
119
|
{%- endif %}
|
|
120
120
|
|
|
@@ -127,14 +127,14 @@ Data Source Hierarchy:
|
|
|
127
127
|
<meta {{ meta_attr }}="{{ property }}:image:width" content="{{ ogp_image_width }}" />
|
|
128
128
|
<meta {{ meta_attr }}="{{ property }}:image:height" content="{{ ogp_image_height }}" />
|
|
129
129
|
{%- endif %}
|
|
130
|
-
<meta {{ meta_attr }}="{{ property }}:image:alt" content="{{ with_ogp_data[property].image.alt | default: with_ogp_og_image_schema.alt.default | default: 'The CentOS Project' }}" />
|
|
130
|
+
<meta {{ meta_attr }}="{{ property }}:image:alt" content="{{ with_ogp_data[property].image.alt | default: with_ogp_og_image_schema.alt.default | default: 'The CentOS Project' | escape }}" />
|
|
131
131
|
{%- endif %}
|
|
132
132
|
|
|
133
133
|
{%- comment %} --- OG site_name and locale (after image) --- {% endcomment %}
|
|
134
134
|
{%- if property == "og" %}
|
|
135
135
|
{%- assign ogp_site_name = with_ogp_data.og.site_name | default: site.title %}
|
|
136
136
|
{%- if ogp_site_name %}
|
|
137
|
-
<meta property="og:site_name" content="{{ ogp_site_name }}" />
|
|
137
|
+
<meta property="og:site_name" content="{{ ogp_site_name | escape }}" />
|
|
138
138
|
{%- endif %}
|
|
139
139
|
<meta property="og:locale" content="{{ ogp_locale }}" />
|
|
140
140
|
{%- endif %}
|
data/_sass/base/_download.scss
CHANGED
|
@@ -94,7 +94,8 @@
|
|
|
94
94
|
// and recolored with the theme's own primary shades (var(--bs-border-color)
|
|
95
95
|
// is centos-purple-100, var(--bs-primary) is centos-purple — see
|
|
96
96
|
// _variables.scss) instead of Bootstrap's opacity-based active/inactive
|
|
97
|
-
// distinction
|
|
97
|
+
// distinction. The active dot also widens into a pill (GNOME workspace-
|
|
98
|
+
// switcher style), so both color and size signal "current slide", not just a
|
|
98
99
|
// subtle 50%-vs-100%-opacity difference easy to miss.
|
|
99
100
|
// ================================================================================
|
|
100
101
|
|
|
@@ -111,11 +112,36 @@
|
|
|
111
112
|
|
|
112
113
|
.carousel-control-prev-icon,
|
|
113
114
|
.carousel-control-next-icon {
|
|
115
|
+
display: flex;
|
|
116
|
+
align-items: center;
|
|
117
|
+
justify-content: center;
|
|
114
118
|
width: 2.5rem;
|
|
115
119
|
height: 2.5rem;
|
|
116
|
-
|
|
117
|
-
|
|
120
|
+
// $body-color is centos-purple-900 (see _variables.scss) — used via the Sass
|
|
121
|
+
// variable, not a CSS custom property: Bootstrap computes its `-rgb`
|
|
122
|
+
// companion variables from $theme-colors before base/maps.scss merges in
|
|
123
|
+
// the extended centos-purple-XXX shades, so no --bs-centos-purple-900-rgb
|
|
124
|
+
// ever gets generated for rgba() to reference.
|
|
125
|
+
background-color: rgba($body-color, .55); // dark scrim tinted with the theme's own purple, not neutral black
|
|
126
|
+
background-image: none; // drop Bootstrap's built-in chevron SVG — replaced with a FontAwesome icon
|
|
118
127
|
border-radius: 50%;
|
|
128
|
+
transition: background-color .2s ease;
|
|
129
|
+
|
|
130
|
+
i {
|
|
131
|
+
font-size: 1.1rem;
|
|
132
|
+
color: #fff;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.carousel-control-prev:hover .carousel-control-prev-icon,
|
|
137
|
+
.carousel-control-prev:focus-visible .carousel-control-prev-icon,
|
|
138
|
+
.carousel-control-next:hover .carousel-control-next-icon,
|
|
139
|
+
.carousel-control-next:focus-visible .carousel-control-next-icon {
|
|
140
|
+
// :focus-visible, not :focus — a mouse click also sets :focus on a
|
|
141
|
+
// <button>, which would leave the highlight stuck after the pointer
|
|
142
|
+
// moves away; :focus-visible only fires for keyboard navigation, so the
|
|
143
|
+
// mouse-driven highlight is hover-only while Tab users still get a cue.
|
|
144
|
+
background-color: var(--bs-primary); // full-opacity primary on hover/focus, same interactive cue as the active indicator dot
|
|
119
145
|
}
|
|
120
146
|
|
|
121
147
|
.carousel-indicators {
|
|
@@ -129,11 +155,22 @@
|
|
|
129
155
|
margin-right: .375rem;
|
|
130
156
|
margin-left: .375rem;
|
|
131
157
|
background-color: var(--bs-border-color); // primary-100, see _variables.scss
|
|
132
|
-
border
|
|
158
|
+
// Reset Bootstrap's default 10px transparent top/bottom border (its
|
|
159
|
+
// thin-bar click-hit-area trick): left in place, its background-clip:
|
|
160
|
+
// padding-box carries over too, and clips our visible color to a
|
|
161
|
+
// padding-box radius of border-radius minus that 10px border — well
|
|
162
|
+
// below 0, so the dot renders square no matter what radius we set.
|
|
163
|
+
border: 0;
|
|
164
|
+
// Fixed radius (half the dot's own height), not 50%: a percentage is
|
|
165
|
+
// computed per-axis, so on the wider active dot it would stretch into
|
|
166
|
+
// an ellipse instead of keeping the same round end-caps as the circle.
|
|
167
|
+
border-radius: .3125rem;
|
|
133
168
|
opacity: 1;
|
|
169
|
+
transition: width .2s ease, background-color .2s ease;
|
|
134
170
|
}
|
|
135
171
|
|
|
136
172
|
.active {
|
|
173
|
+
width: 1.375rem;
|
|
137
174
|
background-color: var(--bs-primary);
|
|
138
175
|
}
|
|
139
176
|
}
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jekyll-theme-centos
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.52.0.beta.
|
|
4
|
+
version: 2.52.0.beta.94
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alain Reguera Delgado
|
|
@@ -326,6 +326,7 @@ files:
|
|
|
326
326
|
- _data/base/sponsors_schema.yml
|
|
327
327
|
- _data/base/title_schema.yml
|
|
328
328
|
- _data/base/toc_schema.yml
|
|
329
|
+
- _includes/base/accordion_item.html.liquid
|
|
329
330
|
- _includes/base/announcement.html.liquid
|
|
330
331
|
- _includes/base/artwork.html.liquid
|
|
331
332
|
- _includes/base/backtotop.html.liquid
|
|
@@ -344,7 +345,6 @@ files:
|
|
|
344
345
|
- _includes/base/copyvalue.html.liquid
|
|
345
346
|
- _includes/base/datatable.html.liquid
|
|
346
347
|
- _includes/base/download.html.liquid
|
|
347
|
-
- _includes/base/download_accordion_item.html.liquid
|
|
348
348
|
- _includes/base/download_architecture.html.liquid
|
|
349
349
|
- _includes/base/download_commands.html.liquid
|
|
350
350
|
- _includes/base/download_documentation.html.liquid
|