Skip to content

Commit bf9408c

Browse files
committed
Refactor css to be more readable in both normal and print contexts
1 parent abaa241 commit bf9408c

File tree

5 files changed

+118
-79
lines changed

5 files changed

+118
-79
lines changed

assets/css/index.css

Lines changed: 67 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,7 @@ h1 {
126126
font-size: var(--text-font-size-lg);
127127
}
128128

129-
main div:not(:last-child),
130-
main p:not(:last-child),
131-
main ol:not(:last-child),
132-
main ul:not(:last-child) {
129+
main > *:not(:last-child) {
133130
margin-bottom: 1rem;
134131
}
135132

@@ -140,24 +137,38 @@ small {
140137
color: var(--text-subtle-color);
141138
}
142139

143-
h1:has(a) {
144-
margin-bottom: 2rem;
145-
}
146-
147140
a {
148141
font-weight: 400;
149142
color: var(--text-accent-color);
150143
text-decoration: none;
151144
transition: text-decoration 300ms ease;
152145
}
153146

147+
em > a {
148+
color: var(--text-subtle-color) !important;
149+
}
150+
151+
code {
152+
background-color: var(--background-subtle-color);
153+
154+
font-size: var(--text-font-size-sm);
155+
156+
padding: 0.25rem;
157+
border-radius: 0.2rem;
158+
159+
font-weight: 200;
160+
}
161+
154162
/* Anchor link styles for headings */
155-
h1:has(> a[href^="#"]), h2:has(> a[href^="#"]) {
163+
h1:has(> a[href^="#"]),
164+
h2:has(> a[href^="#"]),
165+
h3:has(> a[href^="#"]) {
156166
position: relative;
157167
}
158168

159169
h1:has(> a[href^="#"])::after,
160-
h2:has(> a[href^="#"])::after {
170+
h2:has(> a[href^="#"])::after,
171+
h3:has(> a[href^="#"])::after {
161172
content: "#";
162173
color: var(--text-accent-color);
163174
opacity: 0;
@@ -168,24 +179,17 @@ h2:has(> a[href^="#"])::after {
168179
}
169180

170181
h1:hover:has(> a[href^="#"])::after,
171-
h2:hover:has(> a[href^="#"])::after {
182+
h2:hover:has(> a[href^="#"])::after,
183+
h3:hover:has(> a[href^="#"])::after {
172184
opacity: 1;
173185
}
174186

175-
/* Pseudo-tag styles for markdown */
176-
p > code {
177-
background-color: var(--background-subtle-color);
178-
179-
font-size: var(--text-font-size-sm);
180-
181-
padding: 0.25rem;
182-
border-radius: 0.2rem;
183-
184-
font-weight: 200;
185-
}
186-
187187
/* Printing specific styles */
188188
@media print {
189+
.no-print {
190+
display: none;
191+
}
192+
189193
:root {
190194
--body-padding: 2em 0;
191195
}
@@ -195,36 +199,45 @@ p > code {
195199
display: none !important;
196200
}
197201

198-
h1 {
199-
font-size: 1.25em;
202+
main > * {
203+
line-height: 1em;
204+
}
205+
206+
main > *:not(:last-child) {
207+
margin-bottom: 0.5em;
200208
}
201209

202210
h2 {
211+
font-size: 1.25em;
212+
line-height: 1.25em;
213+
}
214+
215+
h3 {
216+
margin-top: 1em;
203217
font-size: 1em;
218+
line-height: 1em;
204219
}
205220

206-
p,
207-
ol,
208-
ul {
221+
p {
209222
font-size: 0.75em;
210-
line-height: 1em;
211-
margin-bottom: 1em;
212223
}
213224

214225
em,
215226
small {
216-
font-size: 0.65em;
227+
font-size: 0.5em;
217228
}
218229

219-
p > code {
230+
code {
220231
background-color: unset;
221232
font-style: italic;
222233
font-weight: 200;
223-
font-size: 0.75em;
234+
font-size: 0.5em;
235+
line-height: 0.5em;
224236
padding: 0;
237+
border: none;
225238
}
226239

227-
p > code:not(:last-child):after {
240+
code:not(:last-child):after {
228241
content: ",";
229242
}
230243

@@ -304,9 +317,26 @@ main > :nth-child(n + 10) {
304317
}
305318

306319
/* Custom classes */
307-
.experience-title {
320+
.flex {
308321
display: flex;
322+
align-items: baseline;
323+
}
324+
325+
.between {
309326
justify-content: space-between;
327+
}
328+
329+
.items > *:not(:last-child) {
330+
margin-right: 0.2rem;
331+
}
332+
333+
.group-underline {
334+
display: flex;
310335
align-items: baseline;
311-
margin-bottom: 0.5rem;
312-
}
336+
}
337+
338+
.underline {
339+
flex-grow: 1;
340+
border-bottom: 1px solid var(--text-subtle-color);
341+
margin-left: 1rem;
342+
}

content/about.md

Lines changed: 13 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,26 @@
11
---
2-
title: About
2+
title: About me
33
type: about
44
---
55

6-
# Experience
6+
{{< about-section-title title="Experience" >}}
77

8-
{{< experience-section-title job="Product engineer" company="Midlane" timeframe="Nov '23 - Jun '25" >}}
9-
10-
`typescript` `next` `react` `sql` `aws` `lamba` `security` `product`
8+
{{< about-sub-section-title title="Product engineer" location="Midlane" timeframe="Nov '23 - Jun '25" skills="typescript, next, react, sql, aws, lamba, security, product" >}}
119

1210
An early-stage start-up which aimed to create a simple and effective product suite for HR processes in the blue-collar world,
1311
a market that most abandoned in the sector.
1412

1513
The team focused on delivering bit-sized quality features to find product market fit.
1614
I helped shape the product and the team from the ground up, balancing speed and quality in a forever changing environment.
1715

18-
{{< experience-section-title job="Lead engineer" company="Klarna" timeframe="Jul '23 - Oct '23" >}}
19-
20-
`typescript` `nest` `react` `sql` `react-native` `leadership` `product`
16+
{{< about-sub-section-title title="Lead engineer" location="Klarna" timeframe="Jul '23 - Oct '23" skills="typescript, nest, react, sql, react-native, leadership, product" >}}
2117

2218
In the 'Card & Banking' domain, I was poised to help better the consumer experience and the teams around it.
2319
Working on the Klarna app, shipping both to mobile & the web.
2420

2521
I moved on after a once in a lifetime opportunity presented itself.
2622

27-
{{< experience-section-title job="Staff engineer" company="Passbase" timeframe="Aug '19 - Jun '23" >}}
28-
29-
`go` `ruby` `rails` `sql` `typescript` `react` `nextjs` `react` `webpack` `styled-components` `aws` `terraform` `ddd` `architecture` `leadership` `management` `hiring` `security`
23+
{{< about-sub-section-title title="Staff engineer" location="Passbase" timeframe="Aug '19 - Jun '23" skills="go, ruby, rails, sql, typescript, react, nextjs, react, webpack, styled-components, aws, terraform, ddd, architecture, leadership, management, hiring, security" >}}
3024

3125
A VC-backed startup providing identity verification services worldwide.
3226

@@ -37,9 +31,7 @@ I took part in the entire process where I had the opportunity to actively contri
3731

3832
The company was eventually sold & I had to move on.
3933

40-
{{< experience-section-title job="Software engineer" company="Recare" timeframe="Jun. '18 - Mar. '20" >}}
41-
42-
`typescript` `javascript` `flow` `react` `redux` `graphql` `rest` `webpack` `babel` `e2e encryption` `cryptography`
34+
{{< about-sub-section-title title="Software engineer" location="Recare" timeframe="Jun. '18 - Mar. '20" skills="typescript, javascript, flow, react, redux, graphql, rest, webpack, babel, e2e encryption, cryptography" >}}
4335

4436
A patient-transfer service for clinics in Germany.
4537

@@ -51,18 +43,14 @@ We relied on our e2e integration test to validate that transition.
5143

5244
While extending its market ambition towards France, the products required internationalization, a challenge we decided to tackle by building a new app from scratch to update and synchronize terms within all our apps & codebases.
5345

54-
{{< experience-section-title job="Frontend developer (intern)" company="Mhirba" timeframe="Apr. '17 - Aug. '17" >}}
55-
56-
`javascript` `flow` `react` `angular` `vue` `electron` `iot` `prototyping`
46+
{{< about-sub-section-title title="Frontend developer (intern)" location="Mhirba" timeframe="Apr. '17 - Aug. '17" skills="javascript, flow, react, angular, vue, electron, iot, prototyping" >}}
5747

5848
A craft studio for hire, managed by its only founder, working with big companies to prototype IoT products.
5949

6050
I developed a frontend for a cross-platform app, assessing various technologies for the job.
6151
Fast-paced iteration was essential to ensure the prototype fits the customer's needs with quick feedback loops.
6252

63-
{{< experience-section-title job="Game developer (intern)" company="Wolcen" timeframe="Sep. '15 - Dec. '15" >}}
64-
65-
`cpp` `actionscript 2.0` `cry engine 3` `entity-component-system` `documentation`
53+
{{< about-sub-section-title title="Game developer (intern)" location="Wolcen" timeframe="Sep. '15 - Dec. '15" skills="cpp, actionscript 2.0, cry engine 3, entity-component-system, documentation" >}}
6654

6755
An indie game studio that was working on its first game's release.
6856

@@ -71,34 +59,24 @@ The team was short-handed at the time and looking to expand, which required thor
7159

7260
---
7361

74-
# Education
62+
{{< about-section-title title="Education" >}}
7563

76-
{{< experience-section-title job="Master" company="Epitech" timeframe="Sep. '14 - Aug. '19" >}}
77-
78-
`c` `cpp` `java` `sql` `tdd` `architecture` `management`
64+
{{< about-sub-section-title title="Master" location="Epitech" timeframe="Sep. '14 - Aug. '19" skills="c, cpp, java, sql, tdd, architecture, management" >}}
7965

8066
During this 5-year program, I've learned to love programming, embrace new technologies, and navigate a lot of different angles to software engineering.
8167

8268
In the final years, most of the program focused on entrepreneurship and innovation within the sector, learnings I carry with me to this day when working on tech products.
8369

8470
---
8571

86-
# Projects
87-
88-
## Molecule
89-
90-
_https://github.com/marc-mrt/atom-molecule-dev-environment_
72+
{{< about-section-title title="Projects" >}}
9173

92-
`javascript` `flow` `react` `redux` `css` `styled-components` `babel` `rx` `lsp`
74+
{{< about-sub-section-title title="Molecule" timeframe="'18 - '19" skills="javascript, flow, react, redux, css, styled-components, babel, rx, lsp" url="https://github.com/marc-mrt/atom-molecule-dev-environment" >}}
9375

9476
A plugin meant to turn the text editor Atom into a full-fledged IDE. I was one of 6 engineers working on this project, all of which were in different parts of the world, thus requiring a lot of effort to manage effectively.
9577
The project was discontinued.
9678

97-
## Eniverse
98-
99-
_https://github.com/marc-mrt/Eniverse-Showcase_
100-
101-
`javascript` `flow` `react` `css` `styled-components` `webpack` `babel`
79+
{{< about-sub-section-title title="Eniverse" timeframe="'18" skills="javascript, flow, react, css, styled-components, webpack, babel" url="https://github.com/marc-mrt/Eniverse-Showcase" >}}
10280

10381
An e-sports agency, being the only engineer part of this initiative, I developed its showcase website and hosted it on Digital Ocean.
10482
The project was discontinued.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{{ .Store.Set "href" (print .Params.title | lower) }}
2+
{{ .Store.Set "link" (replace (.Store.Get "href") " " "-") }}
3+
4+
<h2 id="{{ .Store.Get "link" }}" class="group-underline">
5+
<a href="#{{ .Store.Get "link" }}">{{ .Params.title }}</a>
6+
<span class="underline"></span>
7+
</h2>
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{{ if .Params.company }}
2+
{{ .Store.Set "href" (print .Params.title " " .Params.location | lower) }}
3+
{{ else }}
4+
{{ .Store.Set "href" (.Params.title | lower) }}
5+
{{ end }}
6+
7+
{{ .Store.Set "link" (replace (.Store.Get "href") " " "-") }}
8+
{{ .Store.Set "skills" (split .Params.skills ",") }}
9+
10+
<div>
11+
<span class="flex between">
12+
<span class="flex">
13+
<h3 id="{{ .Store.Get "link" }}">
14+
<a href="#{{ .Store.Get "link" }}">{{ .Params.title }}{{ if .Params.location }} <i>at</i> {{ .Params.location }}{{ end }}</a>
15+
</h3>
16+
{{ if .Params.url }}
17+
&nbsp;
18+
<em class="no-print">
19+
<a href="{{ .Params.url }}">{{ .Params.url }}</a>
20+
</em>
21+
{{ end }}
22+
</span>
23+
<em>{{ .Params.timeframe }}</em>
24+
</span>
25+
26+
{{ if .Params.skills }}
27+
<div class="items">
28+
{{ range $i, $v := .Store.Get "skills" }}<code>{{ trim $v " " }}</code>{{ end }}
29+
</div>
30+
{{ end }}
31+
</div>

layouts/_shortcodes/experience-section-title.html

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

0 commit comments

Comments
 (0)