jekyll-theme-centos 2.52.0.beta.94 → 2.52.0.beta.95

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d1ddd48e40839e62993220986497939549cbacca43c0c8a26020996e3520a3e6
4
- data.tar.gz: dccc3f654ba6ef736e52803738dd01eb9846024e37c09e16c52ed916ad83a59b
3
+ metadata.gz: 514d7cf7b23b5a2233b00dd34553cc9be81540fafc2fef9a3e3bdcd223355140
4
+ data.tar.gz: 11d9d4be1415ddf484b5f1c590fab9a79fb26d24a77e49724f93649d6680444f
5
5
  SHA512:
6
- metadata.gz: 15fe51e10c40b2e264a5008e0a315d7bb79180718dd6632416ae090adeb5fe71131abed39ba5416198eaced8978f9091e8accc731c0cf115b6fadc87dc265f09
7
- data.tar.gz: 67b10667ff2b8831b4fbe115f2388f496f7a8b4295d5aabdb75f7ec437143c7396afefa9b322850fcacec2eb8529cde40dbd3111acddc9207748dc53b90ab064
6
+ metadata.gz: ea8fca5a2626aaab45cef3f673115e3a4260f6ff5b9d31e9b436b5bb304413d879df61e586316fb2ff38bf58ceba27c6e99bdd89412b38f17a42f6d4b9cde8bd
7
+ data.tar.gz: c8f7a9cfc0ea451c92192656de898a3c2add1219a4ffa08eb4758520b48bbdc59ffe4ce82ed506d46fce7961228d407384524405e7798ee88873b50c4a2253c1
@@ -0,0 +1,100 @@
1
+ title: Accordion Component Configuration
2
+ description: >-
3
+ Schema for configuring a Bootstrap accordion. `accordion.html.liquid`
4
+ renders the wrapper `<div class="accordion" id="...">`, given a
5
+ pre-rendered HTML string of one or more accordion-item includes built by
6
+ the caller. `accordion-item.html.liquid` renders one accordion-item
7
+ (header/button/collapse/body); its own defaults live under `item`, below.
8
+ All parameters are passed directly as include parameters when calling
9
+ either component.
10
+ type: object
11
+ properties:
12
+ id:
13
+ type: string
14
+ default: ""
15
+ description: >-
16
+ The wrapper's DOM id, referenced by every child accordion-item's
17
+ `data-bs-parent` scoping. This field is required.
18
+ class:
19
+ type: string
20
+ default: ""
21
+ description: >-
22
+ CSS classes applied to the wrapper `<div class="accordion ...">`
23
+ (e.g., `accordion-flush mt-3`, `w-100 mb-3`).
24
+ items:
25
+ type: string
26
+ default: ""
27
+ description: >-
28
+ Pre-rendered HTML string containing one or more `accordion-item`
29
+ includes, built by the caller via a `capture` tag (looping and
30
+ appending one accordion-item render per iteration, or capturing
31
+ several sibling includes together). This field is required.
32
+ item:
33
+ type: object
34
+ description: >-
35
+ Per-item defaults, used by accordion-item.html.liquid. Each accordion
36
+ item is rendered by its own include call — this component never
37
+ loops over structured item data itself.
38
+ properties:
39
+ icon:
40
+ type: string
41
+ default: ""
42
+ description: >-
43
+ Font Awesome icon class shown before the title (e.g., `fa-solid
44
+ fa-book`). This field is required.
45
+ title:
46
+ type: string
47
+ default: ""
48
+ description: Accordion button label text. This field is required.
49
+ title_class:
50
+ type: string
51
+ default: "ms-1"
52
+ description: >-
53
+ CSS classes applied to the title `<span>`, replacing the default
54
+ (e.g., `ms-1 fw-bold` for a bold title instead of the
55
+ regular-weight default).
56
+ item_id:
57
+ type: string
58
+ default: ""
59
+ description: >-
60
+ This item's unique collapse id, used for `data-bs-target`/`id`/
61
+ `aria-controls` wiring. Must be unique across the page. This
62
+ field is required.
63
+ accordion_id:
64
+ type: string
65
+ default: ""
66
+ description: >-
67
+ The parent accordion wrapper's id, used for `data-bs-parent`
68
+ scoping so this item collapses its siblings correctly. Must match
69
+ the `id` passed to accordion.html.liquid for the surrounding
70
+ wrapper. This field is required.
71
+ expanded:
72
+ type: boolean
73
+ default: false
74
+ description: >-
75
+ `true` starts this item open (`show` class,
76
+ `aria-expanded="true"`, button not collapsed); `false` (default)
77
+ starts it closed.
78
+ body:
79
+ type: string
80
+ default: ""
81
+ description: >-
82
+ Pre-rendered HTML string (built via a `capture` tag at the call
83
+ site) for the accordion-body's contents. This field is required.
84
+ body_class:
85
+ type: string
86
+ default: ""
87
+ description: >-
88
+ Extra CSS classes appended to `accordion-body` (e.g., `p-0` to
89
+ remove body padding when the content supplies its own).
90
+ required:
91
+ - icon
92
+ - title
93
+ - item_id
94
+ - accordion_id
95
+ - body
96
+ additionalProperties: false
97
+ required:
98
+ - id
99
+ - items
100
+ additionalProperties: false
@@ -0,0 +1,55 @@
1
+ {% comment %}
2
+ ================================================================================
3
+ Template: Accordion Item Component
4
+ Purpose: Renders a single Bootstrap accordion-item (header/button/collapse/
5
+ body), the shared shell for one collapsible entry within an accordion.
6
+ Pairs with accordion.html.liquid, which renders the surrounding wrapper —
7
+ this component only renders one item; callers loop/capture as many as they
8
+ need and pass the concatenated result to accordion.html.liquid as `items`.
9
+
10
+ Design Logic:
11
+ - Bootstrap's accordion-item/header/button/collapse/body markup, driven
12
+ entirely by include parameters — no data-source fallback chain
13
+ - `item_id`/`accordion_id` scope this item's collapse behavior to the
14
+ caller-supplied parent accordion via `data-bs-parent`
15
+ - `expanded` toggles the initial open/closed state across button, collapse
16
+ container, and ARIA attributes together
17
+
18
+ Optional Inputs:
19
+ - title_class: Classes for the title span, replacing the "ms-1" default
20
+ (e.g. "ms-1 fw-bold" for a bold title).
21
+ - body_class: Extra classes appended to "accordion-body" (e.g. "p-0" to
22
+ remove body padding when the content supplies its own).
23
+
24
+ Data Source:
25
+ - Derived from include parameters only
26
+ ================================================================================
27
+ {% endcomment %}
28
+
29
+ {%- assign with_accordion_item_schema = site.data.base.accordion_schema.properties.item.properties %}
30
+
31
+ {%- assign accordion_item_icon = include.icon | default: with_accordion_item_schema.icon.default %}
32
+ {%- assign accordion_item_title = include.title | default: with_accordion_item_schema.title.default %}
33
+ {%- assign accordion_item_title_class = include.title_class | default: with_accordion_item_schema.title_class.default %}
34
+ {%- assign accordion_item_item_id = include.item_id | default: with_accordion_item_schema.item_id.default %}
35
+ {%- assign accordion_item_accordion_id = include.accordion_id | default: with_accordion_item_schema.accordion_id.default %}
36
+ {%- assign accordion_item_expanded = include.expanded | default: with_accordion_item_schema.expanded.default %}
37
+ {%- assign accordion_item_body = include.body | default: with_accordion_item_schema.body.default %}
38
+ {%- assign accordion_item_body_class = include.body_class | default: with_accordion_item_schema.body_class.default %}
39
+
40
+ {%- comment %} === Presentation === {% endcomment %}
41
+ {%- comment %} --- HTML --- {% endcomment -%}
42
+ <div class="accordion-item">
43
+ <div class="accordion-header h2">
44
+ <button class="accordion-button{% unless accordion_item_expanded %} collapsed{% endunless %}" type="button" data-bs-toggle="collapse" data-bs-target="#{{ accordion_item_item_id }}" aria-expanded="{{ accordion_item_expanded }}" aria-controls="{{ accordion_item_item_id }}">
45
+ <i class="{{ accordion_item_icon }} me-2"></i>
46
+ <span{% unless accordion_item_title_class == blank %} class="{{ accordion_item_title_class }}"{% endunless %}>{{ accordion_item_title }}</span>
47
+ </button>
48
+ </div>
49
+ <div id="{{ accordion_item_item_id }}" class="accordion-collapse collapse{% if accordion_item_expanded %} show{% endif %}" data-bs-parent="#{{ accordion_item_accordion_id }}">
50
+ <div class="accordion-body{% if accordion_item_body_class != "" %} {{ accordion_item_body_class }}{% endif %}">
51
+ {{ accordion_item_body }}
52
+ </div>
53
+ </div>
54
+ </div>
55
+ {%- comment %} trim trailing output {% endcomment -%}
@@ -0,0 +1,40 @@
1
+ {% comment %}
2
+ ================================================================================
3
+ Template: Accordion Wrapper Component
4
+ Purpose: Renders the Bootstrap accordion wrapper `<div class="accordion"
5
+ id="...">`, given a pre-rendered HTML string of one or more accordion-item
6
+ includes. Pairs with accordion-item.html.liquid, which renders each
7
+ individual item — see that file for the item-level markup. Callers build
8
+ `items` via a capture tag: loop-and-append when the item count is dynamic
9
+ (see bits.html.liquid), or capture several sibling accordion-item includes
10
+ together when the items are fixed (see download_sections.html.liquid).
11
+
12
+ Design Logic:
13
+ - Wrapper only: no looping over structured item data — Jekyll's Liquid
14
+ include mechanism has no block/yield content-passing, so per-item body
15
+ content must already be caller-rendered HTML by the time it reaches this
16
+ component
17
+ - `id` is the scoping anchor every child accordion-item's `accordion_id`
18
+ parameter must match, via `data-bs-parent`
19
+
20
+ Optional Inputs:
21
+ - class: Extra classes appended to "accordion" (e.g. "accordion-flush
22
+ mt-3", "w-100 mb-3").
23
+
24
+ Data Source:
25
+ - Derived from include parameters only
26
+ ================================================================================
27
+ {% endcomment %}
28
+
29
+ {%- assign with_accordion_schema = site.data.base.accordion_schema.properties %}
30
+
31
+ {%- assign accordion_id = include.id | default: with_accordion_schema.id.default %}
32
+ {%- assign accordion_class = include.class | default: with_accordion_schema.class.default %}
33
+ {%- assign accordion_items = include.items | default: with_accordion_schema.items.default %}
34
+
35
+ {%- comment %} === Presentation === {% endcomment %}
36
+ {%- comment %} --- HTML --- {% endcomment -%}
37
+ <div class="accordion{% if accordion_class != "" %} {{ accordion_class }}{% endif %}" id="{{ accordion_id }}">
38
+ {{- accordion_items -}}
39
+ </div>
40
+ {%- comment %} trim trailing output {% endcomment -%}
@@ -167,20 +167,37 @@ Data Source Hierarchy (priority order):
167
167
  {%- endcapture %}
168
168
 
169
169
  {%- capture downstream_bit_media %}
170
+ {% if downstream_bit.screenshot and downstream_bit.screenshot != "" %}
170
171
  <div class="bg-{{ upstream_bit_color }} rounded-top">
171
172
  <img src="{{ site.baseurl }}/assets/img/{{ downstream_bit.screenshot }}" class="{{ downstream_item_img_class }}" alt="{{ downstream_bit.screenshot }}">
172
173
  </div>
174
+ {% endif %}
173
175
  {%- endcapture %}
174
176
 
175
177
  {%- if upstream_bit_downstream_style == "accordion" %}
176
178
  {%- assign downstream_bit_id = downstream_bit.name | replace: " ", "" | capitalize %}
177
179
  {%- assign downstream_item_id = downstream_accordion_id | append: "-" | append: downstream_bit_id %}
180
+ {%- capture downstream_bit_actions_full %}
181
+ {%- if downstream_bit.actions.size > 0 %}
182
+ <div class="{{ upstream_bit_actions_class }}">
183
+ {%- for downstream_bit_action in downstream_bit.actions %}
184
+ {%- include base/link.html.liquid
185
+ name = downstream_bit_action.name
186
+ link = downstream_bit_action.link
187
+ class = upstream_bit_btn_class
188
+ icon = downstream_bit_action.icon
189
+ icon_position = downstream_bit_action.icon_position
190
+ -%}
191
+ {%- endfor %}
192
+ </div>
193
+ {%- endif %}
194
+ {%- endcapture %}
178
195
  {%- capture downstream_bit_body %}
179
196
  {{- downstream_bit_media | strip -}}
180
197
  <p class="card-text mt-3">{{ downstream_bit.description }}</p>
181
- {{ downstream_bit_action_button }}
198
+ {{ downstream_bit_actions_full }}
182
199
  {%- endcapture %}
183
- {%- include base/accordion_item.html.liquid
200
+ {%- include base/accordion-item.html.liquid
184
201
  icon = downstream_bit.icon
185
202
  title = downstream_bit.name
186
203
  item_id = downstream_item_id
@@ -205,7 +222,7 @@ Data Source Hierarchy (priority order):
205
222
  {%- endcapture %}
206
223
 
207
224
  {%- if upstream_bit_downstream_style == "accordion" %}
208
- <div class="accordion w-100 mb-3" id="{{ downstream_accordion_id }}">{{- downstream_items_html -}}</div>
225
+ {%- include base/accordion.html.liquid id=downstream_accordion_id class="w-100 mb-3" items=downstream_items_html -%}
209
226
  {%- else %}
210
227
  <div class="row w-100 mb-3 g-2">{{- downstream_items_html -}}</div>
211
228
  {%- endif %}
@@ -1,3 +1,4 @@
1
+ <div class="table-responsive bg-light border rounded mb-3">
1
2
  <table class="table dataTable">
2
3
  <thead>
3
4
  <tr>
@@ -34,3 +35,4 @@
34
35
  {%- endfor %}
35
36
  </tbody>
36
37
  </table>
38
+ </div>
@@ -24,4 +24,4 @@ Required Inputs:
24
24
  {%- endif %}
25
25
  {%- endfor %}
26
26
  {%- endcapture -%}
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 -%}
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/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 -%}
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/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 -%}
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 -%}
@@ -108,4 +108,4 @@ row too.
108
108
  </div>
