jekyll-theme-centos 2.52.0.beta.75 → 2.52.0.beta.77

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: 9f13966057a48edfedbde1c391233d1cc4b375984d019add8422a6943082e038
4
- data.tar.gz: 63ce5d0ac97275f863e8cc900a8336d512e155e5ff175db6d941b91c8e83d4ff
3
+ metadata.gz: 050d40b6de763b0dccb582c8a8e31e26d3386ec6dd63be4e44bf0a954541d8e5
4
+ data.tar.gz: ba24c6139c384c9e976432097eb25924c762b5e192c3ea147934960c97509d57
5
5
  SHA512:
6
- metadata.gz: 968f76b49e889843b79b836f25ecae82755239368a0ebdd3c305bcebe809a1fcbc7392505932356815971e63401a59e3c9a33d80864ab20d0a5c9d6d4337c888
7
- data.tar.gz: e20af11b29ad0bba01f765efa3c49f757daa10043ca5302f892489a77584123ecb8410aa7b81d58142cdfca618b1d53a361b9e5cf8a663ca32d53c22a978ca8e
6
+ metadata.gz: a1e903b5f0db0bf4dcbe84c634be46a200c74dda1ab18bc07d4cdd03f42f1b84968ec5b56a4576cde1e408720dd0e37599181bb9b921d067fda7cb01d66fa52d
7
+ data.tar.gz: c4e6e228255ae261e636117313f00e4b95f4ccc37a0ed58fad0fa9931c7ab98a592fdb7792617f34f8f49552d3e3fa2e6f281293ecebf18161a640acd3f72dff
@@ -71,7 +71,7 @@ properties:
71
71
  description: The visible title or name of the project. This field is typically required.
72
72
  name_class:
73
73
  type: string
74
- default: display-3 fw-bold mb-1
74
+ default: display-3 fw-bold mb-1 text-center
75
75
  description: Custom CSS classes applied to the project name text element.
76
76
  description:
77
77
  type: string
@@ -79,7 +79,7 @@ properties:
79
79
  description: A detailed summary or description of the project.
80
80
  description_class:
81
81
  type: string
82
- default: lead mb-3 text-center
82
+ default: lead mb-0 text-center
83
83
  description: Custom CSS classes applied to the project description text element.
84
84
  actions:
85
85
  type: array
@@ -93,7 +93,7 @@ properties:
93
93
  additionalProperties: true
94
94
  actions_class:
95
95
  type: string
96
- default: "mb-3"
96
+ default: "pt-5 mb-3"
97
97
  description: Custom CSS classes applied to the container wrapping the action buttons list.
98
98
  actions_btn_class:
99
99
  type: string
@@ -80,7 +80,10 @@ Uses CSS custom properties for cleaner, more maintainable dynamic styling.
80
80
  {%- assign breakingnews = page.with_breakingnews_data | default: site.data.breakingnews | default: site.data.base.breakingnews %}
81
81
  {%- if page.with_breakingnews == true and breakingnews.size > 0 %}
82
82
  {%- assign breakingnews_alert_height = site.data.base.breakingnews_schema.properties.breakingnews_alert_height.default %}
83
- {%- assign navbar_height = site.data.base.navbar_schema.properties.navbar_height.default %}
83
+ {%- assign navbar_height = 0 %}
84
+ {%- if page.with_navbar %}
85
+ {%- assign navbar_height = site.data.base.navbar_schema.properties.navbar_height.default %}
86
+ {%- endif %}
84
87
  {%- assign breakingnews_offset = 0 %}
85
88
  {%- for item in breakingnews %}
86
89
  {%- if forloop.first %}
@@ -9,21 +9,20 @@ different language versions.
9
9
  Configuration: Reads from unified `with_locales_data` schema via Jekyll defaults.
10
10
  - Enable with: with_locales: true in _config.yml defaults or page front matter
11
11
  - Locales defined in: with_locales_data.locales
12
- - Uses site.data.base.languages for language name lookups
13
- - Automatically detects current page locale and highlights in menu
14
- - Always includes English (en) even if not in locales list
15
12
 
