Skip to content

Commit bb28974

Browse files
authored
docs(skore): Rework landing page to show takeaway messages (#2281)
closes #1763 Reworking the `skore` landing page to be close to the `skrub` page with small blocks emphasizing the major features with small pieces of visual code and output as well. It is a first approximation that can be further improved by for example using more of a `skore` style. But as a quick win, I think it will be nice.
1 parent 8cc4be0 commit bb28974

File tree

15 files changed

+671
-52
lines changed

15 files changed

+671
-52
lines changed

skore/src/skore/_sklearn/_cross_validation/report.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ class CrossValidationReport(_BaseReport, DirNamesMixin):
143143
"""
144144

145145
_ACCESSOR_CONFIG: dict[str, dict[str, str]] = {
146+
"data": {"name": "data"},
146147
"metrics": {"name": "metrics"},
147148
"feature_importance": {"name": "feature_importance"},
148149
}

skore/src/skore/_sklearn/_estimator/report.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,9 @@ class EstimatorReport(_BaseReport, DirNamesMixin):
101101
"""
102102

103103
_ACCESSOR_CONFIG: dict[str, dict[str, str]] = {
104+
"data": {"name": "data"},
104105
"metrics": {"name": "metrics"},
105106
"feature_importance": {"name": "feature_importance"},
106-
"data": {"name": "data"},
107107
}
108108

109109
metrics: _MetricsAccessor

sphinx/_static/css/custom.css

Lines changed: 292 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,50 @@ div.docutils.container.index-box {
4242
}
4343
}
4444

45+
.card-body {
46+
padding-left: 0px;
47+
padding-right: 0px;
48+
}
49+
50+
.card-body p {
51+
text-align: left;
52+
}
53+
54+
.sd-card {
55+
border: 0px;
56+
margin-block-end: 1.0rem;
57+
}
58+
59+
div.card-body div.output_result {
60+
overflow-x: auto;
61+
}
62+
63+
div.card-body details {
64+
border-radius: 4px;
65+
}
66+
67+
div.card-body summary i {
68+
color: var(--pst-color-on-surface);
69+
margin-left: 4em;
70+
}
71+
72+
div.card-body summary {
73+
margin: 0.5em;
74+
padding-left: 0.5em;
75+
}
76+
77+
div.card-body summary:hover {
78+
background-color: var(--pst-color-border-muted);
79+
}
80+
81+
div.card-body details[open] summary {
82+
margin-bottom: -0.5em;
83+
}
84+
85+
div.card-body details[open] summary i {
86+
display: none;
87+
}
88+
4589
/* Download/laucher links and top hint (sphinx-gallery) */
4690

4791
.sphx-glr-download-link-note,
@@ -88,7 +132,7 @@ div.docutils.container.index-box {
88132
}
89133