109
109
  </div>
110
110
  {%- endcapture -%}
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 -%}
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 -%}
@@ -31,7 +31,7 @@ Required Inputs:
31
31
  {%- assign meta_eol_id = meta_accordion_id | append: "-eol" %}
32
32
 
33
33
  {%- if include.release_data.documentation.size > 0 or include.release_data.commands.size > 0 or include.release_data.eol.size > 0 or include.release_data.screenshots.size > 0 %}
34
- <div class="accordion accordion-flush mt-3" id="{{ meta_accordion_id }}">
34
+ {%- capture meta_accordion_items %}
35
35
  {%- if include.release_data.screenshots.size > 0 %}
36
36
  {%- include base/download_screenshots.html.liquid screenshots=include.release_data.screenshots image_base_path=include.image_base_path release_id=include.release_id accordion_id=meta_accordion_id item_id=meta_screenshots_id expanded=false -%}
37
37
  {%- endif %}
@@ -47,5 +47,6 @@ Required Inputs:
47
47
  {%- if include.release_data.eol.size > 0 %}
48
48
  {%- include base/download_eol.html.liquid eol=include.release_data.eol accordion_id=meta_accordion_id item_id=meta_eol_id expanded=false -%}
49
49
  {%- endif %}
50
- </div>
50
+ {%- endcapture %}
51
+ {%- include base/accordion.html.liquid id=meta_accordion_id class="accordion-flush mt-3" items=meta_accordion_items -%}
51
52
  {%- endif %}