16
- Features:
17
- - Displays current language name in button with locale code
18
- - Shows all available languages in dropdown (including English)
19
- - Shows checkmark next to current language in dropdown
20
- - Marks current language link with active class
21
- - Displays language code in parentheses (e.g., "Español (es)")
22
-
23
- Locale Detection:
24
- - page.data['locale'] is set by localization_gettext.rb plugin in LocalizedPage.setup_localized_data()
25
- - Set for each localized page variant (e.g., /es/ pages have locale='es')
26
- - Defaults to 'en' if not set (English/canonical pages)
13
+ Menu data: All locale enumeration, current-locale detection, display-name
14
+ resolution, and switch-URL generation are delegated to the jekyll-l10n plugin's
15
+ `locale_menu` Liquid filter (Jekyll::L10n::UrlFilter#locale_menu). This template
16
+ only renders markup it has no locale-specific logic of its own.
17
+
18
+ `{{ page.url | locale_menu }}` returns an array of hashes, one per locale
19
+ (always including English even if not explicitly configured):
20
+ { "code" => "es_ES", "name" => "Spanish (Spain)", "url" => "/es-es/about/", "current" => true }
21
+ - code: canonical underscore form (matches with_locales_data.locales entries)
22
+ - name: ISO 639-1/3166-1 resolved display name (e.g. "Spanish (Spain)"),
23
+ correct for both language-only and country-subtag codes
24
+ - url: the switch-target URL for this locale, in BCP 47 hyphenated, lowercased form
25
+ - current: true for the single entry matching the page's own locale
27
26
  ================================================================================
28
27
  {% endcomment %}
29
28
 
@@ -31,47 +30,24 @@ Locale Detection:
31
30
  | default: page.with_locales
32
31
  %}
33
32
 
34
- {%- assign with_locales_data = include.data
35
- | default: page.with_locales_data
36
- | default: site.data.locales
37
- | default: site.data.base.locales
38
- %}
39
-
40
- {%- assign with_locales_schema = site.data.base.locales_schema.properties.with_locales_data.properties %}
41
-
42
33
  {%- if with_locales %}
43
34
 
44
- {%- comment %} Build array of all available locales (always include English) {%- endcomment %}
45
- {%- assign all_locales = with_locales_data.locales | default: with_locales_schema.locales.default %}
46
- {%- unless all_locales contains "en" %}
47
- {%- assign all_locales = all_locales | unshift: "en" %}
48
- {%- endunless %}
49
-
50
- {%- comment %} Detect current page locale from URL: /es/..., /fr/..., etc. {%- endcomment %}
51
- {%- assign url_parts = page.url | split: "/" %}
52
- {%- assign current_locale = "en" %}
53
- {%- if url_parts[1] and all_locales contains url_parts[1] %}
54
- {%- assign current_locale = url_parts[1] %}
55
- {%- endif %}
35
+ {%- assign menu = page.url | locale_menu %}
36
+ {%- assign current_item = menu | where: "current", true | first %}
56
37
 
57
38
  <p class="mb-2">Change page language:</p>
58
39
  <div class="dropdown mb-4">
59
40
  <button class="btn btn-sm btn-outline-primary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false" aria-label="Languages">
60
- <i class="fa-solid fa-language me-1"></i> {{ site.data.base.languages[current_locale] }} ({{ current_locale }})
41
+ <i class="fa-solid fa-language me-1"></i> {{ current_item.name }}
61
42
  </button>
62
43
  <ul class="dropdown-menu">
