Skip to content

Commit 0a3cee5

Browse files
jeremymanningclaude
andcommitted
Improve CV HTML formatting to match PDF layout
- Fix header spacing: reduce name-title gap, add space after Director and USA - Add block spacers for text block separation (matching LaTeX \\[Xcm]) - Extract and display footnotes as section notes under headers - Make Undergraduate Advisees section 2-column layout - Fix sub-heading weights: h3/h4 now normal weight (matching LaTeX \mdseries) - Reduce paragraph margins for tighter spacing - Update download bar structure to match CSS expectations - Remove duplicate "Last updated" text 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
1 parent 9506acd commit 0a3cee5

File tree

5 files changed

+645
-113
lines changed

5 files changed

+645
-113
lines changed

css/cv.css

Lines changed: 63 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@
4141
========================================================================== */
4242

4343
:root {
44-
--primary-green: rgb(0, 112, 60);
45-
--bg-green: rgba(0, 112, 60, 0.2);
44+
--primary-green: rgb(0, 105, 62);
45+
--bg-green: rgba(0, 105, 62, 0.2);
4646
--dark-text: rgba(0, 0, 0, 0.7);
4747
--light-gray: #f5f5f5;
4848
--border-gray: #e0e0e0;
@@ -62,7 +62,7 @@
6262
body {
6363
font-family: 'Dartmouth Ruzicka', Georgia, serif;
6464
font-size: 11pt;
65-
line-height: 1.6;
65+
line-height: 1.35;
6666
color: var(--dark-text);
6767
background-color: white;
6868
padding-top: 60px; /* Space for sticky download bar */
@@ -137,59 +137,64 @@ body {
137137
========================================================================== */
138138

139139
.cv-header {
140-
text-align: center;
141-
margin-bottom: 3rem;
142-
padding-bottom: 2rem;
143-
border-bottom: 2px solid var(--primary-green);
140+
text-align: left;
141+
margin-bottom: 1.5rem;
142+
padding-bottom: 0;
143+
border-bottom: none;
144144
}
145145

146146
.cv-header h1 {
147-
font-size: 2.5rem;
148-
font-weight: bold;
149-
color: var(--primary-green);
150-
margin-bottom: 1rem;
151-
letter-spacing: 0.5px;
147+
font-size: 17pt;
148+
font-weight: normal;
149+
color: var(--dark-text);
150+
margin-bottom: 0;
151+
letter-spacing: 0;
152152
}
153153

154154
.cv-header .contact-info {
155-
font-size: 0.95rem;
156-
line-height: 1.8;
155+
font-size: 11pt;
156+
line-height: 1.3;
157157
color: var(--dark-text);
158158
}
159159

160160
.cv-header .contact-info p {
161-
margin: 0.25rem 0;
161+
margin: 0;
162+
}
163+
164+
.cv-header .contact-info p.space-after {
165+
margin-bottom: 0.5rem;
162166
}
163167

164168
/* Headings
165169
========================================================================== */
166170

167171
h2 {
168-
font-size: 1.4rem;
169-
font-weight: bold;
170-
color: var(--primary-green);
171-
margin-top: 2rem;
172-
margin-bottom: 1rem;
173-
padding-bottom: 0.5rem;
174-
border-bottom: 1px solid var(--border-gray);
175-
text-transform: uppercase;
176-
letter-spacing: 1px;
172+
font-size: 1.3rem;
173+
font-weight: normal;
174+
color: var(--dark-text);
175+
margin-top: 2.5rem;
176+
margin-bottom: 0.75rem;
177+
padding-bottom: 0;
178+
border-bottom: none;
179+
text-transform: none;
180+
letter-spacing: 0;
177181
}
178182

179183
h3 {
180-
font-size: 1.1rem;
181-
font-weight: bold;
184+
font-size: 1.05rem;
185+
font-weight: normal;
182186
color: var(--dark-text);
183187
margin-top: 1.5rem;
184-
margin-bottom: 0.75rem;
188+
margin-bottom: 0.5rem;
185189
}
186190

187191
h4 {
188192
font-size: 1rem;
189-
font-weight: bold;
193+
font-weight: normal;
194+
font-style: italic;
190195
color: var(--dark-text);
191-
margin-top: 1rem;
192-
margin-bottom: 0.5rem;
196+
margin-top: 0.75rem;
197+
margin-bottom: 0.25rem;
193198
}
194199

195200
/* Lists
@@ -201,41 +206,47 @@ ul, ol {
201206
}
202207

203208
li {
204-
margin-bottom: 0.75rem;
205-
line-height: 1.6;
209+
margin-bottom: 0.5rem;
210+
line-height: 1.35;
206211
}
207212

208213
/* Reverse-numbered lists for publications and awards */
214+
/* Use native browser support for reversed lists */
209215
ol[reversed] {
210-
list-style: none;
211-
counter-reset: item;
216+
list-style-position: outside;
217+
padding-left: 2.5rem;
212218
}
213219

214220
ol[reversed] > li {
215-
counter-increment: item -1;
216-
position: relative;
217-
padding-left: 2.5rem;
221+
padding-left: 0.5rem;
218222
}
219223

220-
ol[reversed] > li::before {
221-
content: counter(item) ".";
222-
position: absolute;
223-
left: 0;
224-
font-weight: bold;
225-
color: var(--primary-green);
226-
min-width: 2rem;
227-
text-align: right;
228-
padding-right: 0.5rem;
224+
ol[reversed] > li::marker {
225+
font-weight: normal;
226+
color: var(--dark-text);
229227
}
230228

231229
/* Paragraphs
232230
========================================================================== */
233231

234232
p {
235-
margin-bottom: 1rem;
233+
margin-bottom: 0.25rem;
234+
margin-top: 0;
236235
text-align: justify;
237236
}
238237

238+
/* Reduce spacing for paragraphs in section content (like Advisor/Dissertation lines) */
239+
section p {
240+
margin-bottom: 0.1rem;
241+
}
242+
243+
/* Section notes (from footnotes) */
244+
.section-note {
245+
font-size: 0.9rem;
246+
margin-bottom: 0.75rem;
247+
color: var(--dark-text);
248+
}
249+
239250
/* Links
240251
========================================================================== */
241252

@@ -270,6 +281,11 @@ strong, b {
270281
font-weight: bold;
271282
}
272283

284+
.block-spacer {
285+
display: block;
286+
height: 0.4rem;
287+
}
288+
273289
/* Two-Column Lists
274290
========================================================================== */
275291

0 commit comments

Comments
 (0)