@@ -130,6 +130,7 @@ Data Object Properties:
130
130
 
131
131
  {% capture table %}
132
132
  {% assign show_page_filename = include.show_page_filename | default: "false" %}
133
+ <div class="table-responsive bg-light border rounded mb-3">
133
134
  <table class="table dataTable">
134
135
  <thead>
135
136
  <tr>
@@ -148,14 +149,16 @@ Data Object Properties:
148
149
  <td>{% include base/link.html.liquid name=item.title link=item.url %}</td>
149
150
  {%- endif %}
150
151
  {%- endif %}
151
- <td>{{ item.title_lead | strip_newlines | markdownify }}</td>
152
+ <td>{{ item.title_lead | strip_newlines | markdownify | remove: "<p>" | remove: "</p>" | strip }}</td>
152
153
  </tr>
153
154
  {%- endfor %}
154
155
  </tbody>
155
156
  </table>
157
+ </div>
156
158
  {%- endcapture %}
157
159
 
158
160
  {% capture component_table %}
161
+ <div class="table-responsive bg-light border rounded mb-3">
159
162
  <table class="table dataTable">
160
163
  <thead>
161
164
  <tr>
@@ -181,11 +184,12 @@ Data Object Properties:
181
184
  <tr>
182
185
  <td>{% include base/link.html.liquid name=item.component.name link=item.url %}</td>