63
- {%- for locale in all_locales %}
64
- {%- comment %} DEBUG: page.url={{ page.url }}, current_locale={{ current_locale }}, target_locale={{ locale }} {%- endcomment %}
65
- {%- assign locale_url = page.url | switch_locale_url: locale %}
66
-
67
- {%- if locale == current_locale %}
68
- <li class="small"><a class="dropdown-item active" href="{{ site.baseurl }}{{ locale_url }}" aria-current="true">
69
- {{ site.data.base.languages[locale] }} ({{ locale }}) <i class="fa-solid fa-check ms-3"></i>
70
- </a></li>
71
- {%- else %}
72
- <li class="small"><a class="dropdown-item" href="{{ site.baseurl }}{{ locale_url }}">{{ site.data.base.languages[locale] }} ({{ locale }})</a></li>
73
- {%- endif %}
74
- {%- endfor %}
44
+ {%- for item in menu %}
45
+ <li class="small">
46
+ <a class="dropdown-item{% if item.current %} active{% endif %}" href="{{ site.baseurl }}{{ item.url }}"{% if item.current %} aria-current="true"{% endif %}>
47
+ {{ item.name }}{% if item.current %} <i class="fa-solid fa-check ms-3"></i>{% endif %}
48
+ </a>
49
+ </li>
50
+ {%- endfor %}
75
51
  </ul>
76
52
  </div>
77
53
 
@@ -31,6 +31,10 @@ Data Source Hierarchy (priority):
31
31
  | default: page.with_project
32
32
  %}
33
33
 
