1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <xsl:stylesheet version=
"1.0"
3 xmlns:
xsl=
"http://www.w3.org/1999/XSL/Transform">
4 <xsl:output method=
"html" encoding=
"utf-8" indent=
"yes" />
6 <xsl:template match=
"@*|node()" priority=
"-1.0">
8 <xsl:apply-templates select=
"@*|node()"/>
13 <xsl:template match=
"/cv">
14 <meta charset=
"utf-8" />
15 <meta name=
"viewport" content=
"width=device-width, initial-scale=1.0" />
16 <base href=
"https://mina86.com/" />
17 <title>Michał Nazarewicz — Curriculum Vitæ
</title>
19 @import url('https://fonts.googleapis.com/css2?family=Lato:wght@
400;
700&family=Libre+Baskerville:wght@
400;
700&family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@
20.
.48,
100.
.700,
0.
.1,-
50.
.200&display=swap');
22 box-sizing: content-box;
28 font-family: Lato, DejaVu Sans, Noto Sans, Verdana, sans-serif;
35 font-family: Libre Baskerville, Georgia, Charter, Utopia, serif;
37 page-break-after: avoid;
45 page-break-before: avoid;
59 page-break-inside: avoid;
63 page-break-inside: avoid;
64 page-break-before: avoid;
70 justify-content: center;
78 font-family: Material Symbols Rounded;
79 font-variation-settings: 'FILL'
0, 'wght'
400, 'GRAD'
0, 'opsz'
20;
102 max-width:
8em; max-width: min(
20vw,
8em);
103 max-height:
3em; max-height: min(
54vw,
3em);
105 margin:
0 0 0.5em
1em;
107 @media (max-width:
20em) {
108 .logo, svg { display: none }
115 a, a:link, a:visited, a:hover, a:focus, a:active {
117 background: transparent;
118 text-decoration: none;
122 body { background: #
93a1a1; }
123 @media (prefers-color-scheme: dark) {
124 body { background: #
073642; }
132 padding:
1em clamp(
1em, calc(
25vw -
11em),
5em);
133 box-shadow:
0 0 1em #
000;
141 page-break-before: avoid;
144 border-bottom:
1px dashed #
0fa74a;
147 a, a:link, a:visited {
150 a:hover, a:active, a:focus {
151 text-decoration: underline;
162 <h1>Michał Nazarewicz
</h1>
163 <xsl:apply-templates />
167 <xsl:template match=
"/cv/contact">
168 <section class=
"contact">
170 <xsl:apply-templates select=
"li" />
175 <xsl:template match=
"/cv/group">
177 <xsl:apply-templates select=
"head" />
178 <xsl:apply-templates select=
"entry" />
182 <xsl:template match=
"group/head">
183 <h2><xsl:apply-templates select=
"node()" /></h2>
186 <xsl:template match=
"group/entry/head">
187 <h3><xsl:apply-templates select=
"node()" /></h3>
190 <xsl:template match=
"entry">
191 <section class=
"entry">
193 <xsl:when test=
"contains(@logo, '.svg')">
194 <xsl:copy-of select=
"document(@logo)" />
196 <xsl:when test=
"@logo">
197 <img alt=
"" class=
"logo">
198 <xsl:attribute name=
"src">
199 <xsl:value-of select=
"@logo" />
205 <xsl:apply-templates select=
"head" />
206 <xsl:if test=
"position | company">
208 <xsl:if test=
"position">
209 <xsl:apply-templates select=
"position" /> at
211 <xsl:apply-templates select=
"company" />
214 <xsl:apply-templates select=
"time" />
215 <xsl:apply-templates select=
"p | ul" />
216 <xsl:apply-templates select=
"tech" />
220 <xsl:template match=
"position | company">
221 <b><xsl:apply-templates select=
"node()" /></b>
224 <xsl:template match=
"time">
226 <xsl:apply-templates select=
"node()" />
230 <xsl:template match=
"cv/group/entry/tech">
231 <p class=
"tech">Technologies:
<strong><xsl:apply-templates select=
"node()" /></strong></p>
234 <xsl:template match=
"li">
236 <xsl:if test=
"@icon">
237 <span class=
"icon"><xsl:value-of select=
"@icon" /></span>
239 <xsl:apply-templates select=
"node()" />