Skip to content

Commit 60ad6df

Browse files
committed
feat(blocklists): redesign getting started page with path cards and comparison table
1 parent 8944c46 commit 60ad6df

2 files changed

Lines changed: 46 additions & 17 deletions

File tree

crowdsec-docs/src/css/crowdsec-tokens.css

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@
3939

4040
/* Type */
4141
--cs-font-sans: "Instrument Sans", system-ui, -apple-system, sans-serif;
42-
--cs-font-mono: "JetBrains Mono", "Roboto Mono", ui-monospace, Menlo, monospace;
42+
--cs-font-mono:
43+
"JetBrains Mono", "Roboto Mono", ui-monospace, Menlo, monospace;
4344

4445
/* ── Infima / Docusaurus bridge ──────────────────────────────────────── */
4546
--ifm-background-color: var(--cs-bg);
@@ -71,7 +72,11 @@
7172
--ifm-link-hover-color: var(--cs-orange);
7273

7374
--ifm-code-background: var(--cs-bg-soft);
74-
--ifm-navbar-background-color: color-mix(in srgb, var(--cs-bg) 85%, transparent);
75+
--ifm-navbar-background-color: color-mix(
76+
in srgb,
77+
var(--cs-bg) 85%,
78+
transparent
79+
);
7580

7681
--ifm-hr-border-color: var(--cs-border-hi);
7782
--ifm-blockquote-border-color: var(--cs-orange);
@@ -167,7 +172,7 @@
167172
}
168173

169174
.theme-doc-sidebar-item-link hr {
170-
visibility: hidden;
175+
background-color: var(--cs-border-hi) !important;
171176
margin: 0.25rem 0 !important;
172177
}
173178

@@ -199,7 +204,9 @@
199204
}
200205

201206
/* Top-level category labels: eyebrow mono */
202-
.menu__list > .menu__list-item > .menu__list-item-collapsible > .menu__link--sublist {
207+
.menu__list > .menu__list-item
208+
> .menu__list-item-collapsible
209+
> .menu__link--sublist {
203210
font-family: var(--cs-font-mono);
204211
font-size: 10.5px;
205212
letter-spacing: 0.14em;
@@ -212,12 +219,18 @@
212219
background: transparent !important;
213220
}
214221

215-
.menu__list > .menu__list-item > .menu__list-item-collapsible > .menu__link--sublist:hover {
222+
.menu__list
223+
> .menu__list-item
224+
> .menu__list-item-collapsible
225+
> .menu__link--sublist:hover {
216226
background: transparent !important;
217227
color: var(--cs-ink-dim);
218228
}
219229

220-
.menu__list > .menu__list-item > .menu__list-item-collapsible > .menu__link--sublist.menu__link--active {
230+
.menu__list
231+
> .menu__list-item
232+
> .menu__list-item-collapsible
233+
> .menu__link--sublist.menu__link--active {
221234
color: var(--cs-orange);
222235
background: transparent !important;
223236
}

crowdsec-docs/unversioned/blocklists/getting_started.mdx

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ New to CrowdSec blocklists? Read the [Introduction](/u/blocklists/intro) first t
2020
badge="Path A · Self-hosted"
2121
title="CrowdSec Security Engine"
2222
desc="Ingest blocklists with the open-source agent. Behavior detection, parsing pipeline, Local API — everything runs on your infra."
23-
href="/u/blocklists/security_engine"
24-
ctaLabel="Get started"
23+
links={[{ label: "Get started", href: "/u/blocklists/security_engine" }]}
2524
>
2625
<div style={{ display: "flex", flexDirection: "column", gap: 6, margin: "4px 0" }}>
2726
{[
@@ -43,8 +42,7 @@ New to CrowdSec blocklists? Read the [Introduction](/u/blocklists/intro) first t
4342
badge="Path B · No agent"
4443
title="Direct Integrations"
4544
desc="Push CrowdSec blocklists straight into your existing firewall, CDN, or WAF. No agent to install — just configure your subscription."
46-
href="/u/integrations/intro"
47-
ctaLabel="Browse integrations"
45+
links={[{ label: "Browse integrations", href: "/u/integrations/intro" }]}
4846
>
4947
<div style={{ display: "flex", flexDirection: "column", gap: 6, margin: "4px 0" }}>
5048
{[
@@ -63,10 +61,28 @@ New to CrowdSec blocklists? Read the [Introduction](/u/blocklists/intro) first t
6361

6462
## Quick comparison
6563

66-
| | Security Engine | Integrations |
67-
|---|---|---|
68-
| Setup time | ~ 10 min | ~ 2 min |
69-
| Runs on | Your infrastructure | Your existing firewall / CDN |
70-
| Behavior detection | Yes — full engine | No — blocklists only |
71-
| Best for | Servers, gateways, k8s | Edge, WAF, managed CDN |
72-
| Free community feed | Included | Included |
64+
export const pill = (color) => ({
65+
display: "inline-flex", alignItems: "center",
66+
fontFamily: "var(--cs-font-mono)", fontSize: 10.5, letterSpacing: "0.1em",
67+
textTransform: "uppercase", fontWeight: 600,
68+
padding: "2px 10px", borderRadius: 999,
69+
background: `color-mix(in srgb, ${color} 14%, transparent)`,
70+
color,
71+
});
72+
73+
<table>
74+
<thead>
75+
<tr>
76+
<th style={{ width: "30%" }}></th>
77+
<th><span style={pill("var(--cs-orange)")}>Security Engine</span></th>
78+
<th><span style={pill("var(--cs-teal)")}>Integrations</span></th>
79+
</tr>
80+
</thead>
81+
<tbody>
82+
<tr><td>Setup time</td><td>~ 10 min</td><td>~ 2 min</td></tr>
83+
<tr><td>Runs on</td><td>Your infrastructure</td><td>Your existing firewall / CDN</td></tr>
84+
<tr><td>Behavior detection</td><td>Yes — full engine</td><td>No — blocklists only</td></tr>
85+
<tr><td>Best for</td><td>Servers, gateways, k8s</td><td>Edge, WAF, managed CDN</td></tr>
86+
<tr><td>Free community feed</td><td>Included</td><td>Included</td></tr>
87+
</tbody>
88+
</table>

0 commit comments

Comments
 (0)