jekyll-theme-centos 2.52.0.beta.96 → 2.52.0.beta.97

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: f5d7826e37033ad225ba8f67091b714b4486821b56ddb41b7259c9593f6f777a
4
- data.tar.gz: 859ec7818eee6e8fdba4f1d97e439c2ba2318422b864f43180b1ba1b0fb6e757
3
+ metadata.gz: 02c33817b8b756a8de30c5e96c06b4c2defd9c65600ac6a82adce543427c86ec
4
+ data.tar.gz: 9d14e11510ea28e7ac5a29229a190a9d9340a915e10f66d8cbc19e80dbceb0df
5
5
  SHA512:
6
- metadata.gz: 944084fc09f8ac08efc3e7d6d054b4f8e33d4a415cf2d534422dd3241c62298d132bf1e624002d0f4877ac03a189fceeb6fe5ae3cf3968af60f8741a450cbf08
7
- data.tar.gz: 18e70fcc850b108ce04909d329475a2498eb77f78d07f72f17c225ce896ff34d5796d48bbf9474a24e87363b301e61ee01bab95c38946565adf627a2e65d18e0
6
+ metadata.gz: 04ce54202918e0da657e661a0a03de681b3c83c1b68240695f7a11a4b910fe797712e024fdfc49d4558ba84f330fa24d6ca43bca61225312b6aa6853c33c683c
7
+ data.tar.gz: c4e526cad99918c56f708a5a0434ce30de714f4adfb3f3ff1a2da0d9b7f1a10231074b20bc5d6c1a6d6f766cff339e7056da3cbd64530dc41d64d2053adf333e
data/_data/base/bits.yml CHANGED
@@ -8,7 +8,7 @@
8
8
  Lorem ipsum odor amet, consectetuer adipiscing elit. Varius imperdiet
9
9
  convallis at efficitur in eros. Sagittis morbi scelerisque faucibus
10
10
  conubia consectetur.
11
- screenshot: base/screenshot-1600x1200.webp
11
+ preamble: false
12
12
  finale: "Derivatives:"
13
13
  actions:
14
14
  - name: Action 1
@@ -36,7 +36,6 @@
36
36
  description: |
37
37
  Lorem ipsum odor amet, consectetuer adipiscing elit. Varius imperdiet
38
38
  convallis at efficitur in eros. Sagittis morbi scelerisque faucibus
39
- screenshot: base/screenshot-1600x1200.webp
40
39
  image: centos-symbol.svg
41
40
  actions:
42
41
  - name: Action 1
@@ -56,7 +55,6 @@
56
55
  - Upstream card example 1
57
56
  - name: Downstream example 1-2
58
57
  icon: fa-solid fa-arrow-right
59
- screenshot: base/screenshot-1600x1200.webp
60
58
  type: downstream
61
59
  description: |
62
60
  Lorem ipsum odor amet, consectetuer adipiscing elit. Varius imperdiet
@@ -69,7 +67,6 @@
69
67
  icon_position: end
70
68
  link: "#"
71
69
  - name: Downstream example 1-3
72
- screenshot: base/screenshot-1600x1200.webp
73
70
  type: downstream
74
71
  description: |
75
72
  Lorem ipsum odor amet, consectetuer adipiscing elit. Varius imperdiet
@@ -82,7 +79,6 @@
82
79
  icon_position: end
83
80
  link: "#"
84
81
  - name: Downstream example 1-4
85
- screenshot: base/screenshot-1600x1200.webp
86
82
  type: downstream
87
83
  description: |
88
84
  Lorem ipsum odor amet, consectetuer adipiscing elit. Varius imperdiet
data/_data/base/ogp.yml CHANGED
@@ -2,12 +2,10 @@
2
2
  locale: en_US
3
3
  og:
4
4
  type: website
5
- title: true
6
5
  url: true
7
6
  description: true
8
7
  logo: /assets/icons/apple-touch-icon.png
9
8
  image:
10
- url: true
11
9
  alt: The CentOS Project
12
10
  type: image/png
13
11
  width: 1200
@@ -16,9 +14,7 @@ twitter:
16
14
  card: summary_large_image