34
+ {%- assign with_navbar = include.with_navbar
35
+ | default: page.with_navbar
36
+ %}
37
+
34
38
  {%- assign with_project_data = include.data
35
39
  | default: page.with_project_data
36
40
  | default: site.data.project
@@ -63,9 +67,9 @@ Data Source Hierarchy (priority):
63
67
  {% assign project_resources_btn_class = with_project_data.resources_btn_class | default: with_project_schema.resources_btn_class.default %}
64
68
 
65
69
  <div class="d-flex{% if project_class != "" %} {{ project_class }}{% endif %}">
66
- <div class="container pt-5">
70
+ <div class="container{% if with_navbar %} pt-5{% endif %}">
67
71
  {% include base/card.html.liquid
68
- class = "flex-column align-items-center pb-3"
72
+ class = "flex-column align-items-center py-5"
69
73
  color = "primary"
70
74
  screenshot = project_screenshot
71
75
  screenshot_class = project_screenshot_class
@@ -1,7 +1,7 @@
1
1
  <!doctype html>
2
2
  <html lang="{{ page.lang | default: 'en' }}"{% if page.with_ogp %} prefix="og: https://ogp.me/ns#"{% endif %}>
3
3
  {% include base/head.html.liquid -%}
4
- <body id="top" class="bg-body">
4
+ <body id="top" class="bg-body{% if page.with_navbar %} has-navbar{% endif %}">
5
5
 
6
6
  {% include base/navbar.html.liquid -%}
7
7
 
@@ -22,10 +22,20 @@
22
22
  }
23
23
 
24
24
  body {
25
- padding-top: $breakingnews-height;
25
+ padding-top: 0;
26
26
 
27
27
  .sticky-top-breakingnews {
28
- top: $breakingnews-height;
28
+ top: 0;
29
+ }
30
+
31
+ // Fixed-top navbar reserves this vertical space; pages that disable it
32
+ // (with_navbar: false) get no compensation, since nothing needs clearing.
33
+ &.has-navbar {
34
+ padding-top: $breakingnews-height;
35
+
36
+ .sticky-top-breakingnews {
37
+ top: $breakingnews-height;
38
+ }
29
39
  }
30
40
  }
31
41
 
@@ -160,7 +170,6 @@ main {
160
170
  .content > h4,
161
171
  .content > h5,
162
172
  .content > h6 {
163
- scroll-margin-top: 80px;
164
173
  scroll-margin-bottom: 100px;
165
174
  margin-top: 3rem;
166
175
  }
@@ -170,7 +179,6 @@ main {
170
179
  margin-bottom: $spacer * 0.75;
171
180
  }
172
181
  .content > figure {
173
- scroll-margin-top: 80px;
174
182
  scroll-margin-bottom: 100px;
175
183
  }
176
184
 
@@ -248,7 +256,6 @@ main {
248
256
  // item internal layout while still providing proper scroll margin and visual spacing.
249
257
  .content .accordion,
250
258
  .content .accordion-item {
251
- scroll-margin-top: 80px;
252
259
  scroll-margin-bottom: 100px;
253
260
  }
254
261
 
@@ -329,3 +336,24 @@ main {
329
336
  }
330
337
  }
331
338
  }
339
+
340
+ // --------------------------------------------------------------------------------
341
+ // Navbar-dependent scroll offset (fixed-top navbar only)
342
+ // --------------------------------------------------------------------------------
343
+ // scroll-margin-top exists solely to keep anchored headings/figures/accordions from
344
+ // being hidden behind the fixed-top navbar. Scoped to .has-navbar (stamped on <body>
345
+ // in the layout only when page.with_navbar is true) so pages that disable the navbar
346
+ // get no phantom offset.
347
+ body.has-navbar main {
348
+ .content > h1,
349
+ .content > h2,
350
+ .content > h3,
351
+ .content > h4,
352
+ .content > h5,
353
+ .content > h6,
354
+ .content > figure,
355
+ .content .accordion,
356
+ .content .accordion-item {
357
+ scroll-margin-top: 80px;
358
+ }
359
+ }
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.75
4
+ version: 2.52.0.beta.77
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alain Reguera Delgado
@@ -306,7 +306,6 @@ files:
306
306
  - _data/base/heading_anchor_schema.yml
307
307
  - _data/base/highlight_schema.yml
308
308
  - _data/base/image_schema.yml
309
- - _data/base/languages.yml
310
309
  - _data/base/link_schema.yml
311
310
  - _data/base/locales_schema.yml
312
311
  - _data/base/navbar.yml
@@ -1,186 +0,0 @@
1
- ---
2
- #
3
- # Language codes (https://loc.gov/standards/iso639-2/ISO-639-2_utf-8.txt)
4
- #
5
- ab: "Abkhaz"
6
- aa: "Afar"
7
- af: "Afrikaans"
8
- ak: "Akan"
9
- sq: "Albanian"
10
- am: "Amharic"
11
- ar: "Arabic"
12
- an: "Aragonese"
13
- hy: "Armenian"
14
- as: "Assamese"
15
- av: "Avaric"
16
- ae: "Avestan"
17
- ay: "Aymara"
18
- az: "Azerbaijani"
19
- bm: "Bambara"
20
- ba: "Bashkir"
21
- eu: "Basque"
22
- be: "Belarusian"
23
- bn: "Bengali"
24
- bh: "Bihari"
25
- bi: "Bislama"
26
- bs: "Bosnian"
27
- br: "Breton"
28
- bg: "Bulgarian"
29
- my: "Burmese"
30
- ca: "Catalan; Valencian"
31
- ch: "Chamorro"
32
- ce: "Chechen"
33
- ny: "Chichewa; Chewa; Nyanja"
34
- zh: "Chinese"
35
- cv: "Chuvash"
36
- kw: "Cornish"
37
- co: "Corsican"
38
- cr: "Cree"
39
- hr: "Croatian"
40
- cs: "Czech"
41
- da: "Danish"
42
- dv: "Divehi; Dhivehi; Maldivian;"
43
- nl: "Dutch"
44
- en: "English"
45
- eo: "Esperanto"
46
- et: "Estonian"
47
- ee: "Ewe"
48
- fo: "Faroese"
49
- fj: "Fijian"
50
- fi: "Finnish"
51
- fr: "French"
52
- ff: "Fula; Fulah; Pulaar; Pular"
53
- gl: "Galician"
54
- ka: "Georgian"
55
- de: "German"
56
- el: "Greek"
57
- gn: "Guaraní"
58
- gu: "Gujarati"
59
- ht: "Haitian; Haitian Creole"
60
- ha: "Hausa"
61
- he: "Hebrew (modern)"
62
- hz: "Herero"
63
- hi: "Hindi"
64
- ho: "Hiri Motu"
65
- hu: "Hungarian"
66
- ia: "Interlingua"
67
- id: "Indonesian"
68
- ie: "Interlingue"
69
- ga: "Irish"
70
- ig: "Igbo"
71
- ik: "Inupiaq"
72
- io: "Ido"
73
- is: "Icelandic"
74
- it: "Italian"
75
- iu: "Inuktitut"
76
- ja: "Japanese"
77
- jv: "Javanese"
78
- kl: "Kalaallisut"
79
- kn: "Kannada"
80
- kr: "Kanuri"
81
- ks: "Kashmiri"
82
- kk: "Kazakh"
83
- km: "Khmer"
84
- ki: "Kikuyu"
85
- rw: "Kinyarwanda"
86
- ky: "Kirghiz"
87
- kv: "Komi"
88
- kg: "Kongo"
89
- ko: "Korean"
90
- ku: "Kurdish"
91
- kj: "Kwanyama"
92
- la: "Latin"
93
- lb: "Luxembourgish"
94
- lg: "Luganda"
95
- li: "Limburgish"
96
- ln: "Lingala"
97
- lo: "Lao"
98
- lt: "Lithuanian"
99
- lu: "Luba-Katanga"
100
- lv: "Latvian"
101
- gv: "Manx"
102
- mk: "Macedonian"
103
- mg: "Malagasy"
104
- ms: "Malay"
105
- ml: "Malayalam"
106
- mt: "Maltese"
107
- mi: "Māori"
108
- mr: "Marathi (Marāṭhī)"
109
- mh: "Marshallese"
110
- mn: "Mongolian"
111
- na: "Nauru"
112
- nv: "Navajo"
113
- nb: "Norwegian Bokmål"
114
- nd: "North Ndebele"
115
- ne: "Nepali"
116
- ng: "Ndonga"
117
- nn: "Norwegian Nynorsk"
118
- no: "Norwegian"
119
- ii: "Nuosu"
120
- nr: "South Ndebele"
121
- oc: "Occitan"
122
- oj: "Ojibwe"
123
- cu: "Old Church Slavonic"
124
- om: "Oromo"
125
- or: "Oriya"
126
- os: "Ossetian"
127
- pa: "Panjabi"
128
- pi: "Pāli"
129
- fa: "Persian"
130
- pl: "Polish"
131
- ps: "Pashto"
132
- pt: "Portuguese"
133
- qu: "Quechua"
134
- rm: "Romansh"
135
- rn: "Kirundi"
136
- ro: "Romanian"
137
- ru: "Russian"
138
- sa: "Sanskrit"
139
- sc: "Sardinian"
140
- sd: "Sindhi"
141
- se: "Northern Sami"
142
- sm: "Samoan"
143
- sg: "Sango"
144
- sr: "Serbian"
145
- gd: "Gaelic"
146
- sn: "Shona"
147
- si: "Sinhala"
148
- sk: "Slovak"
149
- sl: "Slovene"
150
- so: "Somali"
151
- st: "Southern Sotho"
152
- es: "Spanish"
153
- su: "Sundanese"
154
- sw: "Swahili"
155
- ss: "Swati"
156
- sv: "Swedish"
157
- ta: "Tamil"
158
- te: "Telugu"
159
- tg: "Tajik"
160
- th: "Thai"
161
- ti: "Tigrinya"
162
- bo: "Tibetan"
163
- tk: "Turkmen"
164
- tl: "Tagalog"
165
- tn: "Tswana"
166
- to: "Tonga"
167
- tr: "Turkish"
168
- ts: "Tsonga"
169
- tt: "Tatar"
170
- tw: "Twi"
171
- ty: "Tahitian"
172
- ug: "Uighur"
173
- uk: "Ukrainian"
174
- ur: "Urdu"
175
- uz: "Uzbek"
176
- ve: "Venda"
177
- vi: "Vietnamese"
178
- vo: "Volapük"
179
- wa: "Walloon"
180
- cy: "Welsh"
181
- wo: "Wolof"
182
- fy: "Western Frisian"
183
- xh: "Xhosa"
184
- yi: "Yiddish"
185
- yo: "Yoruba"
186
- za: "Zhuang"