tangled
alpha
login
or
join now
finxol.io
/
portfolio
0
fork
atom
Personal site
staging.colinozanne.co.uk
portfolio
astro
0
fork
atom
overview
issues
pulls
pipelines
feat: add wip-banner
finxol.io
3 months ago
529a983c
235b52a4
verified
This commit was signed with the committer's
known signature
.
finxol.io
SSH Key Fingerprint:
SHA256:olFE3asYdoBMScuJOt60UxXdJ0RFdGv5kVKrdOtIcPI=
0/1
deploy.yaml
failed
9s
+144
-64
2 changed files
expand all
collapse all
unified
split
src
assets
styles
index.css
layouts
Layout.astro
+1
src/assets/styles/index.css
reviewed
···
117
117
grid-template-columns: repeat(2, 1fr);
118
118
grid-template-rows: auto;
119
119
grid-gap: var(--spacing);
120
120
+
padding-inline: 0;
120
121
background-color: transparent;
121
122
122
123
@media screen and (max-width: 768px) {
+143
-64
src/layouts/Layout.astro
reviewed
···
26
26
<title>Colin Ozanne</title>
27
27
</head>
28
28
<body>
29
29
-
<aside>
30
30
-
<header>
31
31
-
<picture class="container">
32
32
-
<source srcset={colinWebp.src} type="image/webp" />
33
33
-
<img src={colinPng.src} alt="Colin Ozanne" />
34
34
-
</picture>
35
35
-
<h1 class="container">
36
36
-
Colin <br class="desktop-only" /> Ozanne
37
37
-
</h1>
38
38
-
<p class="container">{subtitle}</p>
39
39
-
</header>
40
40
-
<footer>
41
41
-
<div class="container lang-switcher">
29
29
+
<div class="wip-banner">
30
30
+
<div>
31
31
+
<h3>Work in Progress</h3>
32
32
+
<span>
33
33
+
You are previewing the next version of my portfolio. Any
34
34
+
feedback is welcome!
35
35
+
</span>
36
36
+
</div>
37
37
+
</div>
38
38
+
<div class="app">
39
39
+
<aside>
40
40
+
<header>
41
41
+
<picture class="container">
42
42
+
<source srcset={colinWebp.src} type="image/webp" />
43
43
+
<img src={colinPng.src} alt="Colin Ozanne" />
44
44
+
</picture>
45
45
+
<h1 class="container">
46
46
+
Colin <br class="desktop-only" /> Ozanne
47
47
+
</h1>
48
48
+
<p class="container">{subtitle}</p>
49
49
+
</header>
50
50
+
<footer>
51
51
+
<div class="container lang-switcher">
52
52
+
<a
53
53
+
class={locale === "en" ? "active" : ""}
54
54
+
href={`${config.domains.en}${path}`}
55
55
+
target="_self"
56
56
+
>
57
57
+
EN
58
58
+
</a>
59
59
+
<Icon name="pixel:globe" />
60
60
+
<a
61
61
+
class={locale === "fr" ? "active" : ""}
62
62
+
href={`${config.domains.fr}${path}`}
63
63
+
target="_self"
64
64
+
>
65
65
+
FR
66
66
+
</a>
67
67
+
</div>
68
68
+
42
69
<a
43
43
-
class={locale === "en" ? "active" : ""}
44
44
-
href={`${config.domains.en}${path}`}
45
45
-
target="_self"
70
70
+
href="mailto:contact@colinozanne.fr"
71
71
+
target="_blank"
72
72
+
rel="noopener noreferrer"
73
73
+
class="container"
46
74
>
47
47
-
EN
75
75
+
<Icon name="pixel:envelope" />
76
76
+
<span> Email </span>
77
77
+
<Icon
78
78
+
name="pixel:external-link"
79
79
+
class="external-link"
80
80
+
/>
48
81
</a>
49
49
-
<Icon name="pixel:globe" />
50
82
<a
51
51
-
class={locale === "fr" ? "active" : ""}
52
52
-
href={`${config.domains.fr}${path}`}
53
53
-
target="_self"
83
83
+
href="https://www.linkedin.com/in/colin-ozanne/"
84
84
+
target="_blank"
85
85
+
rel="noopener noreferrer"
86
86
+
class="container"
54
87
>
55
55
-
FR
88
88
+
<Icon name="pixel:linkedin" />
89
89
+
<span> Linkedin </span>
90
90
+
<Icon
91
91
+
name="pixel:external-link"
92
92
+
class="external-link"
93
93
+
/>
56
94
</a>
57
57
-
</div>
58
58
-
59
59
-
<a
60
60
-
href="mailto:contact@colinozanne.fr"
61
61
-
target="_blank"
62
62
-
rel="noopener noreferrer"
63
63
-
class="container"
64
64
-
>
65
65
-
<Icon name="pixel:envelope" />
66
66
-
<span> Email </span>
67
67
-
<Icon name="pixel:external-link" class="external-link" />
68
68
-
</a>
69
69
-
<a
70
70
-
href="https://www.linkedin.com/in/colin-ozanne/"
71
71
-
target="_blank"
72
72
-
rel="noopener noreferrer"
73
73
-
class="container"
74
74
-
>
75
75
-
<Icon name="pixel:linkedin" />
76
76
-
<span> Linkedin </span>
77
77
-
<Icon name="pixel:external-link" class="external-link" />
78
78
-
</a>
79
79
-
<a
80
80
-
href="https://finxol.io"
81
81
-
target="_blank"
82
82
-
rel="noopener noreferrer"
83
83
-
class="container"
84
84
-
>
85
85
-
<Icon name="pixel:pen-nib" />
86
86
-
<span> Blog </span>
87
87
-
<Icon name="pixel:external-link" class="external-link" />
88
88
-
</a>
89
89
-
<p class="container">
90
90
-
© {new Date().getFullYear()} Colin Ozanne
91
91
-
</p>
92
92
-
</footer>
93
93
-
</aside>
94
94
-
<main class="">
95
95
-
<slot />
96
96
-
</main>
95
95
+
<a
96
96
+
href="https://finxol.io"
97
97
+
target="_blank"
98
98
+
rel="noopener noreferrer"
99
99
+
class="container"
100
100
+
>
101
101
+
<Icon name="pixel:pen-nib" />
102
102
+
<span> Blog </span>
103
103
+
<Icon
104
104
+
name="pixel:external-link"
105
105
+
class="external-link"
106
106
+
/>
107
107
+
</a>
108
108
+
<p class="container">
109
109
+
© {new Date().getFullYear()} Colin Ozanne
110
110
+
</p>
111
111
+
</footer>
112
112
+
</aside>
113
113
+
<main class="">
114
114
+
<slot />
115
115
+
</main>
116
116
+
</div>
97
117
</body>
98
118
</html>
99
119
100
120
<style>
121
121
+
.wip-banner {
122
122
+
padding: 0.5rem 1rem;
123
123
+
text-align: center;
124
124
+
font-weight: bold;
125
125
+
font-size: 2rem;
126
126
+
color: #000;
127
127
+
background: repeating-linear-gradient(
128
128
+
135deg,
129
129
+
var(--yellow-300),
130
130
+
var(--yellow-300) 20px,
131
131
+
var(--yellow-500) 20px,
132
132
+
var(--yellow-500) 40px
133
133
+
);
134
134
+
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
135
135
+
136
136
+
div {
137
137
+
display: flex;
138
138
+
flex-direction: column;
139
139
+
align-items: center;
140
140
+
justify-content: center;
141
141
+
width: fit-content;
142
142
+
margin: 0 auto;
143
143
+
background: oklch(from var(--yellow-300) l c h / 30%);
144
144
+
backdrop-filter: blur(10px);
145
145
+
padding: 0.25rem 0.75rem;
146
146
+
border-radius: 4px;
147
147
+
148
148
+
h3 {
149
149
+
margin: 0;
150
150
+
font-size: 1.5rem;
151
151
+
font-weight: bold;
152
152
+
font-family: "Spagetty", serif;
153
153
+
}
154
154
+
155
155
+
span {
156
156
+
display: inline-block;
157
157
+
margin-top: 0rem;
158
158
+
font-size: 0.95rem;
159
159
+
font-weight: normal;
160
160
+
text-wrap: balance;
161
161
+
}
162
162
+
}
163
163
+
}
164
164
+
101
165
body {
102
102
-
width: 100%;
166
166
+
font-family: "Scorekard", sans-serif;
167
167
+
}
168
168
+
169
169
+
.app {
170
170
+
width: 100svw;
103
171
display: grid;
104
172
grid-template-columns: clamp(15rem, 20vw, 30rem) auto;
105
173
grid-template-rows: 1fr auto;
106
174
grid-auto-flow: row;
107
175
grid-template-areas: "aside main";
108
176
gap: 0;
109
109
-
font-family: "Scorekard", sans-serif;
110
177
111
178
& > aside {
112
179
position: sticky;
···
135
202
gap: 0;
136
203
height: auto;
137
204
min-height: 100svh;
205
205
+
206
206
+
& > aside {
207
207
+
display: contents;
208
208
+
209
209
+
& > header {
210
210
+
grid-area: header;
211
211
+
}
212
212
+
213
213
+
& > footer {
214
214
+
grid-area: footer;
215
215
+
}
216
216
+
}
138
217
}
139
218
}
140
219