17
15
  site: "@CentOS"
18
16
  creator: "@CentOS"
19
- title: true
20
17
  url: true
21
18
  description: true
22
19
  image:
23
- url: true
24
20
  alt: The CentOS Project
@@ -26,7 +26,13 @@ properties:
26
26
  title:
27
27
  type: string
28
28
  default: The CentOS Project
29
- description: The title of the content via the `og:title` tag.
29
+ description: >-
30
+ The title of the content via the `og:title` tag. Falls back to
31
+ `page.title` when omitted, then to this default. Set explicitly
32
+ to `false` or an empty string to omit the tag entirely; `true`
33
+ is treated the same as omitting it (kept for backward
34
+ compatibility with this component's own earlier documented
35
+ convention).
30
36
  description:
31
37
  type: string
32
38
  default: ""
@@ -38,13 +44,22 @@ properties:
38
44
  url:
39
45
  type: string
40
46
  format: uri
41
- default: "{{ site.url }}{{ site.baseurl }}/assets/img/centos-social-share.png"
42
- description: The non-secure URL via the `og:image:url` tag.
47
+ default: "/assets/img/centos-social-share.png"
48
+ description: >-
49
+ The non-secure URL via the `og:image:url` tag. Falls back
50
+ to this default (treated as a path relative to
51
+ `site.url + site.baseurl`, same convention as `logo`) when
52
+ omitted; `true` is treated the same as omitted, for
53
+ backward compatibility with this component's own earlier
54
+ documented convention. Set to a real string to override
55
+ with a different image.
43
56
  secure_url:
44
57
  type: string
45
58
  format: uri
46
- default: "{{ site.url }}{{ site.baseurl }}/assets/img/centos-social-share.png"
47
- description: The secure HTTPS URL via the `og:image:secure_url` tag.
59
+ default: "/assets/img/centos-social-share.png"
60
+ description: >-
61
+ The secure HTTPS URL via the `og:image:secure_url` tag.
62
+ Same fallback and `true`-tolerance as `url` above.
48
63
  type:
49
64
  type: string
50
65
  default: image/png
@@ -154,13 +169,17 @@ properties:
154
169
  url:
155
170
  type: string
156
171
  format: uri
157
- default: "{{ site.url }}{{ site.baseurl }}/assets/img/centos-social-share.png"
158
- description: The image URL via the `twitter:image:url` tag.
172
+ default: "/assets/img/centos-social-share.png"
173
+ description: >-
174
+ The image URL via the `twitter:image:url` tag. Same
175
+ fallback and `true`-tolerance as `og.image.url`.
159
176
  secure_url:
160
177
  type: string
161
178
  format: uri
162
- default: "{{ site.url }}{{ site.baseurl }}/assets/img/centos-social-share.png"
163
- description: The secure HTTPS image URL.
179
+ default: "/assets/img/centos-social-share.png"
180
+ description: >-
181
+ The secure HTTPS image URL. Same fallback and
182
+ `true`-tolerance as `og.image.secure_url`.
164
183
  type:
165
184
  type: string
166
185
  default: image/png
@@ -46,11 +46,13 @@ properties:
46
46
  An icon class (e.g., from Font Awesome) to display alongside the heading.
47
47
  visible_on:
48
48
  type: array
49
- default: ["footer"]
50
49
  description: >-
51
50
  Controls where this item is displayed. For the Shortcut component,