183
186
  <td class="text-nowrap">{{ status_icon }}</td>
184
- <td>{{ item.title_lead | strip_newlines | markdownify }}</td>
187
+ <td>{{ item.title_lead | strip_newlines | markdownify | remove: "<p>" | remove: "</p>" | strip }}</td>
185
188
  </tr>
186
189
  {%- endfor %}
187
190
  </tbody>
188
191
  </table>
192
+ </div>
189
193
  {% endcapture %}
190
194
 
191
195
  {% case format %}
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.94
4
+ version: 2.52.0.beta.95
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alain Reguera Delgado
@@ -280,6 +280,7 @@ extensions: []
280
280
  extra_rdoc_files: []
281
281
  files:
282
282
  - _config.yml
283
+ - _data/base/accordion_schema.yml
283
284
  - _data/base/announcement_schema.yml
284
285
  - _data/base/artwork_schema.yml
285
286
  - _data/base/backtotop_schema.yml
@@ -326,7 +327,8 @@ files:
326
327
  - _data/base/sponsors_schema.yml
327
328
  - _data/base/title_schema.yml
328
329
  - _data/base/toc_schema.yml
329
- - _includes/base/accordion_item.html.liquid
330
+ - _includes/base/accordion-item.html.liquid
331
+ - _includes/base/accordion.html.liquid
330
332
  - _includes/base/announcement.html.liquid
