Skip to content

Commit bad092f

Browse files
MDA2AVclaude
andcommitted
Docs — theme, cards, nav, Add a Framework page, logo
- Blue-gray gradient background (light) / deep navy (dark) - Cards pop with elevated shadows and hover lift - Nav separators before Glossary and Add a Framework - Probe Results tab bold + larger font - New "Add a Framework" page with contributor guide - Landing page links to new page via card - Theme toggle moved to navbar, sidebar toggle hidden - Footer made transparent, powered-by removed - New logo — probe wave + crosshair, blue/white variants Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent bb5ab84 commit bad092f

6 files changed

Lines changed: 174 additions & 29 deletions

File tree

docs/assets/css/custom.css

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,83 @@
1+
/* ── Theme colors ─────────────────────────────────────────────── */
2+
3+
:root {
4+
--primary-hue: 215deg;
5+
--primary-saturation: 70%;
6+
--primary-lightness: 45%;
7+
}
8+
9+
/* Light mode — cool blue-gray tint */
10+
body {
11+
background: linear-gradient(180deg, #f0f4f8 0%, #e2e8f0 100%);
12+
}
13+
14+
.hextra-content {
15+
background: rgba(255, 255, 255, 0.6);
16+
backdrop-filter: blur(8px);
17+
border-radius: 12px;
18+
padding: 2rem;
19+
}
20+
21+
/* Dark mode — deep navy */
22+
html.dark body {
23+
background: linear-gradient(180deg, #0f172a 0%, #1e293b 100%);
24+
}
25+
26+
html.dark .hextra-content {
27+
background: rgba(15, 23, 42, 0.5);
28+
}
29+
30+
/* ── Fix opaque backgrounds clashing with gradient ───────────── */
31+
32+
/* TOC — "Edit this page" sticky area */
33+
.hextra-toc .hextra-scrollbar > div:last-child {
34+
background: transparent !important;
35+
box-shadow: none !important;
36+
}
37+
38+
/* Hide sidebar theme toggle (moved to navbar) */
39+
.hextra-sidebar-container div[data-toggle-animation] {
40+
display: none !important;
41+
}
42+
43+
/* Footer */
44+
.hextra-footer {
45+
background: transparent !important;
46+
}
47+
48+
/* ── Cards ───────────────────────────────────────────────────── */
49+
50+
.hextra-card {
51+
background: rgba(255, 255, 255, 0.85) !important;
52+
border: 1px solid rgba(59, 130, 246, 0.15) !important;
53+
box-shadow: 0 4px 16px rgba(59, 130, 246, 0.1), 0 1px 3px rgba(0, 0, 0, 0.06) !important;
54+
transition: transform 0.2s ease, box-shadow 0.2s ease !important;
55+
}
56+
57+
.hextra-card:hover {
58+
transform: translateY(-4px) !important;
59+
box-shadow: 0 12px 32px rgba(59, 130, 246, 0.18), 0 4px 8px rgba(0, 0, 0, 0.08) !important;
60+
border-color: rgba(59, 130, 246, 0.35) !important;
61+
}
62+
63+
html.dark .hextra-card {
64+
background: rgba(30, 41, 59, 0.8) !important;
65+
border: 1px solid rgba(96, 165, 250, 0.15) !important;
66+
box-shadow: 0 4px 16px rgba(96, 165, 250, 0.08), 0 1px 3px rgba(0, 0, 0, 0.3) !important;
67+
}
68+
69+
html.dark .hextra-card:hover {
70+
box-shadow: 0 12px 32px rgba(96, 165, 250, 0.15), 0 4px 8px rgba(0, 0, 0, 0.4) !important;
71+
border-color: rgba(96, 165, 250, 0.35) !important;
72+
}
73+
74+
/* ── Nav ─────────────────────────────────────────────────────── */
75+
176
/* Probe Results — primary nav item */
277
a[href$="/probe-results"],
378
a[href$="/probe-results/"] {
479
font-weight: 700 !important;
80+
font-size: 1.1em !important;
581
}
682

783
/* Separator before Glossary */
@@ -11,3 +87,11 @@ a[href$="/glossary/"] {
1187
padding-left: 14px !important;
1288
border-left: 1px solid rgba(128, 128, 128, 0.3) !important;
1389
}
90+
91+
/* Separator before Add a Framework */
92+
a[href$="/add-a-framework"],
93+
a[href$="/add-a-framework/"] {
94+
margin-left: 12px !important;
95+
padding-left: 14px !important;
96+
border-left: 1px solid rgba(128, 128, 128, 0.3) !important;
97+
}

docs/content/_index.md

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -48,27 +48,11 @@ Http11Probe sends a suite of crafted HTTP requests to each server and checks whe
4848

4949
<div style="height:16px"></div>
5050

51-
Http11Probe is designed so anyone can contribute their HTTP server and get compliance results without touching the test infrastructure.
51+
Http11Probe is designed so anyone can contribute their HTTP server and get compliance results without touching the test infrastructure. Just add a Dockerfile, a one-line `probe.json`, and open a PR.
5252

53-
<div style="height:24px"></div>
54-
55-
**1. Write a minimal server** — Create a directory under `src/Servers/YourServer/` with a simple HTTP server that listens on **port 8080** and returns `200 OK` on `GET /`. Any language, any framework.
56-
57-
<div style="height:16px"></div>
58-
59-
**2. Add a Dockerfile** — Build and run your server. It will run with `--network host`.
60-
61-
<div style="height:16px"></div>
62-
63-
**3. Add a `probe.json`** — One file, one field:
64-
65-
<div style="height:12px"></div>
66-
67-
```json
68-
{"name": "Your Server"}
69-
```
70-
71-
<div style="height:24px"></div>
53+
<div style="height:20px"></div>
7254

73-
The CI pipeline auto-discovers servers from `src/Servers/*/probe.json`. No workflow edits, no test changes, no config files. Open a PR and the probe runs automatically.
55+
{{< cards >}}
56+
{{< card link="add-a-framework" title="Get Started" subtitle="Three steps to add your framework — Dockerfile, probe.json, and open a PR." icon="plus-circle" >}}
57+
{{< /cards >}}
7458

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
title: Add a Framework
3+
---
4+
5+
Http11Probe is designed so anyone can contribute their HTTP server and get compliance results without touching the test infrastructure.
6+
7+
## Steps
8+
9+
**1. Write a minimal server** — Create a directory under `src/Servers/YourServer/` with a simple HTTP server that listens on **port 8080** and returns `200 OK` on `GET /`. Any language, any framework.
10+
11+
**2. Add a Dockerfile** — Build and run your server. It will run with `--network host`.
12+
13+
**3. Add a `probe.json`** — One file, one field:
14+
15+
```json
16+
{"name": "Your Server"}
17+
```
18+
19+
That's it. Open a PR and the probe runs automatically.
20+
21+
## How It Works
22+
23+
The CI pipeline scans `src/Servers/*/probe.json` to discover servers. For each one it:
24+
25+
1. Builds the Docker image from the Dockerfile in that directory
26+
2. Runs the container on port 8080 with `--network host`
27+
3. Waits for the server to become ready
28+
4. Runs the full compliance probe suite
29+
5. Stops the container and moves to the next server
30+
31+
No workflow edits, no port allocation, no config files.
32+
33+
## Example
34+
35+
Here's the full Flask server as a reference:
36+
37+
**`src/Servers/FlaskServer/probe.json`**
38+
```json
39+
{"name": "Flask"}
40+
```
41+
42+
**`src/Servers/FlaskServer/Dockerfile`**
43+
```dockerfile
44+
FROM python:3.12-slim
45+
WORKDIR /app
46+
RUN pip install --no-cache-dir flask
47+
COPY src/Servers/FlaskServer/app.py .
48+
ENTRYPOINT ["python3", "app.py", "8080"]
49+
```
50+
51+
**`src/Servers/FlaskServer/app.py`** — a minimal Flask app that reads the port from `sys.argv` and returns `200 OK` on `GET /`.

docs/hugo.yaml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,19 @@ menu:
3030
- name: Glossary
3131
pageRef: /glossary
3232
weight: 5
33-
- name: Search
33+
- name: Add a Framework
34+
pageRef: /add-a-framework
3435
weight: 6
36+
- name: Search
37+
weight: 7
3538
params:
3639
type: search
40+
- name: Theme Toggle
41+
weight: 8
42+
params:
43+
type: theme-toggle
3744
- name: GitHub
38-
weight: 7
45+
weight: 9
3946
url: https://github.com/MDA2AV/Http11Probe
4047
params:
4148
icon: github
@@ -47,12 +54,12 @@ params:
4754
logo:
4855
link: /Http11Probe/
4956
light: images/logo.svg
50-
dark: images/logo.svg
51-
width: 24
52-
height: 24
57+
dark: images/logo-dark.svg
58+
width: 36
59+
height: 32
5360
footer:
5461
displayCopyright: false
55-
displayPoweredBy: true
62+
displayPoweredBy: false
5663
editURL:
5764
enable: true
5865
base: https://github.com/MDA2AV/Http11Probe/edit/main/docs/content

docs/static/images/logo-dark.svg

Lines changed: 11 additions & 0 deletions
Loading

docs/static/images/logo.svg

Lines changed: 10 additions & 2 deletions
Loading

0 commit comments

Comments
 (0)