@@ -3,7 +3,6 @@ import styles from './styles.module.css';
3
3
import clsx from 'clsx' ;
4
4
import Link from '@docusaurus/Link' ;
5
5
import PropTypes from 'prop-types' ;
6
- import { Headline } from '../headline' ;
7
6
import { integrations } from '@site/data/integrations' ;
8
7
import { sdk } from '@site/data/sdk' ;
9
8
@@ -31,73 +30,82 @@ function SocialIcon(props) {
31
30
) ;
32
31
}
33
32
34
- function Rollout ( ) {
33
+ export function Rollout ( ) {
35
34
return (
36
- < div className = "grid xl:grid-cols-2" >
37
- < div className = { clsx ( styles . featureContent , 'mr-25' ) } >
38
- < h2 > Advanced rollout capabilities</ h2 >
39
- < p >
40
- Feature flags allows to unlink deploy and release, this means that you
41
- can decide how to release a feature without thinking about
42
- architecture and complex deployments.
43
- </ p >
44
- < p >
45
- These capabilities will give you more control on your rollout changes
46
- and will ensure that everything happened as expected.
47
- </ p >
48
- < div className = { styles . featureContentList } >
49
- < ul >
50
- < li >
51
- < i className = "fa-solid fa-circle-arrow-right" > </ i >
52
- < p > Rules: Impact only the users you want to target.</ p >
53
- </ li >
54
- < li >
55
- < i className = "fa-solid fa-circle-arrow-right" > </ i >
56
- < p >
57
- Canary release: Enable the feature only to a subset of your
58
- users.
59
- </ p >
60
- </ li >
61
- < li >
62
- < i className = "fa-solid fa-circle-arrow-right" > </ i >
63
- < p >
64
- Progressive rollout: Affect from 0% to 100% of users within a
65
- time frame, you can monitor while releasing the change.
66
- </ p >
67
- </ li >
68
- < li >
69
- < i className = "fa-solid fa-circle-arrow-right" > </ i >
70
- < p >
71
- Scheduled Workflows: Modify your flag at a specific time to
72
- impact more/less users.
73
- </ p >
74
- </ li >
75
- < li >
76
- < i className = "fa-solid fa-circle-arrow-right" > </ i >
77
- < p >
78
- A/B testing: Split your audience in multiple groups and track
79
- their usage.
80
- </ p >
81
- </ li >
82
- </ ul >
35
+ < div className = "container my-8" >
36
+ < div className = "row" >
37
+ < div className = { 'col col--6' } >
38
+ < div className = { clsx ( styles . featureContent , 'mr-25' ) } >
39
+ < h2 > Advanced rollout capabilities</ h2 >
40
+ < p >
41
+ Feature flags allows to unlink deploy and release, this means that
42
+ you can decide how to release a feature without thinking about
43
+ architecture and complex deployments.
44
+ </ p >
45
+ < p >
46
+ These capabilities will give you more control on your rollout
47
+ changes and will ensure that everything happened as expected.
48
+ </ p >
49
+ < div className = { styles . featureContentList } >
50
+ < ul >
51
+ < li >
52
+ < i className = "fa-solid fa-circle-arrow-right" > </ i >
53
+ < p > Rules: Impact only the users you want to target.</ p >
54
+ </ li >
55
+ < li >
56
+ < i className = "fa-solid fa-circle-arrow-right" > </ i >
57
+ < p >
58
+ Canary release: Enable the feature only to a subset of your
59
+ users.
60
+ </ p >
61
+ </ li >
62
+ < li >
63
+ < i className = "fa-solid fa-circle-arrow-right" > </ i >
64
+ < p >
65
+ Progressive rollout: Affect from 0% to 100% of users within
66
+ a time frame, you can monitor while releasing the change.
67
+ </ p >
68
+ </ li >
69
+ < li >
70
+ < i className = "fa-solid fa-circle-arrow-right" > </ i >
71
+ < p >
72
+ Scheduled Workflows: Modify your flag at a specific time to
73
+ impact more/less users.
74
+ </ p >
75
+ </ li >
76
+ < li >
77
+ < i className = "fa-solid fa-circle-arrow-right" > </ i >
78
+ < p >
79
+ A/B testing: Split your audience in multiple groups and
80
+ track their usage.
81
+ </ p >
82
+ </ li >
83
+ </ ul >
84
+ </ div >
85
+ < p className = { 'mt-3' } >
86
+ < Link to = { '/docs/configure_flag/rollout-strategies' } >
87
+ { ' ' }
88
+ See our rollout capabilites{ ' ' }
89
+ < i className = "fa-solid fa-arrow-right" > </ i >
90
+ </ Link >
91
+ </ p >
92
+ </ div >
83
93
</ div >
84
- </ div >
85
- < div className = { clsx ( styles . imgRollout , 'max-md:hidden' ) } >
86
- < div className = { styles . featureImage } >
87
- < img
88
- src = "img/features/rollout.png"
89
- alt = "feature-image"
90
- id = "shape-01"
91
- />
94
+ < div className = { 'col col--6' } >
95
+ < div className = { clsx ( styles . imgRollout , 'max-md:hidden' ) } >
96
+ < div className = { styles . featureImage } >
97
+ < img src = "img/features/rollout.png" alt = "feature-image" />
98
+ </ div >
99
+ </ div >
92
100
</ div >
93
101
</ div >
94
102
</ div >
95
103
) ;
96
104
}
97
105
98
- function OpenFeature ( ) {
106
+ export function Sdk ( ) {
99
107
return (
100
- < div className = "container" >
108
+ < div className = "container my-8 " >
101
109
< div className = "row" >
102
110
< div className = { 'col col--6' } >
103
111
< div className = { 'grid grid-cols-4' } >
@@ -136,7 +144,7 @@ function OpenFeature() {
136
144
) ;
137
145
}
138
146
139
- function Integration ( ) {
147
+ export function Integration ( ) {
140
148
const allIntegrations = [
141
149
...integrations . retrievers ,
142
150
...integrations . exporters ,
@@ -158,7 +166,7 @@ function Integration() {
158
166
) ;
159
167
160
168
return (
161
- < div className = "container" >
169
+ < div className = "container my-8 " >
162
170
< div className = "row" >
163
171
< div className = { 'col col--6' } >
164
172
< div className = { clsx ( styles . featureContent , 'mr-25' ) } >
@@ -230,15 +238,50 @@ function Integration() {
230
238
) ;
231
239
}
232
240
233
- export function Features ( ) {
241
+ export function OpenFeatureEcosystem ( ) {
242
+ // how to know if we are in dark mode
234
243
return (
235
- < section className = { styles . feature } >
236
- < div className = "container" >
237
- < OpenFeature />
238
- < Integration />
239
- < Headline />
240
- < Rollout />
244
+ < div className = "container my-8" >
245
+ < div className = "row" >
246
+ < div className = { 'col col--6' } >
247
+ < div className = { clsx ( styles . openfeaturelogo , 'text-center xl:mt-16' ) } >
248
+ < img
249
+ src = { 'img/features/openfeature.svg' }
250
+ alt = "openfeature-logo"
251
+ className = { styles . openfeaturelogo }
252
+ />
253
+ </ div >
254
+ </ div >
255
+ < div className = { 'col col--6' } >
256
+ < div className = { clsx ( styles . featureContent , 'mr-25' ) } >
257
+ < h2 > Part of the OpenFeature Ecosystem</ h2 >
258
+ < p >
259
+ At GO Feature Flag, we believe in the power of open standards and,
260
+ the importance of vendor neutrality. That's why we've chosen to
261
+ rely on Open Feature for our SDKs.
262
+ < br />
263
+ By adopting GO Feature Flag you embrace the OpenFeature standard
264
+ and you get all the benefits of the ecosystem.
265
+ </ p >
266
+ < div className = { styles . featureContentList } >
267
+ < ul >
268
+ < li >
269
+ < i className = "fa-solid fa-circle-arrow-right" > </ i >
270
+ < p > Open-Source SDKs</ p >
271
+ </ li >
272
+ < li >
273
+ < i className = "fa-solid fa-circle-arrow-right" > </ i >
274
+ < p > No Vendor Lock-In</ p >
275
+ </ li >
276
+ < li >
277
+ < i className = "fa-solid fa-circle-arrow-right" > </ i >
278
+ < p > OpenFeature community based support for SDKs</ p >
279
+ </ li >
280
+ </ ul >
281
+ </ div >
282
+ </ div >
283
+ </ div >
241
284
</ div >
242
- </ section >
285
+ </ div >
243
286
) ;
244
287
}
0 commit comments