Skip to content

Commit 299abb0

Browse files
committed
[site] use cards grid for features
A grid of cards is much nicer than just a bulleted list.
1 parent d4c28b6 commit 299abb0

File tree

3 files changed

+130
-94
lines changed

3 files changed

+130
-94
lines changed

site/src/css/extra.css

Lines changed: 0 additions & 59 deletions
This file was deleted.

site/src/index.md

Lines changed: 67 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,73 @@ Welcome to the home page for **cargo-nextest**, a next-generation test runner fo
1010

1111
## Features
1212

13-
<div id="nextest-features" markdown>
14-
15-
<img src="static/cover.png" id="nextest-cover" />
16-
17-
- **Clean, beautiful user interface.** Nextest presents its results concisely so you can see which tests passed and failed at a glance.
18-
- **[Up to 3× as fast](docs/benchmarks/index.md) as cargo test.** Nextest uses a [state-of-the-art execution model](docs/design/how-it-works.md) for faster, more reliable test runs.
19-
- **Identify [slow](docs/features/slow-tests.md) and [leaky](docs/features/leaky-tests.md) tests.** Use nextest to detect misbehaving tests, identify bottlenecks during test execution, and optionally terminate tests if they take too long.
20-
- **Filter tests using an embedded language.** Use powerful [filtersets](docs/filtersets/index.md) to specify granular subsets of tests on the command-line, and to enable [per-test overrides](docs/configuration/per-test-overrides.md).
21-
- **Configure [per-test settings](docs/configuration/per-test-overrides.md)**. [Automatically retry](docs/features/retries.md#per-test-settings) subsets of tests, mark them as [heavy](docs/configuration/threads-required.md), or [run them serially](docs/configuration/test-groups.md).
22-
- **Designed for CI.** Nextest addresses real-world pain points in continuous integration scenarios:
23-
- Use **[pre-built binaries](docs/installation/pre-built-binaries.md)** for quick installation.
24-
- Set up CI-specific **[configuration profiles](docs/configuration/index.md)**.
25-
- **[Reuse builds](docs/ci-features/archiving.md)** and **[partition test runs](docs/ci-features/partitioning.md)** across multiple CI jobs. (Check out [this example](https://github.com/nextest-rs/reuse-build-partition-example/blob/main/.github/workflows/ci.yml) on GitHub Actions).
26-
- [**Automatically retry**](docs/features/retries.md) failing tests, and mark them as flaky if they pass later.
27-
- Print failing output **[at the end of test runs](docs/reporting.md)**.
28-
- Output information about test runs as **[JUnit XML](docs/machine-readable/junit.md)**, and [in other formats](docs/machine-readable/index.md).
29-
- **Cross-platform.** Nextest works on Linux and other Unixes, macOS, and Windows, so you get its benefits no matter what platform you use.
13+
<div class="grid cards" markdown>
14+
15+
- :octicons-sparkles-fill-16:{ .lg .middle } __Clean, beautiful user interface__
16+
17+
---
18+
19+
<img src="static/cover.png" id="nextest-cover" />
20+
21+
See which tests passed and failed at a glance.
22+
23+
[:octicons-arrow-right-24: Running tests](docs/running.md)
24+
25+
- :material-clock-fast:{ .lg .middle } __Up to 3x as fast as cargo test__
26+
27+
---
28+
29+
Nextest uses a modern [execution model](docs/design/how-it-works.md) for faster, more reliable test runs.
30+
31+
[:octicons-arrow-right-24: Benchmarks](docs/benchmarks/index.md)
32+
33+
- :material-speedometer-slow:{ .lg .middle } __Identify misbehaving tests__
34+
35+
---
36+
37+
Treat tests as cattle, not pets. Detect slow tests and terminate them if they take too long.
38+
39+
[:octicons-arrow-right-24: Slow tests and timeouts](docs/features/slow-tests.md)
40+
41+
- :material-chevron-double-right:{ .lg .middle } __Customize settings by test__
42+
43+
---
44+
45+
Automatically [retry](docs/features/retries.md) some tests, mark them as [heavy](docs/configuration/threads-required.md), run them [serially](docs/configuration/test-groups.md), and much more.
46+
47+
[:octicons-arrow-right-24: Per-test settings](docs/configuration/per-test-overrides.md)
48+
49+
- :octicons-git-merge-24:{ .lg .middle } __Designed for CI__
50+
51+
---
52+
53+
Set up CI configuration, [reuse](docs/ci-features/archiving.md) and [partition](docs/ci-features/partitioning.md) tests across multiple workers, and output [JUnit XML](docs/machine-readable/junit.md).
54+
55+
[:octicons-arrow-right-24: Configuration profiles](docs/configuration/index.md#profiles)
56+
57+
- :material-language-rust:{ .lg .middle } __Cross-platform__
58+
59+
---
60+
61+
Use nextest on Linux, Mac, Windows, and elsewhere:material-information-outline:{ title="Nextest also supports illumos, FreeBSD, and many other Unix platforms." }. Download binaries or build it [from source](docs/installation/from-source.md).
62+
63+
[:octicons-arrow-right-24: Pre-built binaries](docs/installation/pre-built-binaries.md)
64+
65+
- :material-scale-balance:{ .lg .middle } __Open source, widely trusted__
66+
67+
---
68+
69+
Nextest saves resources for organizations of all sizes, from solo devs to Fortune 10 companies.
70+
71+
[:octicons-arrow-right-24: License (Apache 2.0)](https://github.com/nextest-rs/nextest/blob/main/LICENSE-APACHE)
72+
73+
- :material-heart-circle:{ .lg .middle } __Made with love__
74+
75+
---
76+
77+
We're pushing the state of the art forward [with _care_](docs/design/why-process-per-test.md) about getting the details right.
78+
79+
[:octicons-arrow-right-24: GitHub Sponsors](https://github.com/sponsors/sunshowers)
3080

3181
</div>
3282

site/src/theme/css/extra.css

Lines changed: 63 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,30 +11,50 @@
1111

1212
.md-typeset .admonition.experimental,
1313
.md-typeset details.experimental {
14-
border-color: rgb(43, 155, 70);
14+
border-color: rgb(43, 155, 70);
1515
}
1616
.md-typeset .experimental > .admonition-title,
1717
.md-typeset .experimental > summary {
18-
background-color: rgba(43, 155, 70, 0.1);
18+
background-color: rgba(43, 155, 70, 0.1);
1919
}
2020
.md-typeset .experimental > .admonition-title::before,
2121
.md-typeset .experimental > summary::before {
22-
background-color: rgb(43, 155, 70);
23-
-webkit-mask-image: var(--md-status--experimental);
24-
mask-image: var(--md-status--experimental);
22+
background-color: rgb(43, 155, 70);
23+
-webkit-mask-image: var(--md-status--experimental);
24+
mask-image: var(--md-status--experimental);
2525
}
2626

2727
/* Custom colors for light output */
2828
[data-md-color-scheme="default"] {
2929
--nextest-color-blend: hsl(180, 100%, 5%);
3030
--nextest-color-blend-amount: 50%;
31-
--ansi-red: color-mix(in srgb, #ff5555, var(--nextest-color-blend) var(--nextest-color-blend-amount));
32-
--ansi-green: color-mix(in srgb, #50fa7b, var(--nextest-color-blend) var(--nextest-color-blend-amount));
31+
--ansi-red: color-mix(
32+
in srgb,
33+
#ff5555,
34+
var(--nextest-color-blend) var(--nextest-color-blend-amount)
35+
);
36+
--ansi-green: color-mix(
37+
in srgb,
38+
#50fa7b,
39+
var(--nextest-color-blend) var(--nextest-color-blend-amount)
40+
);
3341
/* ansi-blue is dark enough already */
3442
--ansi-blue: #265285;
35-
--ansi-yellow: color-mix(in srgb, #f1fa8c, var(--nextest-color-blend) var(--nextest-color-blend-amount));
36-
--ansi-magenta: color-mix(in srgb, #ff79c6, var(--nextest-color-blend) var(--nextest-color-blend-amount));
37-
--ansi-cyan: color-mix(in srgb, #8be9fd, var(--nextest-color-blend) var(--nextest-color-blend-amount));
43+
--ansi-yellow: color-mix(
44+
in srgb,
45+
#f1fa8c,
46+
var(--nextest-color-blend) var(--nextest-color-blend-amount)
47+
);
48+
--ansi-magenta: color-mix(
49+
in srgb,
50+
#ff79c6,
51+
var(--nextest-color-blend) var(--nextest-color-blend-amount)
52+
);
53+
--ansi-cyan: color-mix(
54+
in srgb,
55+
#8be9fd,
56+
var(--nextest-color-blend) var(--nextest-color-blend-amount)
57+
);
3858

3959
--md-accent-fg-color: hsl(350, 45%, 40%);
4060
--md-typeset-a-color: hsl(192, 29%, 40%);
@@ -44,13 +64,37 @@
4464
[data-md-color-scheme="slate"] {
4565
--nextest-color-blend: hsl(180, 100%, 5%);
4666
--nextest-color-blend-amount: 20%;
47-
--ansi-red: color-mix(in srgb, #ff5555, var(--nextest-color-blend) var(--nextest-color-blend-amount));
48-
--ansi-green: color-mix(in srgb, #50fa7b, var(--nextest-color-blend) var(--nextest-color-blend-amount));
67+
--ansi-red: color-mix(
68+
in srgb,
69+
#ff5555,
70+
var(--nextest-color-blend) var(--nextest-color-blend-amount)
71+
);
72+
--ansi-green: color-mix(
73+
in srgb,
74+
#50fa7b,
75+
var(--nextest-color-blend) var(--nextest-color-blend-amount)
76+
);
4977
/* ansi-blue needs to be made lighter */
50-
--ansi-blue: color-mix(in srgb, #265285, hsl(180, 100%, 95%) var(--nextest-color-blend-amount));
51-
--ansi-yellow: color-mix(in srgb, #f1fa8c, var(--nextest-color-blend) var(--nextest-color-blend-amount));
52-
--ansi-magenta: color-mix(in srgb, #ff79c6, var(--nextest-color-blend) var(--nextest-color-blend-amount));
53-
--ansi-cyan: color-mix(in srgb, #8be9fd, var(--nextest-color-blend) var(--nextest-color-blend-amount));
78+
--ansi-blue: color-mix(
79+
in srgb,
80+
#265285,
81+
hsl(180, 100%, 95%) var(--nextest-color-blend-amount)
82+
);
83+
--ansi-yellow: color-mix(
84+
in srgb,
85+
#f1fa8c,
86+
var(--nextest-color-blend) var(--nextest-color-blend-amount)
87+
);
88+
--ansi-magenta: color-mix(
89+
in srgb,
90+
#ff79c6,
91+
var(--nextest-color-blend) var(--nextest-color-blend-amount)
92+
);
93+
--ansi-cyan: color-mix(
94+
in srgb,
95+
#8be9fd,
96+
var(--nextest-color-blend) var(--nextest-color-blend-amount)
97+
);
5498

5599
--md-hue: 215;
56100
--md-accent-fg-color: hsl(350, 45%, 60%);
@@ -98,7 +142,7 @@
98142

99143
@supports (font-variation-settings: normal) {
100144
:root {
101-
--md-text-font: 'Inter var', "Helvetica Neue", "Arial", sans-serif;
145+
--md-text-font: "Inter var", "Helvetica Neue", "Arial", sans-serif;
102146
}
103147
}
104148

@@ -117,7 +161,7 @@
117161
}
118162

119163
.md-typeset h2 {
120-
letter-spacing: -0.030em;
164+
letter-spacing: -0.03em;
121165
}
122166

123167
.md-typeset h3 {
@@ -172,6 +216,7 @@
172216
display: block;
173217
margin-left: auto;
174218
margin-right: auto;
219+
padding-left: 0;
175220
float: none;
176221
width: 80%;
177222
max-width: 250px;

0 commit comments

Comments
 (0)