90134
.hero-title {
91-
color: #f68d2e;
135+
color: #DA7007; /* Darker text color for the title */
92136
font-family: var(--pst-font-family-heading);
93137
font-size: 2.5rem;
94138
margin-bottom: 2rem;
@@ -108,6 +152,74 @@ div.docutils.container.index-box {
108152
padding-bottom: 2.5rem !important;
109153
}
110154

155+
.row-padding-between-features {
156+
padding-bottom: 2rem !important;
157+
padding-top: 2rem !important;
158+
border-top: #aaa solid 3px;
159+
border-image: linear-gradient(to right, var(--pst-color-background) 0%, #4085a7 50%, var(--pst-color-background) 100%) 1;
160+
}
161+
162+
.feature-title {
163+
color: #DA7007; /* Darker text color for the title */
164+
font-family: var(--pst-font-family-heading);
165+
font-size: 2rem;
166+
margin-bottom: 1.25rem; /* Spacing below title */
167+
margin-top: 0px;
168+
}
169+
170+
.feature-text {
171+
font-family: var(--pst-font-family-base);
172+
font-size: 1.05rem; /* Regular font size for text */
173+
margin-bottom: 0; /* Remove default bottom margin */
174+
}
175+
176+
.code-margin {
177+
margin-top: 0.75em !important;
178+
margin-bottom: 0.75em !important;
179+
}
180+
181+
.prediction-error-image {
182+
margin-bottom: 2rem;
183+
margin-left: auto;
184+
margin-right: auto;
185+
width: 80%;
186+
aspect-ratio: 1.2;
187+
background-size: contain;
188+
background-repeat: no-repeat;
189+
background-position: center;
190+
}
191+
192+
html[data-theme="light"] .prediction-error-image {
193+
background-image: url('../images/plot_prediction_error_light.png');
194+
}
195+
196+
html[data-theme="dark"] .prediction-error-image {
197+
background-image: url('../images/plot_prediction_error_dark.png');
198+
}
199+
200+
.project-summary-image {
201+
margin-left: auto;
202+
margin-right: auto;
203+
width: 100%;
204+
aspect-ratio: 1.2;
205+
background-size: contain;
206+
background-repeat: no-repeat;
207+
background-position: center;
208+
}
209+
210+
html[data-theme="light"] .project-summary-image {
211+
background-image: url('../images/project_summary_light.png');
212+
}
213+
214+
html[data-theme="dark"] .project-summary-image {
215+
background-image: url('../images/project_summary_dark.png');
216+
}
217+
218+
.row-padding-main-container {
219+
padding-top: 1.5rem !important;
220+
padding-bottom: 2.5rem !important;
221+
}
222+
111223
/* Change the colors to the orange and blue of skore */
112224
html[data-theme="dark"] {
113225
--pst-color-primary: #f89a36;
@@ -124,3 +236,182 @@ html[data-theme="light"] {
124236
--pst-color-secondary: #297ba6;
125237
--pst-color-inline-code-links: var(--pst-color-primary);
126238
}
239+
240+
/** Styling **************************************************************/
241+
242+
/* Make the footer a bit less visible */
243+
.bd-footer {
244+
border-top: 1px solid var(--pst-color-on-surface);
245+
opacity: .7;
246+
}
247+
248+
.bd-footer p {
249+
color: var(--pst-color-text-muted);
250+
}
251+
252+
.bd-footer a {
253+
color: var(--pst-color-info-highlight);
254+
}
255+
256+
/** Adapt bootstrap colors ************************/
257+
:root {
258+
/* Change colors on bootstrap elements to use the theme's colors */
259+
--bs-nav-pills-link-active-bg: var(--pst-color-primary);
260+
--bs-nav-link-color: var(--pst-color-primary);
261+
--bs-nav-link-hover-color: var(--pst-color-link-hover);
262+
}
263+
264+
.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
265+
background-color:var(--pst-color-primary);
266+
}
267+
268+
.nav-link {
269+
color:var(--pst-color-primary);
270+
}
271+
272+
.nav-link:focus, .nav-link:hover {
273+
color: var(--pst-color-link-hover);
274+
}
275+
276+
/** Landing header *******************************/
277+
278+
header > .bd-page-width {
279+
max-width: 1200px;
280+
margin-left: auto;
281+
margin-right: auto;
282+
}
283+
284+
div.sk-landing-container {
285+
margin-top: 0.5rem;
286+
margin-bottom: 0.5rem;
287+
max-width: 1200px;
288+
}
289+
290+
div.sk-landing-container .text-white {
291+
text-shadow: 0px 0px 8px rgb(42, 98, 128);
292+
}
293+
294+
div.sk-landing-container a,
295+
div.sk-landing-container a:hover,
296+
div.sk-landing-container a:visited,
297+
div.sk-landing-container a:visited:hover,
298+
div.sk-landing-container a > code,
299+
div.sk-landing-container a:hover > code,
300+
div.sk-landing-container a:visited > code,
301+
div.sk-landing-container a:visited:hover > code {
302+
color: #DA7007;
303+
}
304+
305+
div.sk-landing-container code {
306+
font-weight: normal !important;
307+
}
308+
309+
ul.sk-landing-header-body {
310+
margin-top: auto;
311+
margin-bottom: auto;
312+
font-family: var(--pst-font-family-base);
313+
font-size: 1.2rem;
314+
font-weight: 500;
315+
color: black;
316+
}
317+
318+
div.sk-landing-bg {
319+
background-image: linear-gradient(160deg, rgba(0,48,70,.75) 0%, rgba(0,118,179,.75) 17%, rgba(255,239,193,.75) 59%, rgba(255,149,40,.75) 100%);
320+
}
321+
322+
.sk-landing-header {
323+
font-size: 3.2rem;
324+
}
325+
326+
@media (max-width: 768px) {
327+
.sk-landing-header {
328+
margin-top: 1.5rem;
329+
margin-bottom: 1.5rem;
330+
text-align: center;
331+
}
332+
333+
.sk-landing-container .col-md-4 {
334+
display: flex;
335+
justify-content: center;
336+
}
337+
}
338+
339+
/** Scikit-learn buttons ***************************/
340+
341+
a.sk-btn-orange {
342+
font-size: 1.1rem;
343+
font-weight: 500;
344+
background-color: #DA7007; /* Original sk-orange-tint-1 */
345+
color: #ffffff !important; /* Changed to white for better contrast */
346+
border: 2px solid #DA7007; /* Border to match background color, previous: f99f44 */
347+
padding: 10px 20px; /* Added padding for better button size */
348+
border-radius: 5px; /* Rounded corners for a modern look */
349+
text-decoration: none; /* Remove underline */
350+
transition: background-color 0.3s ease, color 0.3s ease; /* Smooth transition */
351+
}
352+
353+
a.sk-btn-orange:hover {
354+
background-color: #fbe1ca; /* Fill with white on hover */
355+
color: #DA7007 !important; /* Text color changes to match the original background color */
356+
border: 2px solid #DA7007; /* Border remains the same on hover */
357+
}
358+
359+
/** Contributors ***************************/
360+
361+
.contributors-list {
362+
display: flex;
363+
flex-wrap: wrap;
364+
gap: 2rem;
365+
justify-content: center;
366+
}
367+
368+
.contributor {
369+
text-align: center;
370+
display: flex;
371+
flex-direction: column;
372+
align-items: center;
373+
}
374+
375+
.contributor img {
376+
border-radius: 50%;
377+
width: 80px;
378+
height: 80px;
379+
}
380+
381+
.contributor-name {
382+
margin-top: 0.5rem;
383+
font-size: 0.6rem;
384+
}
385+
386+
.more-contributors {
387+
display: flex;
388+
align-items: center;
389+
justify-content: center;
390+
height: 100px;
391+
}
392+
393+
.more-contributors a,
394+
.more-contributors a:visited {
395+
font-size: 1rem;
396+
transition: color 0.3s ease;
397+
font-weight: normal;
398+
}
399+
400+
.more-contributors a:hover,
401+
.more-contributors a:visited:hover {
402+
font-weight: bold;
403+
}
404+
405+
406+
/** Footer ***************************/
407+
408+
.home-footer {
409+
background-color: #12134b; /* Black background color */
410+
color: #fff; /* White text color */
411+
text-align: center;
412+
padding: 10px 0; /* Padding for the footer */
413+
position: relative;
414+
width: 100%;
415+
bottom: 0; /* Sticks footer to the bottom */
416+
margin-top: 50px;
417+
}
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)