Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
202 lines (191 loc) · 14.9 KB
/
Copy pathindex.html
File metadata and controls
202 lines (191 loc) · 14.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="application-name" content="diekus">
<meta name="description" content="Diego González — Web Platform Engineer, photographer, and human.">
<meta name="color-scheme" content="light dark">
<link rel="manifest" href="manifest.webmanifest">
<link rel="icon" href="icons/favicon.png" type="image/png">
<link rel="apple-touch-icon" href="icons/icon-192.png">
<link rel="stylesheet" href="css/styles.css">
<link rel="stylesheet" href="css/social.css">
<link rel="stylesheet" href="css/fold.css">
<title>Diego González · diekus</title>
</head>
<body>
<!-- Gradient-blob canvas — fixed behind all content -->
<canvas id="bg-canvas" aria-hidden="true"></canvas>
<!-- Window Controls Overlay title bar region -->
<div class="title-bar-area" aria-hidden="true">
<span class="title-bar-name">diekus</span>
</div>
<header class="site-header">
<div class="header-inner">
<a href="/" class="site-name" aria-label="diekus — home">
<span class="site-logo-full">
<img src="images/logo-dark.png" alt="" class="site-logo site-logo--dark" width="360" height="64">
<img src="images/logo-light.png" alt="" class="site-logo site-logo--light" width="360" height="64">
</span>
<span class="site-logo-compact">
<img src="images/icon-dark.png" alt="" class="site-logo site-logo--dark" width="90" height="82">
<img src="images/icon-light.png" alt="" class="site-logo site-logo--light" width="70" height="64">
</span>
</a>
<nav class="page-nav" aria-label="Page sections">
<a href="#projects" class="nav-link">Projects</a>
<a href="gallery.html" class="nav-link">Gallery</a>
</nav>
<nav class="social-nav" aria-label="Social links">
<!-- LinkedIn -->
<a class="social-link" href="https://www.linkedin.com/in/diekus/" aria-label="LinkedIn" target="_blank" rel="noopener noreferrer">
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
</a>
<!-- Mastodon -->
<a class="social-link" href="https://toot.cafe/@diekus" aria-label="Mastodon" target="_blank" rel="noopener noreferrer me">
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.066-.051 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z"/></svg>
</a>
<!-- Bluesky -->
<a class="social-link" href="https://bsky.app/profile/diekus.bsky.social" aria-label="Bluesky" target="_blank" rel="noopener noreferrer">
<svg viewBox="85 105 342 301" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M159 126c-28-22-74-38-74 14 0 11 6 88 9 101 13 43 57 54 97 48-69 11-87 50-49 89 72 75 104-18 112-42l2-5 2 5c8 24 40 117 112 42 38-39 20-78-49-89 40 6 84-5 97-48 3-13 9-90 9-101 0-52-46-36-74-14-39 29-82 89-97 121-15-32-58-92-97-121Z"/></svg>
</a>
<!-- Instagram -->
<a class="social-link" href="https://www.instagram.com/diekus/" aria-label="Instagram" target="_blank" rel="noopener noreferrer">
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"/></svg>
</a>
<!-- GitHub -->
<a class="social-link" href="https://github.com/diekus" aria-label="GitHub" target="_blank" rel="noopener noreferrer">
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0 1 12 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"/></svg>
</a>
</nav>
<button id="theme-toggle" class="theme-toggle" aria-label="Toggle colour theme" type="button">
<!-- Sun: shown when in dark mode (click → switch to light) -->
<svg id="icon-sun" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
<circle cx="12" cy="12" r="5"/>
<line x1="12" y1="1" x2="12" y2="3"/>
<line x1="12" y1="21" x2="12" y2="23"/>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/>
<line x1="1" y1="12" x2="3" y2="12"/>
<line x1="21" y1="12" x2="23" y2="12"/>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/>
</svg>
<!-- Moon: shown when in light mode (click → switch to dark) -->
<svg id="icon-moon" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/>
</svg>
</button>
</div>
</header>
<main>
<section class="hero" aria-label="Introduction">
<div class="hero-content">
<div class="hero-text">
<div class="hero-portrait-wrap">
<img
src="images/diekus.jpg"
alt="Diego González"
class="portrait"
width="160"
height="160"
loading="eager"
>
</div>
<h1 class="hero-name">Diego González</h1>
<p class="hero-tagline">Web Platform Engineer · Photographer · Immigrant</p>
<p class="hero-bio">
British-Costa Rican engineer based in London via Barcelona. Enjoys photography, skiing, and gadgets.
Spends his days tinkering with open-source (and proprietary) AI and web technologies, and the past decade
contributing new standards and capabilities to web apps, foldables, and XR at Microsoft and Samsung. Invited Expert
in the W3C Web Applications Working Group.
</p>
<div class="social-pulse">
<a class="social-card" id="bluesky-card"
href="https://bsky.app/profile/diekus.bsky.social"
target="_blank" rel="noopener noreferrer"
aria-label="View Bluesky profile">
<div class="social-card__badge" aria-hidden="true">
<svg viewBox="85 105 342 301" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M159 126c-28-22-74-38-74 14 0 11 6 88 9 101 13 43 57 54 97 48-69 11-87 50-49 89 72 75 104-18 112-42l2-5 2 5c8 24 40 117 112 42 38-39 20-78-49-89 40 6 84-5 97-48 3-13 9-90 9-101 0-52-46-36-74-14-39 29-82 89-97 121-15-32-58-92-97-121Z"/></svg>
<span>Bluesky</span>
</div>
<p class="social-card__text"></p>
<img class="social-card__image" src="" alt="" loading="lazy" hidden>
<div class="social-card__meta">
<time class="social-card__date" datetime=""></time>
<div class="social-card__counts">
<span class="social-card__like-item" hidden>
<svg viewBox="0 0 24 24" width="13" height="13" fill="currentColor" aria-hidden="true"><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/></svg>
<span class="social-card__likes"></span>
</span>
<span class="social-card__repost-item" hidden>
<svg viewBox="0 0 24 24" width="13" height="13" fill="currentColor" aria-hidden="true"><path d="M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z"/></svg>
<span class="social-card__reposts"></span>
</span>
</div>
</div>
<span class="social-card__fallback-text">Find me on Bluesky →</span>
</a>
<a class="social-card" id="mastodon-card"
href="https://toot.cafe/@diekus"
target="_blank" rel="noopener noreferrer me"
aria-label="View Mastodon profile">
<div class="social-card__badge" aria-hidden="true">
<svg viewBox="0 0 24 24" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.066-.051 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z"/></svg>
<span>Mastodon</span>
</div>
<p class="social-card__text"></p>
<img class="social-card__image" src="" alt="" loading="lazy" hidden>
<div class="social-card__meta">
<time class="social-card__date" datetime=""></time>
<div class="social-card__counts">
<span class="social-card__like-item" hidden>
<svg viewBox="0 0 24 24" width="13" height="13" fill="currentColor" aria-hidden="true"><path d="M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"/></svg>
<span class="social-card__likes"></span>
</span>
<span class="social-card__repost-item" hidden>
<svg viewBox="0 0 24 24" width="13" height="13" fill="currentColor" aria-hidden="true"><path d="M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z"/></svg>
<span class="social-card__reposts"></span>
</span>
</div>
</div>
<span class="social-card__fallback-text">Find me on Mastodon →</span>
</a>
</div>
</div>
</div>
</section>
<section id="projects" class="projects-section" aria-labelledby="projects-heading">
<div class="section-inner">
<h2 id="projects-heading" class="section-title">Projects & Apps</h2>
<div class="projects-grid"></div>
<a href="projects.html" class="see-all-link">See all projects →</a>
</div>
</section>
<section id="gallery-teaser" class="gallery-teaser-section" aria-labelledby="gallery-teaser-heading">
<div class="section-inner">
<h2 id="gallery-teaser-heading" class="section-title">Photography</h2>
<div class="gallery-teaser-grid"></div>
<a href="gallery.html" class="see-all-link">See all photos →</a>
</div>
</section>
</main>
<footer class="site-footer">
<p><small>© 2026 Diego González</small></p>
</footer>
<script type="module" src="js/theme.js"></script>
<script type="module" src="js/canvas.js"></script>
<script type="module" src="js/projects-home.js"></script>
<script type="module" src="js/gallery-teaser.js"></script>
<script type="module" src="js/social.js"></script>
<script type="module" src="js/posture.js"></script>
<script>
document.addEventListener('DOMContentLoaded', () => {
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw.js');
}
});
</script>
</body>
</html>