52
- this array must contain `"footer"` to be rendered. Other values
53
- (like `"navbar"`) are ignored in this context.
51
+ this array must contain `"footer"` to be rendered there is no
52
+ standalone default for this property here; an item with no
53
+ `visible_on` at all is not shown in the footer (it falls back to
54
+ navbar-visible instead, per the Navbar component's own default).
55
+ Other values (like `"navbar"`) are ignored in this context.
54
56
  items:
55
57
  type: string
56
58
  enum:
@@ -2,6 +2,7 @@
2
2
  #
3
3
  # site.data.base.social - Provides social networks information.
4
4
  #
5
+ preamble: "Follow us:"
5
6
  media:
6
7
  - name: YouTube
7
8
  icon: "fa-brands fa-youtube"
@@ -18,7 +18,13 @@ properties:
18
18
  preamble:
19
19
  type: string
20
20
  default: "Follow us:"
21
- description: "The social media premable. This is, a text introducing the social media buttons."
21
+ description: >-
22
+ The social media premable. This is, a text introducing the social
23
+ media buttons. This default is applied automatically whenever the
24
+ resolved data source omits the property — set it explicitly to
25
+ `false` or an empty string to render no preamble `<p>` at all; the
26
+ icon row's own margin then reclaims the vertical space. Any other
27
+ string value renders as the preamble text.
22
28
  preamble_class:
23
29
  type: string
24
30
  default: "mb-2"
@@ -25,7 +25,9 @@ Required Inputs (from data objects):
25
25
 
26
26
  Optional Inputs (from data objects):
27
27
  - description, screenshot, icon, image, actions, color
28
- - preamble, finale: Text before/after the upstream card
28
+ - preamble, finale: Text before/after the upstream card; each falls back to
29
+ its own schema-documented default when omitted — set explicitly to `false`
30
+ or an empty string to render neither element instead
29
31
  - class, card_class, preamble_class, finale_class: Custom styling
30
32
  - downstream_style: 'card' (default) or 'accordion'
31
33
  - downstream_limit: accordion style only; caps items shown, omit for
@@ -71,6 +73,14 @@ Data Source Hierarchy (priority order):
71
73
  {%- assign upstream_bit_index_page_url = upstream_bit.index_page_url | default: with_bits_schema.index_page_url.default %}
72
74
  {%- assign upstream_bit_screenshot_class = upstream_bit.screenshot_class | default: with_bits_schema.screenshot_class.default %}
73
75
  {%- assign upstream_bit_actions_class = upstream_bit.actions_class | default: with_bits_schema.actions_class.default %}
76
+ {%- assign upstream_bit_preamble = upstream_bit.preamble %}
77
+ {%- if upstream_bit.preamble == nil %}
78
+ {%- assign upstream_bit_preamble = with_bits_schema.preamble.default %}
79
+ {%- endif %}
80
+ {%- assign upstream_bit_finale = upstream_bit.finale %}
81
+ {%- if upstream_bit.finale == nil %}
82
+ {%- assign upstream_bit_finale = with_bits_schema.finale.default %}
83
+ {%- endif %}
74
84
  {%- assign upstream_bit_btn_class = "btn btn-sm m-1 btn-" | append: upstream_bit_color %}
75
85
  {%- assign upstream_bit_downstream_style = upstream_bit.downstream_style | default: with_bits_schema.downstream_style.default %}
76
86
  {%- assign upstream_bit_downstream_limit = upstream_bit.downstream_limit %}
@@ -79,8 +89,8 @@ Data Source Hierarchy (priority order):
79
89
  <div class="d-flex flex-column{% if upstream_bit_class != "" %} {{ upstream_bit_class }}{% endif %}">
80
90
 
81
91
  {%- comment %} --- Upstream Preamble --- {% endcomment %}
82
- {%- if upstream_bit.preamble %}
83
- <p{% if upstream_bit_preamble_class != "" %} class="{{ upstream_bit_preamble_class }}"{% endif %}>{{ upstream_bit.preamble }}</p>
92
+ {%- if upstream_bit_preamble and upstream_bit_preamble != empty %}
93
+ <p{% if upstream_bit_preamble_class != "" %} class="{{ upstream_bit_preamble_class }}"{% endif %}>{{ upstream_bit_preamble }}</p>
84
94
  {%- endif %}
85
95
 
86
96
  {%- comment %} --- Upstream Card --- {% endcomment %}
@@ -120,9 +130,9 @@ Data Source Hierarchy (priority order):
120
130
  {%- assign show_index_link = true %}
121
131
  {%- endif %}
122
132
 
123
- {%- if upstream_bit.finale %}
133
+ {%- if upstream_bit_finale and upstream_bit_finale != empty %}
124
134
  <div class="d-flex flex-row w-100 justify-content-between align-items-center">
125
- <p class="m-1{% if upstream_bit_finale_class != "" %} {{ upstream_bit_finale_class }}{% endif %}">{{ upstream_bit.finale }}</p>
135
+ <p class="m-1{% if upstream_bit_finale_class != "" %} {{ upstream_bit_finale_class }}{% endif %}">{{ upstream_bit_finale }}</p>
126
136
  {%- if show_index_link %}
127
137
  <div class="m-1">
128
138
  {%- include base/link.html.liquid
@@ -10,7 +10,8 @@ Design Logic:
10
10
  - Responsive hamburger menu: collapses on mobile
11
11
  - Dropdown menus: multi-level navigation
12
12
  - Brand image and manifestation text support
13
- - Filtered navitems by visible_on='navbar'
13
+ - Filtered navitems by visible_on='navbar'; an item that omits visible_on
14
+ entirely falls back to being navbar-visible (schema default `["navbar"]`)
14
15
 
15
16
  Required Inputs:
16
17
  - brand_image: Logo image filename
@@ -50,7 +51,7 @@ Data Source Hierarchy (priority):
50
51
  {%- assign navbar_brand_image_height = with_navbar_data.brand_image_height | default: with_navbar_schema.brand_image_height.default %}
51
52
  {%- assign navbar_brand_manifestation = with_navbar_data.brand_manifestation | default: with_navbar_schema.brand_manifestation.default %}
52
53
  {%- assign navbar_brand_manifestation_class = with_navbar_data.brand_manifestation_class | default: with_navbar_schema.brand_manifestation_class.default %}
53
- {%- assign navbar_navitems = with_navbar_data.navitems | where: "visible_on", "navbar" | default: with_navbar_schema.navitems.default %}
54
+ {%- assign navbar_navitems = with_navbar_data.navitems | where_exp: "item", "item.visible_on == nil or item.visible_on contains 'navbar'" | default: with_navbar_schema.navitems.default %}
54
55
 
55
56
  <nav class="navbar bg-dark fixed-top navbar-expand-lg shadow{% if navbar_class != "" %} {{ navbar_class }}{% endif %}" aria-label="{{ include.arialable | default: 'navbar'}}" data-bs-theme="dark">
56
57
  <div class="container">
@@ -24,6 +24,14 @@ Optional Inputs:
24
24
  - page.locale: BCP 47 locale code set by jekyll-l10n on localized pages
25
25
 
26
26
  Data Source Hierarchy:
27
+ - og:title, twitter:title: with_ogp_data[property].title (real string override)
28
+ → page.title → schema default. `true` (this component's own previously
29
+ documented convention) is treated the same as omitted, for backward
30
+ compatibility; `false` or "" suppresses the tag entirely.
31
+ - og:image:url, :secure_url (+ twitter): with_ogp_data[property].image.url/
32
+ .secure_url (real string override) → schema default
33
+ (/assets/img/centos-social-share.png). Same `true`-tolerance as
34
+ title, for the same reason.
27
35
  - og:type: with_ogp_data.og.type → schema default → 'website'
28
36
  - og:site_name: with_ogp_data.og.site_name → site.title
29
37
  - og:logo: with_ogp_data.og.logo → schema default → '/assets/icons/apple-touch-icon.png'
@@ -35,7 +43,6 @@ Data Source Hierarchy:
35
43
  - twitter:card: with_ogp_data.twitter.card → schema default → 'summary_large_image'
36
44
  - twitter:site: with_ogp_data.twitter.site → schema default → '@CentOS'
37
45
  - twitter:creator: with_ogp_data.twitter.creator → schema default → '@CentOS'
38
- - Default image path: /assets/img/centos-social-share.png
39
46
  ================================================================================
40
47
  {% endcomment %}
41
48
 
@@ -89,8 +96,14 @@ Data Source Hierarchy:
89
96
  {%- endif %}
90
97
 
91
98
  {%- comment %} --- Title --- {% endcomment %}
92
- {%- if with_ogp_data[property].title %}
93
- <meta {{ meta_attr }}="{{ property }}:title" content="{{ page.title | escape }}" />
99
+ {%- assign ogp_title_raw = with_ogp_data[property].title %}
100
+ {%- if ogp_title_raw == nil or ogp_title_raw == true %}
101
+ {%- assign ogp_title = page.title | default: with_ogp_schema.og.properties.title.default %}
102
+ {%- else %}
103
+ {%- assign ogp_title = ogp_title_raw %}
104
+ {%- endif %}
105
+ {%- if ogp_title and ogp_title != empty %}
106
+ <meta {{ meta_attr }}="{{ property }}:title" content="{{ ogp_title | escape }}" />
94
107
  {%- endif %}
95
108
 
96
109
  {%- comment %} --- OG type and logo (after title, before url) --- {% endcomment %}
@@ -119,10 +132,24 @@ Data Source Hierarchy:
119
132
  {%- endif %}
120
133
 
121
134
  {%- comment %} --- Image --- {% endcomment %}
135
+ {%- assign ogp_image_url_raw = with_ogp_data[property].image.url %}
136
+ {%- if ogp_image_url_raw == nil or ogp_image_url_raw == true %}
137
+ {%- assign ogp_image_url = with_ogp_og_image_schema.url.default %}
138
+ {%- else %}
139
+ {%- assign ogp_image_url = ogp_image_url_raw %}
140
+ {%- endif %}
141
+
142
+ {%- assign ogp_image_secure_url_raw = with_ogp_data[property].image.secure_url %}
143
+ {%- if ogp_image_secure_url_raw == nil or ogp_image_secure_url_raw == true %}
144
+ {%- assign ogp_image_secure_url = with_ogp_og_image_schema.secure_url.default %}
145
+ {%- else %}
146
+ {%- assign ogp_image_secure_url = ogp_image_secure_url_raw %}
147
+ {%- endif %}
148
+
122
149
  {%- if with_ogp_data[property].image %}
123
- <meta {{ meta_attr }}="{{ property }}:image" content="{{ site.url }}{{ site.baseurl }}/assets/img/centos-social-share.png" />
150
+ <meta {{ meta_attr }}="{{ property }}:image" content="{{ site.url }}{{ site.baseurl }}{{ ogp_image_url }}" />
124
151
  {%- if property == "og" %}
125
- <meta {{ meta_attr }}="{{ property }}:image:secure_url" content="{{ site.url }}{{ site.baseurl }}/assets/img/centos-social-share.png" />
152
+ <meta {{ meta_attr }}="{{ property }}:image:secure_url" content="{{ site.url }}{{ site.baseurl }}{{ ogp_image_secure_url }}" />
126
153
  <meta {{ meta_attr }}="{{ property }}:image:type" content="{{ ogp_image_type }}" />
127
154
  <meta {{ meta_attr }}="{{ property }}:image:width" content="{{ ogp_image_width }}" />
128
155
  <meta {{ meta_attr }}="{{ property }}:image:height" content="{{ ogp_image_height }}" />
@@ -8,7 +8,9 @@ sections of related links in multi-column layout suitable for footer placement.
8
8
  Strategic Design Logic:
9
9
  - Grouped navigation: categories of related links
10
10
  - Column layout: multi-column footer display
11
- - Filtered items: only shows items with visible_on='footer'
11
+ - Filtered items: only shows items with visible_on='footer', required
12
+ explicitly — an item that omits visible_on is not shown here (it defaults
13
+ to navbar-visible instead, per navbar.html.liquid)
12
14
  - Reusable link component: consistent styling
13
15
  - Empty state handling: no output if no items
14
16
  - Category headings: uppercase section titles
@@ -46,7 +48,7 @@ Conditional Logic:
46
48
  | default: site.data.base.navbar
47
49
  %}
48
50
 
49
- {%- assign shortcut_navitems = with_shortcut_data.navitems | where: "visible_on", "footer" %}
51
+ {%- assign shortcut_navitems = with_shortcut_data.navitems | where_exp: "item", "item.visible_on contains 'footer'" %}
50
52
 
51
53
  {%- if with_shortcut -%}
52
54
 
@@ -2,12 +2,13 @@
2
2
  ================================================================================
3
3
  Template: Social Links Component
4
4
  Purpose: Renders a collection of social media and external links as styled
5
- buttons with icons. Includes optional site description header.
5
+ buttons with icons, with an optional preamble line introducing them.
6
6
  ================================================================================
7
7
 
8
- Strategic Design Logic:
8
+ Design Logic:
9
9
  - Multi-level data source hierarchy for flexible configuration
10
- - Site description display for context/branding purposes
10
+ - Optional preamble text and CSS class, and an optional CSS class on the
11
+ container wrapping the icon row, for full presentational customization
11
12
  - Link rendering via reusable link component with icon support
12
13
  - Icon-based visual identification for different platforms
13
14
  - Accessibility-first approach with proper ARIA labels
@@ -21,9 +22,6 @@ Required Fields (per item in the media array):
21
22
  Optional Inputs (from include):
22
23
  - data: Array of social link objects (overrides all fallbacks)
23
24
 
24
- Optional Inputs (from site configuration):
25
- - site.description: Brief site description displayed above social links
26
-
27
25
  Data Source Hierarchy (in priority order):
28
26
  1. include.data - Explicitly passed social link array
29
27
  2. page.with_social_data - Page front matter configuration
@@ -31,7 +29,10 @@ Data Source Hierarchy (in priority order):
31
29
  4. site.data.base.social - Theme default social links
32
30
 
33
31
  Conditional Logic:
34
- - Site description displays only if site.description is defined
32
+ - Preamble <p> falls back to the schema-documented default when omitted
33
+ from the resolved data source; set it explicitly to `false` or an empty
34
+ string to hide it entirely — no element is emitted in its place, so the
35
+ icon row's own margin reclaims the vertical space
35
36
  - Loops through all social links in resolved data source
36
37
  - Each link rendered with consistent button styling
37
38
  ================================================================================
@@ -50,27 +51,33 @@ Conditional Logic:
50
51
  {%- assign with_social_schema = site.data.base.social_schema.properties.with_social_data.properties %}
51
52
 
52
53
  {%- assign social_class = with_social_data.class | default: with_social_schema.class.default %}
53
- {%- assign social_preamble = with_social_data.preamble | default: with_social_schema.preamble.default %}
54
54
  {%- assign social_preamble_class = with_social_data.preamble_class | default: with_social_schema.preamble_class.default %}
55
55
  {%- assign social_media = with_social_data.media | default: with_social_schema.media.default %}
56
56
 
57
+ {%- assign social_preamble = with_social_data.preamble %}
58
+ {%- if with_social_data.preamble == nil %}
59
+ {%- assign social_preamble = with_social_schema.preamble.default %}
60
+ {%- endif %}
61
+
57
62
  {% if with_social %}
58
63
 
59
64
  {%- comment %} === Presentation (Begin) === {% endcomment %}
60
- {%- if social_preamble %}
65
+ {%- if social_preamble and social_preamble != empty %}
61
66
  <p class="{{ social_preamble_class }}">{{ social_preamble }}</p>
62
67
  {%- endif %}
63
68
 
64
- {%- for item in social_media -%}
65
- {%- include base/link.html.liquid
66
- class = "btn btn-outline-primary m-1"
67
- link = item.link
68
- role = "button"
69
- icon = item.icon
70
- aria_label = item.name
71
- data_bs_title = item.name
72
- %}
73
- {%- endfor %}
69
+ <div class="{{ social_class }}">
70
+ {%- for item in social_media -%}
71
+ {%- include base/link.html.liquid
72
+ class = "btn btn-outline-primary m-1"
73
+ link = item.link
74
+ role = "button"
75
+ icon = item.icon
76
+ aria_label = item.name
77
+ data_bs_title = item.name
78
+ %}
79
+ {%- endfor %}
80
+ </div>
74
81
  {%- comment %} === Presentation (End) === {% endcomment %}
75
82
 
76
83
  {% endif %}
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.96
4
+ version: 2.52.0.beta.97
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alain Reguera Delgado