@@ -5,7 +5,7 @@ laid out in docs-platform/629.
5
5
6
6
Nothing in this document should be considered final and is subject to change.
7
7
8
- ### Site Config
8
+ ## Site Config
9
9
10
10
``` yaml
11
11
params :
@@ -15,10 +15,10 @@ params:
15
15
items : <Product[]>
16
16
# Product Group Label
17
17
- title : <string>
18
- # The URL prefix used for the section (Ex. 'nginx' for NGINX+)
19
- url : <string>
18
+ # The common top-level path for all documents within a domain; i.e. 'nginx' for NGINX+
19
+ pathPrefix : <string>
20
20
# Whether this link is external to the site
21
- extUrl : <bool | undefined >
21
+ extUrl : <bool>
22
22
header :
23
23
# Header Nav items
24
24
navItems : <NavItem[]>
@@ -39,26 +39,22 @@ params:
39
39
logo : <string | undefined>
40
40
# Path for icon logo (Used in small width contexts), fallback to "logo" if not defined
41
41
iconLogo : <string | undefined>
42
- primary : <string | undefined>
43
- secondary : <string | undefined>
44
- # Replicates the interface for .Site.params.brand, minus iconSet and favicon
42
+ # Used for dark mode variant assets
45
43
dark :
46
44
logo : <string>
47
45
iconLogo : <string>
48
- primary : <string>
49
- secondary : <string>
50
46
footer :
51
47
# Default to ©{currentYear} F5, Inc. All rights reserved
52
48
copyrightText : <string | undefined>
53
49
items : <NavItem[]>
54
50
- title : <string>
55
51
# Item URL
56
52
href : <string>
57
- extUrl : <boolean >
53
+ extUrl : <bool >
58
54
59
55
```
60
56
61
- ### F5 Sites
57
+ ## F5 Sites
62
58
63
59
Collection of F5Site types. Used to define items for the "F5 Sites" dropdown.
64
60
@@ -74,26 +70,63 @@ params:
74
70
75
71
```
76
72
77
- ### Product Selector
73
+ ## Product Selector
78
74
79
- Defined in Hugo config as this applies sitewide. Optionally, keep ` data/ ` files as source
80
- instead of defined in ` hugo.yaml ` but less explicit.
75
+ The product selector is one of the theme's two main mechanism's for content navigation (both internal and external).
76
+ In the context of the NGINX Docs, it's used to group products according to their broader product domains.
81
77
82
78
``` yaml
83
79
params :
84
80
productSelector : <ProductGroup[]>
81
+ # Product group label (i.e NGINX One)
85
82
- groupLabel : <string>
83
+ # Individual product landing pages within that domain
86
84
items : <Product[]>
87
85
# Product Label
88
86
- title : <string>
89
87
# The URL prefix used for the section (Ex. 'nginx' for NGINX+).
90
88
url : <string | undefined>
91
89
# Whether the URL is external to the site (opens a new tab if true)
92
- extUrl : <bool | undefined >
90
+ extUrl : <bool>
93
91
94
92
```
95
93
96
- ### Icon Partial
94
+ ## Styling Overrides
95
+
96
+ > Implementation detail: We ideally don't want to force theme users into raw oklch values; it would be a much nicer
97
+ surface if theme consumers could use a color keyword of their choice (rgb, hwb, hsl). However, that surface change
98
+ would require we rewrite all our current CSS variable calls
99
+
100
+ ** Consumer: ` assets/style.css ` **
101
+ ``` css
102
+ :root {
103
+ --color-brand : 56.6% 0.194 147.7 ;
104
+ --color-brand-300 : 0.84 0.0699 157.51 ;
105
+ --color-brand-200 : 0.91 0.0406 157.72 ;
106
+ --color-brand-100 : 0.98 0.0107 158.85 ;
107
+
108
+ --color-background : 1 0 0 ;
109
+ --color-foreground : 0 0 0 ;
110
+ --color-shadow : 0.86 0 0 ;
111
+
112
+ /* Dark Mode Variables */
113
+ --dark_color-brand : 56.6% 0.194 147.7 ;
114
+ --dark_color-brand-300 : 0.84 0.0699 157.51 ;
115
+ --dark_color-brand-200 : 0.91 0.0406 157.72 ;
116
+ --dark_color-brand-100 : 0.98 0.0107 158.85 ;
117
+
118
+ --dark_color-background : 1 0 0 ;
119
+ --dark_color-foreground : 0 0 0 ;
120
+ --dark_color-shadow : 0.86 0 0 ;
121
+ }
122
+ ```
123
+
124
+ * Variables defined in any consumer CSS files should override reasonable defaults.
125
+ * Pre-defined theming support could be offered by creating CSS files defining these variables that are then
126
+ loaded based on an ID (or similar mechanism).
127
+ * Ex. F5 Theme or NGINX Theme
128
+
129
+ ## Icon Partial
97
130
98
131
| Param | Type | Note |
99
132
| ---------------| ------------------------| --------------------------------------------------------------------------------------------------------------|
@@ -106,10 +139,8 @@ params:
106
139
{{ partial "icon.html" set="lucide" size="md" icon="test-icon-id" _iconDirect="" . }}
107
140
```
108
141
109
- ### Additional Notes
142
+ ## Additional Notes
110
143
111
- * Style variables defined in Hugo config may be detrimental to IDE integrations that read values for color display
112
- * Optionally, require theme consumers to set variables directly in a CSS file rather than config.
113
144
* Some of these new schemas are breaking but given the low-level of current consumers, this is the best time to make schema adjustments before wider rollout.
114
145
115
146
### Optional Collection Definition Pattern
0 commit comments