jekyll-theme-centos 2.52.0.beta.46 → 2.52.0.beta.48
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.yml +5 -5
- data/_data/base/locales_schema.yml +142 -9
- data/_data/base/social.yml +22 -21
- data/_data/base/social_schema.yml +10 -6
- data/_data/base/sponsors.yml +41 -0
- data/_data/base/sponsors_schema.yml +73 -0
- data/_includes/base/announcement.html.liquid +2 -0
- data/_includes/base/artwork.html.liquid +2 -0
- data/_includes/base/bits.html.liquid +2 -0
- data/_includes/base/breadcrumb.html.liquid +2 -0
- data/_includes/base/breakingnews.html.liquid +2 -0
- data/_includes/base/configuration-variables-nested.html.liquid +98 -0
- data/_includes/base/configuration-variables.html.liquid +98 -0
- data/_includes/base/copyright.html.liquid +3 -1
- data/_includes/base/event.html.liquid +2 -0
- data/_includes/base/footer.html.liquid +62 -0
- data/_includes/base/locales.html.liquid +2 -1
- data/_includes/base/navbar.html.liquid +2 -0
- data/_includes/base/project.html.liquid +2 -0
- data/_includes/base/shortcut.html.liquid +9 -6
- data/_includes/base/social.html.liquid +26 -19
- data/_includes/base/sponsors-cards.html.liquid +58 -0
- data/_includes/base/sponsors-carousel.html.liquid +78 -0
- data/_includes/base/title.html.liquid +2 -0
- data/_includes/base/toc.html.liquid +2 -0
- data/_layouts/base/default.html +5 -51
- data/assets/img/base/example-sponsors-design.png +0 -0
- data/assets/img/base/example-sponsors-design.svg +226 -0
- data/assets/img/base/example-sponsors-logo-1.png +0 -0
- data/assets/img/base/example-sponsors-logo-1.svg +120 -0
- data/assets/img/base/example-sponsors-logo-2.png +0 -0
- data/assets/img/base/example-sponsors-logo-2.svg +116 -0
- data/assets/img/base/example-sponsors-logo-3.png +0 -0
- data/assets/img/base/example-sponsors-logo-3.svg +123 -0
- data/assets/img/base/example-sponsors-logo-4.png +0 -0
- data/assets/img/base/example-sponsors-logo-4.svg +116 -0
- data/assets/img/base/example-sponsors-logo-5.png +0 -0
- data/assets/img/base/example-sponsors-logo-5.svg +116 -0
- data/assets/img/base/example-sponsors-logo-6.png +0 -0
- data/assets/img/base/example-sponsors-logo-6.svg +116 -0
- data/assets/img/base/example-sponsors-logo-7.png +0 -0
- data/assets/img/base/example-sponsors-logo-7.svg +116 -0
- data/assets/img/base/example-sponsors-logo-8.png +0 -0
- data/assets/img/base/example-sponsors-logo-8.svg +110 -0
- data/assets/img/base/page-layout-default.png +0 -0
- data/assets/img/base/page-layout-default.svg +1291 -965
- data/assets/img/base/page-with-announcement.png +0 -0
- data/assets/img/base/page-with-announcement.svg +2 -6
- data/assets/img/base/page-with-backtotop.png +0 -0
- data/assets/img/base/page-with-backtotop.svg +622 -187
- data/assets/img/base/page-with-breakingnews.png +0 -0
- data/assets/img/base/page-with-breakingnews.svg +2 -42
- data/assets/img/base/page-with-copyright.png +0 -0
- data/assets/img/base/page-with-copyright.svg +785 -173
- data/assets/img/base/page-with-event.png +0 -0
- data/assets/img/base/page-with-event.svg +2 -6
- data/assets/img/base/page-with-locales.png +0 -0
- data/assets/img/base/page-with-locales.svg +614 -619
- data/assets/img/base/page-with-navbar.png +0 -0
- data/assets/img/base/page-with-navbar.svg +3 -42
- data/assets/img/base/page-with-project.png +0 -0
- data/assets/img/base/page-with-project.svg +2 -42
- data/assets/img/base/page-with-shortcut.png +0 -0
- data/assets/img/base/page-with-shortcut.svg +649 -172
- data/assets/img/base/page-with-social.png +0 -0
- data/assets/img/base/page-with-social.svg +740 -174
- data/assets/img/base/page-with-sponsors.png +0 -0
- data/assets/img/base/page-with-sponsors.svg +710 -0
- data/assets/img/base/page-with-toc.png +0 -0
- data/assets/img/base/page-with-toc.svg +3 -42
- metadata +30 -3
- /data/assets/img/base/{screenshot-example-1200x600.png → screenshot-1200x600.png} +0 -0
- /data/assets/img/base/{screenshot-example-1200x600.svg → screenshot-1200x600.svg} +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6038d25fa442be63264e6ce920e4d294ac2b7551371648390193504ac20ce4d3
|
|
4
|
+
data.tar.gz: 7962476a3a8fed79fcc6c7785fd395b64c86100010b4e8cee412ff65a9c6de60
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ac274007410865e0ae745f84178a505efcf5fd12f997aa59a57728a5256ca1fd6413da09e2d7d5e9027c09c7df13c059642a6627c22cdae3da1f996e6eb4458f
|
|
7
|
+
data.tar.gz: b2280745be4eebae67bfb9cc2225e86d9f2769ad2debcf86085b1807de5e97af258d8938e367519f1e4aa340b0fba692fbcc7c335c8bed7df59f9b80b1bf9192
|
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-
|
|
11
|
+
screenshot: base/screenshot-1600x1200.webp
|
|
12
12
|
finale: "Derivatives:"
|
|
13
13
|
actions:
|
|
14
14
|
- name: Action 1
|
|
@@ -36,7 +36,7 @@
|
|
|
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-
|
|
39
|
+
screenshot: base/screenshot-1600x1200.webp
|
|
40
40
|
image: centos-symbol.svg
|
|
41
41
|
actions:
|
|
42
42
|
- name: Action 1
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
- Upstream card example 1
|
|
57
57
|
- name: Downstream example 1-2
|
|
58
58
|
icon: fa-solid fa-arrow-right
|
|
59
|
-
screenshot: base/screenshot-
|
|
59
|
+
screenshot: base/screenshot-1600x1200.webp
|
|
60
60
|
type: downstream
|
|
61
61
|
description: |
|
|
62
62
|
Lorem ipsum odor amet, consectetuer adipiscing elit. Varius imperdiet
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
icon_position: end
|
|
70
70
|
link: "#"
|
|
71
71
|
- name: Downstream example 1-3
|
|
72
|
-
screenshot: base/screenshot-
|
|
72
|
+
screenshot: base/screenshot-1600x1200.webp
|
|
73
73
|
type: downstream
|
|
74
74
|
description: |
|
|
75
75
|
Lorem ipsum odor amet, consectetuer adipiscing elit. Varius imperdiet
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
icon_position: end
|
|
83
83
|
link: "#"
|
|
84
84
|
- name: Downstream example 1-4
|
|
85
|
-
screenshot: base/screenshot-
|
|
85
|
+
screenshot: base/screenshot-1600x1200.webp
|
|
86
86
|
type: downstream
|
|
87
87
|
description: |
|
|
88
88
|
Lorem ipsum odor amet, consectetuer adipiscing elit. Varius imperdiet
|
|
@@ -12,14 +12,147 @@ properties:
|
|
|
12
12
|
display the selector and initiate the content localization process. Set
|
|
13
13
|
to `false` (default) to hide the selector.
|
|
14
14
|
with_locales_data:
|
|
15
|
-
type:
|
|
16
|
-
default:
|
|
15
|
+
type: object
|
|
16
|
+
default: {}
|
|
17
17
|
description: >-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
Configuration object for the Language Selector component and the
|
|
19
|
+
jekyll-l10n localization pipeline. Accessed in templates as
|
|
20
|
+
`page.with_locales_data`.
|
|
21
|
+
properties:
|
|
22
|
+
locales:
|
|
23
|
+
type: array
|
|
24
|
+
default: []
|
|
25
|
+
description: >-
|
|
26
|
+
List of ISO 639-1 language codes for which localized pages are
|
|
27
|
+
generated (e.g., `["es", "fr", "it"]`). English (`en`) is always
|
|
28
|
+
included automatically by the template and does not need to be listed
|
|
29
|
+
here.
|
|
30
|
+
items:
|
|
31
|
+
type: string
|
|
32
|
+
description: A single ISO 639-1 language code (e.g., `es` for Spanish).
|
|
33
|
+
minItems: 0
|
|
34
|
+
locales_dir:
|
|
35
|
+
type: string
|
|
36
|
+
default: "_locales"
|
|
37
|
+
description: >-
|
|
38
|
+
Directory (relative to the site root) where `.po` translation files
|
|
39
|
+
are stored. Defaults to `_locales`.
|
|
40
|
+
extract_on_build:
|
|
41
|
+
type: boolean
|
|
42
|
+
default: true
|
|
43
|
+
description: >-
|
|
44
|
+
When `true`, the jekyll-l10n plugin extracts translatable strings
|
|
45
|
+
from the generated HTML during the build phase and writes them to
|
|
46
|
+
the `.po` source files in `locales_dir`.
|
|
47
|
+
update_compendium:
|
|
48
|
+
type: boolean
|
|
49
|
+
default: true
|
|
50
|
+
description: >-
|
|
51
|
+
When `true`, the plugin updates the translation compendium file
|
|
52
|
+
with newly extracted strings.
|
|
53
|
+
extraction:
|
|
54
|
+
type: object
|
|
55
|
+
description: Controls which HTML content is extracted for translation.
|
|
56
|
+
properties:
|
|
57
|
+
translatable_attributes:
|
|
58
|
+
type: array
|
|
59
|
+
default: [title, alt, aria-label, placeholder, aria-description]
|
|
60
|
+
description: >-
|
|
61
|
+
HTML attributes whose values are extracted as translatable
|
|
62
|
+
strings in addition to text content.
|
|
63
|
+
items:
|
|
64
|
+
type: string
|
|
65
|
+
exclude_selectors:
|
|
66
|
+
type: array
|
|
67
|
+
default: [script, style, "code.language-plaintext", "pre code"]
|
|
68
|
+
description: >-
|
|
69
|
+
CSS selectors identifying HTML elements whose content is
|
|
70
|
+
excluded from extraction (e.g., code blocks, scripts).
|
|
71
|
+
items:
|
|
72
|
+
type: string
|
|
73
|
+
additionalProperties: false
|
|
74
|
+
logging:
|
|
75
|
+
type: object
|
|
76
|
+
description: Controls logging verbosity during the build.
|
|
77
|
+
properties:
|
|
78
|
+
level:
|
|
79
|
+
type: string
|
|
80
|
+
default: "debug"
|
|
81
|
+
description: >-
|
|
82
|
+
Log level for the localization pipeline. Accepted values:
|
|
83
|
+
`debug`, `info`, `warn`, `error`.
|
|
84
|
+
show_statistics:
|
|
85
|
+
type: boolean
|
|
86
|
+
default: true
|
|
87
|
+
description: >-
|
|
88
|
+
When `true`, prints translation coverage statistics at the
|
|
89
|
+
end of the build.
|
|
90
|
+
debug:
|
|
91
|
+
type: boolean
|
|
92
|
+
default: false
|
|
93
|
+
description: >-
|
|
94
|
+
When `true`, enables verbose debug output from the
|
|
95
|
+
localization pipeline.
|
|
96
|
+
additionalProperties: false
|
|
97
|
+
translation:
|
|
98
|
+
type: object
|
|
99
|
+
description: >-
|
|
100
|
+
Controls how translated strings are applied and configures the
|
|
101
|
+
optional LibreTranslate machine translation backend.
|
|
102
|
+
properties:
|
|
103
|
+
fallback:
|
|
104
|
+
type: string
|
|
105
|
+
default: "english"
|
|
106
|
+
description: >-
|
|
107
|
+
Language name used as fallback when a translation is missing.
|
|
108
|
+
preserve_html:
|
|
109
|
+
type: boolean
|
|
110
|
+
default: true
|
|
111
|
+
description: >-
|
|
112
|
+
When `true`, HTML markup inside translated strings is preserved
|
|
113
|
+
rather than escaped.
|
|
114
|
+
libretranslate_enabled:
|
|
115
|
+
type: boolean
|
|
116
|
+
default: false
|
|
117
|
+
description: >-
|
|
118
|
+
Enables automatic machine translation via a LibreTranslate
|
|
119
|
+
instance for strings without a manual translation.
|
|
120
|
+
libretranslate_api_url:
|
|
121
|
+
type: string
|
|
122
|
+
default: "http://localhost:5000"
|
|
123
|
+
description: >-
|
|
124
|
+
URL of the LibreTranslate API endpoint used for machine
|
|
125
|
+
translation.
|
|
126
|
+
libretranslate_api_key:
|
|
127
|
+
description: >-
|
|
128
|
+
API key for the LibreTranslate instance. Set to `nil` if the
|
|
129
|
+
instance does not require authentication.
|
|
130
|
+
libretranslate_timeout:
|
|
131
|
+
type: integer
|
|
132
|
+
default: 300
|
|
133
|
+
description: >-
|
|
134
|
+
Timeout in seconds for LibreTranslate API requests.
|
|
135
|
+
libretranslate_batch_size:
|
|
136
|
+
type: integer
|
|
137
|
+
default: 50
|
|
138
|
+
description: >-
|
|
139
|
+
Number of strings submitted per LibreTranslate API request.
|
|
140
|
+
libretranslate_retry_attempts:
|
|
141
|
+
type: integer
|
|
142
|
+
default: 3
|
|
143
|
+
description: >-
|
|
144
|
+
Number of retry attempts on a failed LibreTranslate API call.
|
|
145
|
+
libretranslate_retry_delay:
|
|
146
|
+
type: integer
|
|
147
|
+
default: 2
|
|
148
|
+
description: >-
|
|
149
|
+
Delay in seconds between LibreTranslate API retry attempts.
|
|
150
|
+
libretranslate_stop_on_error:
|
|
151
|
+
type: boolean
|
|
152
|
+
default: true
|
|
153
|
+
description: >-
|
|
154
|
+
When `true`, the build stops on an unrecoverable LibreTranslate
|
|
155
|
+
API error rather than continuing with untranslated strings.
|
|
156
|
+
additionalProperties: false
|
|
157
|
+
additionalProperties: false
|
|
25
158
|
additionalProperties: false
|
data/_data/base/social.yml
CHANGED
|
@@ -2,24 +2,25 @@
|
|
|
2
2
|
#
|
|
3
3
|
# site.data.base.social - Provides social networks information.
|
|
4
4
|
#
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
5
|
+
media:
|
|
6
|
+
- name: YouTube
|
|
7
|
+
icon: "fa-brands fa-youtube"
|
|
8
|
+
link: "https://youtube.com/TheCentOSProject"
|
|
9
|
+
- name: Mastodon
|
|
10
|
+
icon: "fa-brands fa-mastodon"
|
|
11
|
+
link: "https://fosstodon.org/@centos"
|
|
12
|
+
- name: Facebook
|
|
13
|
+
icon: "fa-brands fa-facebook-f"
|
|
14
|
+
link: "https://www.facebook.com/CentOSProject"
|
|
15
|
+
- name: LinkedIn
|
|
16
|
+
icon: "fa-brands fa-linkedin"
|
|
17
|
+
link: "https://www.linkedin.com/company/centos-project/"
|
|
18
|
+
- name: X
|
|
19
|
+
icon: "fa-brands fa-x-twitter"
|
|
20
|
+
link: "https://x.com/centos"
|
|
21
|
+
- name: Discourse
|
|
22
|
+
icon: "fa-brands fa-discourse"
|
|
23
|
+
link: "https://discussion.fedoraproject.org/c/neighbors/centos/"
|
|
24
|
+
- name: Reddit
|
|
25
|
+
icon: "fa-brands fa-reddit"
|
|
26
|
+
link: "https://www.reddit.com/r/CentOS/"
|
|
@@ -15,7 +15,15 @@ properties:
|
|
|
15
15
|
default: {}
|
|
16
16
|
description: Configuration object for the social media component.
|
|
17
17
|
properties:
|
|
18
|
-
|
|
18
|
+
preamble:
|
|
19
|
+
type: string
|
|
20
|
+
default: "Follow us:"
|
|
21
|
+
description: "The social media premable. This is, a text introducing the social media buttons."
|
|
22
|
+
preamble_class:
|
|
23
|
+
type: string
|
|
24
|
+
default: "mb-2"
|
|
25
|
+
description: "The social media premable customization classes."
|
|
26
|
+
media:
|
|
19
27
|
type: array
|
|
20
28
|
default: []
|
|
21
29
|
description: A list of objects, where each object defines a single social media link/icon.
|
|
@@ -30,14 +38,10 @@ properties:
|
|
|
30
38
|
description: >-
|
|
31
39
|
The Font Awesome icon class representing the social network
|
|
32
40
|
brand (e.g., `fa-brands fa-x-twitter`).
|
|
33
|
-
required:
|
|
34
|
-
- icon
|
|
35
41
|
link:
|
|
36
42
|
type: string
|
|
37
43
|
format: uri
|
|
38
44
|
description: The absolute URL to the project's profile on this social network (e.g., `https://www.youtube.com/`).
|
|
39
|
-
required:
|
|
40
|
-
- link
|
|
41
45
|
required:
|
|
42
46
|
- name
|
|
43
47
|
- icon
|
|
@@ -48,6 +52,6 @@ properties:
|
|
|
48
52
|
default: ""
|
|
49
53
|
description: Custom CSS classes applied to the container element wrapping the social media icons list.
|
|
50
54
|
required:
|
|
51
|
-
-
|
|
55
|
+
- media
|
|
52
56
|
additionalProperties: false
|
|
53
57
|
additionalProperties: false
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Sponsors
|
|
3
|
+
icon: "fa-solid fa-hand-holding-heart"
|
|
4
|
+
image_base_path: "/assets/img/base/"
|
|
5
|
+
message: |
|
|
6
|
+
CentOS would not be possible without the support of our sponsors. We would
|
|
7
|
+
like to thank the following product/service for being a CentOS sponsor. If
|
|
8
|
+
you value our work, please consider [becoming a sponsor!](/sponsors)
|
|
9
|
+
members:
|
|
10
|
+
- name: sponsor-1
|
|
11
|
+
country: usa
|
|
12
|
+
image: example-sponsors-logo-1.png
|
|
13
|
+
url: https://www.example.com/sponsor-1
|
|
14
|
+
- name: sponsor-2
|
|
15
|
+
country: usa
|
|
16
|
+
image: example-sponsors-logo-2.png
|
|
17
|
+
url: https://www.example.com/sponsor-2
|
|
18
|
+
- name: sponsor-3
|
|
19
|
+
country: usa
|
|
20
|
+
image: example-sponsors-logo-3.png
|
|
21
|
+
url: https://www.example.com/sponsor-3
|
|
22
|
+
- name: sponsor-4
|
|
23
|
+
country: usa
|
|
24
|
+
image: example-sponsors-logo-4.png
|
|
25
|
+
url: https://www.example.com/sponsor-4
|
|
26
|
+
- name: sponsor-5
|
|
27
|
+
country: usa
|
|
28
|
+
image: example-sponsors-logo-5.png
|
|
29
|
+
url: https://www.example.com/sponsor-5
|
|
30
|
+
- name: sponsor-6
|
|
31
|
+
country: usa
|
|
32
|
+
image: example-sponsors-logo-6.png
|
|
33
|
+
url: https://www.example.com/sponsor-6
|
|
34
|
+
- name: sponsor-7
|
|
35
|
+
country: usa
|
|
36
|
+
image: example-sponsors-logo-7.png
|
|
37
|
+
url: https://www.example.com/sponsor-7
|
|
38
|
+
- name: sponsor-8
|
|
39
|
+
country: usa
|
|
40
|
+
image: example-sponsors-logo-8.png
|
|
41
|
+
url: https://www.example.com/sponsor-8
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
title: Sponsors carousel component configuration
|
|
2
|
+
description: >-
|
|
3
|
+
Schema for configuring the sponsors carousel, which displays sponsor logos
|
|
4
|
+
in a rotating carousel, typically rendered in the footer.
|
|
5
|
+
type: object
|
|
6
|
+
properties:
|
|
7
|
+
with_sponsors:
|
|
8
|
+
type: boolean
|
|
9
|
+
default: false
|
|
10
|
+
description: >-
|
|
11
|
+
Enables or disables the rendering of the sponsors carousel component.
|
|
12
|
+
Set to `true` to display the carousel; set to `false` (default) to hide it.
|
|
13
|
+
with_sponsors_data:
|
|
14
|
+
type: object
|
|
15
|
+
default: {}
|
|
16
|
+
description: Configuration object for the sponsors carousel component.
|
|
17
|
+
properties:
|
|
18
|
+
title:
|
|
19
|
+
type: string
|
|
20
|
+
default: "Sponsors"
|
|
21
|
+
description: The heading displayed above the carousel.
|
|
22
|
+
icon:
|
|
23
|
+
type: string
|
|
24
|
+
default: "fa-solid fa-hand-holding-heart"
|
|
25
|
+
description: Font Awesome icon class shown next to the title.
|
|
26
|
+
message:
|
|
27
|
+
type: string
|
|
28
|
+
default: ""
|
|
29
|
+
description: Introductory text rendered above the carousel, supports Markdown.
|
|
30
|
+
image_base_path:
|
|
31
|
+
type: string
|
|
32
|
+
default: "/assets/img/base/"
|
|
33
|
+
description: >-
|
|
34
|
+
Base path prepended to bare logo filenames when building the image `src`
|
|
35
|
+
attribute. Defaults to `/assets/img/base/`. Set to a different path
|
|
36
|
+
(e.g. `/assets/img/sponsors/`) to store logos elsewhere on the site.
|
|
37
|
+
Ignored when `image` is an absolute URL (`http://` or `https://`).
|
|
38
|
+
members:
|
|
39
|
+
type: array
|
|
40
|
+
default: []
|
|
41
|
+
description: List of sponsor entries to display in the carousel.
|
|
42
|
+
items:
|
|
43
|
+
type: object
|
|
44
|
+
properties:
|
|
45
|
+
name:
|
|
46
|
+
type: string
|
|
47
|
+
description: Display name of the sponsor (used as image alt text).
|
|
48
|
+
country:
|
|
49
|
+
type: string
|
|
50
|
+
description: Country of the sponsor (informational).
|
|
51
|
+
image:
|
|
52
|
+
type: string
|
|
53
|
+
description: >-
|
|
54
|
+
Logo image source. Accepts a bare filename (resolved using
|
|
55
|
+
`image_base_path`, e.g. `logo.png`) or an absolute URL
|
|
56
|
+
(e.g. `https://cdn.example.com/logo.png`, used as-is).
|
|
57
|
+
url:
|
|
58
|
+
type: string
|
|
59
|
+
format: uri
|
|
60
|
+
description: URL to the sponsor's website.
|
|
61
|
+
is_active:
|
|
62
|
+
type: boolean
|
|
63
|
+
default: true
|
|
64
|
+
description: Set to `false` to hide this sponsor without removing the entry.
|
|
65
|
+
required:
|
|
66
|
+
- name
|
|
67
|
+
- image
|
|
68
|
+
- url
|
|
69
|
+
additionalProperties: false
|
|
70
|
+
required:
|
|
71
|
+
- members
|
|
72
|
+
additionalProperties: false
|
|
73
|
+
additionalProperties: false
|
|
@@ -27,6 +27,7 @@ Data Source Hierarchy (priority):
|
|
|
27
27
|
================================================================================
|
|
28
28
|
{%- endcomment %}
|
|
29
29
|
|
|
30
|
+
{%- if page.with_announcement and page.with_announcement_data.size > 0 -%}
|
|
30
31
|
{%- assign announcements = include.data | default: page.with_announcement_data | default: site.data.announcement | default: site.data.base.announcement %}
|
|
31
32
|
|
|
32
33
|
{%- comment %} === Presentation === {% endcomment %}
|
|
@@ -49,3 +50,4 @@ Data Source Hierarchy (priority):
|
|
|
49
50
|
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
|
50
51
|
</div>
|
|
51
52
|
{%- endfor %}
|
|
53
|
+
{%- endif -%}
|
|
@@ -29,6 +29,7 @@ Data Source Hierarchy (priority):
|
|
|
29
29
|
================================================================================
|
|
30
30
|
{% endcomment %}
|
|
31
31
|
|
|
32
|
+
{%- if page.with_artwork -%}
|
|
32
33
|
{%- assign artwork = include.data | default: page.with_artwork_data | default: site.data.artwork | default: site.data.base.artwork %}
|
|
33
34
|
|
|
34
35
|
{%- comment %} === Presentation === {% endcomment %}
|
|
@@ -47,3 +48,4 @@ Data Source Hierarchy (priority):
|
|
|
47
48
|
<img src="{{ site.baseurl }}{{ artwork_image }}" class="{{ artwork_image_class }}" alt="{{ artwork_alt }}" />
|
|
48
49
|
{% endif %}
|
|
49
50
|
</div>
|
|
51
|
+
{%- endif -%}
|
|
@@ -40,6 +40,7 @@ Component Layout:
|
|
|
40
40
|
================================================================================
|
|
41
41
|
{% endcomment %}
|
|
42
42
|
|
|
43
|
+
{%- if page.with_bits -%}
|
|
43
44
|
{%- assign bits = include.data | default: page.with_bits_data | default: site.data.bits | default: site.data.base.bits %}
|
|
44
45
|
|
|
45
46
|
{%- comment %} === Presentation === {% endcomment %}
|
|
@@ -133,3 +134,4 @@ Component Layout:
|
|
|
133
134
|
|
|
134
135
|
</div>
|
|
135
136
|
{% endfor %}
|
|
137
|
+
{%- endif -%}
|
|
@@ -24,6 +24,7 @@ Data Sources:
|
|
|
24
24
|
================================================================================
|
|
25
25
|
{% endcomment %}
|
|
26
26
|
|
|
27
|
+
{%- if page.with_breadcrumb -%}
|
|
27
28
|
{%- comment %} Use original_url if available (without locale), otherwise use full url {%- endcomment %}
|
|
28
29
|
{%- assign breadcrumb_url = page.original_url | default: page.url %}
|
|
29
30
|
|
|
@@ -56,3 +57,4 @@ Data Sources:
|
|
|
56
57
|
{%- endfor %}
|
|
57
58
|
</ol>
|
|
58
59
|
</nav>
|
|
60
|
+
{%- endif -%}
|
|
@@ -29,6 +29,7 @@ Data Source Hierarchy (priority):
|
|
|
29
29
|
================================================================================
|
|
30
30
|
{% endcomment %}
|
|
31
31
|
|
|
32
|
+
{%- if page.with_breakingnews and page.with_breakingnews_data.size > 0 -%}
|
|
32
33
|
{%- assign breakingnews = include.data | default: page.with_breakingnews_data | default: site.data.breakingnews | default: site.data.base.breakingnews %}
|
|
33
34
|
|
|
34
35
|
{%- comment %} === Presentation === {% endcomment %}
|
|
@@ -72,3 +73,4 @@ Data Source Hierarchy (priority):
|
|
|
72
73
|
</div>
|
|
73
74
|
{% endfor %}
|
|
74
75
|
</div>
|
|
76
|
+
{%- endif -%}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
{% comment %}
|
|
2
|
+
Generates one separate table and then triggers subsequent recursion to produce
|
|
3
|
+
others. Requires two distinct loops for valid HTML structure.
|
|
4
|
+
{% endcomment %}
|
|
5
|
+
|
|
6
|
+
{% assign current_properties = include.properties %}
|
|
7
|
+
{% assign parent_name = include.parent_name %}
|
|
8
|
+
{% assign current_level = include.level | plus: 0 %}
|
|
9
|
+
{% assign type_desc = include.type_desc %}
|
|
10
|
+
|
|
11
|
+
{% assign col_name = include.col_name | default: "Name" %}
|
|
12
|
+
{% assign col_type = include.col_type | default: "Type" %}
|
|
13
|
+
{% assign col_default = include.col_default | default: "Default" %}
|
|
14
|
+
{% assign col_description = include.col_description | default: "Description" %}
|
|
15
|
+
|
|
16
|
+
{% assign columns = include.columns %}
|
|
17
|
+
|
|
18
|
+
{% if current_properties %}
|
|
19
|
+
|
|
20
|
+
{% comment %} 1. Calculate the property count for THIS specific set of data using | size. {% endcomment %}
|
|
21
|
+
{% assign current_property_count = current_properties | size %}
|
|
22
|
+
|
|
23
|
+
{% comment %} 2. Determine CSS classes and ID for THIS table {% endcomment %}
|
|
24
|
+
{% assign table_classes = "table dataTable" %}
|
|
25
|
+
{% assign table_id = parent_name | slugify | append: '-nested-' | append: current_level %}
|
|
26
|
+
|
|
27
|
+
{% comment %} 3. Render the current nested table (Loop 1: Rendering) {% endcomment %}
|
|
28
|
+
<p class="my-3">The <code>{{ parent_name }}</code> variable is a {{ type_desc }} with the following properties:</p>
|
|
29
|
+
|
|
30
|
+
<table id="{{ table_id }}" class="{{ table_classes }}">
|
|
31
|
+
<thead class="table-light">
|
|
32
|
+
<tr>
|
|
33
|
+
<th scope="col">{{ col_name }}</th>
|
|
34
|
+
{% if columns %}
|
|
35
|
+
{% for col in columns %}<th scope="col">{{ col.label }}</th>{% endfor %}
|
|
36
|
+
{% else %}
|
|
37
|
+
<th scope="col">{{ col_type }}</th>
|
|
38
|
+
<th scope="col">{{ col_default }}</th>
|
|
39
|
+
<th scope="col">{{ col_description }}</th>
|
|
40
|
+
{% endif %}
|
|
41
|
+
</tr>
|
|
42
|
+
</thead>
|
|
43
|
+
<tbody>
|
|
44
|
+
{% for property in current_properties -%}
|
|
45
|
+
{% assign prop_key = property[0] %}
|
|
46
|
+
{% assign prop_details = property[1] %}
|
|
47
|
+
{% assign default_value = prop_details.default | default: "—" %}
|
|
48
|
+
|
|
49
|
+
<tr>
|
|
50
|
+
<td>{{ prop_key }}</td>
|
|
51
|
+
{% if columns %}
|
|
52
|
+
{% for col in columns %}<td>{{ prop_details[col.key] | strip_newlines | markdownify | default: "—" }}</td>{% endfor %}
|
|
53
|
+
{% else %}
|
|
54
|
+
<td>{{ prop_details.type | strip_newlines | markdownify | default: "—" }}</td>
|
|
55
|
+
<td>{{ default_value | strip_newlines | markdownify | default: "—" }}</td>
|
|
56
|
+
<td>{{ prop_details.description | strip_newlines | markdownify | default: "—" }}</td>
|
|
57
|
+
{% endif %}
|
|
58
|
+
</tr>
|
|
59
|
+
{% endfor -%}
|
|
60
|
+
</tbody>
|
|
61
|
+
</table>
|
|
62
|
+
|
|
63
|
+
{% comment %} 4. Run recursion check (Loop 2: Initiation, must run AFTER </table>) {% endcomment %}
|
|
64
|
+
{% for property in current_properties %}
|
|
65
|
+
{% assign prop_key = property[0] %}
|
|
66
|
+
{% assign prop_details = property[1] %}
|
|
67
|
+
|
|
68
|
+
{% assign nested_properties = nil %}
|
|
69
|
+
|
|
70
|
+
{% comment %} Check if the current property requires further recursion {% endcomment %}
|
|
71
|
+
{% if prop_details.type == "object" and prop_details.properties %}
|
|
72
|
+
{% assign nested_properties = prop_details.properties %}
|
|
73
|
+
{% assign next_type_desc = "dictionary (map)" %}
|
|
74
|
+
{% elsif prop_details.type == "array" and prop_details.items.properties %}
|
|
75
|
+
{% assign nested_properties = prop_details.items.properties %}
|
|
76
|
+
{% assign next_type_desc = "list of dictionaries" %}
|
|
77
|
+
{% endif %}
|
|
78
|
+
|
|
79
|
+
{% if nested_properties %}
|
|
80
|
+
{% comment %} Found deeper nesting: Call the next level {% endcomment %}
|
|
81
|
+
{% assign next_parent_name = include.parent_name | append: "." | append: prop_key %}
|
|
82
|
+
{% assign next_level_val = current_level | plus: 1 %}
|
|
83
|
+
|
|
84
|
+
{% include base/configuration-variables-nested.html.liquid
|
|
85
|
+
properties=nested_properties
|
|
86
|
+
parent_name=next_parent_name
|
|
87
|
+
type_desc=next_type_desc
|
|
88
|
+
level=next_level_val
|
|
89
|
+
col_name=col_name
|
|
90
|
+
col_type=col_type
|
|
91
|
+
col_default=col_default
|
|
92
|
+
col_description=col_description
|
|
93
|
+
columns=columns
|
|
94
|
+
%}
|
|
95
|
+
{% endif %}
|
|
96
|
+
{% endfor %}
|
|
97
|
+
|
|
98
|
+
{% endif %}
|