Skip to content

Commit 5365efc

Browse files
jmdukeclaude
andauthored
Add CI linting for Python (ruff) and HTML (htmlhint) (#9)
Fix broken tag nesting in radiobuttons.html that was caught by htmlhint. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 3679c3b commit 5365efc

2 files changed

Lines changed: 66 additions & 46 deletions

File tree

.github/workflows/lint.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Lint
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
8+
jobs:
9+
python:
10+
name: Python (ruff)
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
- uses: astral-sh/ruff-action@v3
15+
16+
html:
17+
name: HTML (htmlhint)
18+
runs-on: ubuntu-latest
19+
steps:
20+
- uses: actions/checkout@v4
21+
- run: npx htmlhint "**/*.html"

html/radiobuttons.html

Lines changed: 45 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -12,52 +12,51 @@
1212
<div>
1313
<form action="https://buttondown.com/api/emails/embed-subscribe/{username}"
1414
method="post">
15-
</div>
16-
<fieldset>
17-
<div class="card">
18-
<h3>
19-
Stay informed
20-
</h3>
21-
<p>
22-
You'll be the first to know when we launch!
23-
</p>
24-
</div>
25-
<div>
26-
<label for="email">
27-
Email:
28-
</label>
29-
<input id="email" name="email" type="email" placeholder="m@example.com"
30-
required />
31-
</div>
32-
<div>
33-
<label for="language">
34-
Language:
35-
</label>
36-
<input type="radio" id="english" name="english" value="english" />
37-
<label for="english">
38-
English
39-
</label>
40-
<input type="radio" id="french" name="french" value="french" />
41-
<label for="french">
42-
French
43-
</label>
44-
<input type="radio" id="spanish" name="spanish" value="spanish" />
45-
<label for="spanish">
46-
Spanish
47-
</label>
48-
<input type="radio" id="portugese" name="portugese" value="portugese"
49-
/>
50-
<label for="portugese">
51-
Portugese
52-
</label>
53-
</div>
54-
<div>
55-
<button type="submit">
56-
Subscribe
57-
</button>
58-
</div>
59-
</fieldset>
60-
</form>
15+
<fieldset>
16+
<div class="card">
17+
<h3>
18+
Stay informed
19+
</h3>
20+
<p>
21+
You'll be the first to know when we launch!
22+
</p>
23+
</div>
24+
<div>
25+
<label for="email">
26+
Email:
27+
</label>
28+
<input id="email" name="email" type="email" placeholder="m@example.com"
29+
required />
30+
</div>
31+
<div>
32+
<label for="language">
33+
Language:
34+
</label>
35+
<input type="radio" id="english" name="english" value="english" />
36+
<label for="english">
37+
English
38+
</label>
39+
<input type="radio" id="french" name="french" value="french" />
40+
<label for="french">
41+
French
42+
</label>
43+
<input type="radio" id="spanish" name="spanish" value="spanish" />
44+
<label for="spanish">
45+
Spanish
46+
</label>
47+
<input type="radio" id="portugese" name="portugese" value="portugese"
48+
/>
49+
<label for="portugese">
50+
Portugese
51+
</label>
52+
</div>
53+
<div>
54+
<button type="submit">
55+
Subscribe
56+
</button>
57+
</div>
58+
</fieldset>
59+
</form>
6160
</div>
6261
</body>
6362
</html>

0 commit comments

Comments
 (0)