331
333
  - _includes/base/artwork.html.liquid
332
334
  - _includes/base/backtotop.html.liquid
@@ -1,40 +0,0 @@
1
- {% comment %}
2
- ================================================================================
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.
12
-
13
- Required Inputs:
14
- - icon: Font Awesome icon class shown before the title.
15
- - title: Accordion button label text.
16
- - item_id: This item's unique collapse id.
17
- - accordion_id: Parent accordion's id, for data-bs-parent scoping.
18
- - expanded: true starts this item open; false starts it closed.
19
- - body: Pre-rendered HTML string (built via a capture tag at the
20
- call site) for the accordion-body's contents.
21
-
22
- Optional Inputs:
23
- - body_class: Extra classes appended to "accordion-body" (e.g.
24
- "d-flex flex-wrap gap-2", "p-0"). Omit for a plain
25
- accordion-body.
26
- ================================================================================
27
- {% endcomment %}
28
- <div class="accordion-item">
29
- <div class="accordion-header h2">
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 }}">
31
- <i class="{{ include.icon }} me-2"></i>
32
- <span class="ms-1 fw-bold">{{ include.title }}</span>
33
- </button>
34
- </div>
35
- <div id="{{ include.item_id }}" class="accordion-collapse collapse{% if include.expanded %} show{% endif %}" data-bs-parent="#{{ include.accordion_id }}">
36
- <div class="accordion-body{% if include.body_class and include.body_class != "" %} {{ include.body_class }}{% endif %}">
37
- {{ include.body }}
38
- </div>
39
- </div>
40
- </div>