Compare commits
21 Commits
project_co
...
language_b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f2e1c2bfb3 | ||
|
|
30f5a4681e | ||
|
|
32ea6d6cf4 | ||
|
|
69b111b1e2 | ||
|
|
3f6eb8e78b | ||
|
|
4642f33e0a | ||
|
|
af9543e1f1 | ||
|
|
801576af7a | ||
|
|
f414587ec3 | ||
|
|
1056f8ea5c | ||
|
|
ad737c57dc | ||
|
|
fdd16bbd3e | ||
|
|
0c7860fee9 | ||
|
|
d545c2ef28 | ||
|
|
e21e5b8938 | ||
|
|
680c5808a3 | ||
|
|
8ac471331f | ||
|
|
04883ef891 | ||
|
|
8a69f25113 | ||
|
|
d60b3580c0 | ||
|
|
744c2aedcb |
@@ -16,14 +16,16 @@
|
|||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
white-space: pre;
|
/*
|
||||||
|
* dont work in chrome so use 'tspan' with 'dy' and 'xml:space'
|
||||||
|
*
|
||||||
line-height: 0.8;
|
line-height: 0.8;
|
||||||
|
white-space: pre;
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</defs>
|
</defs>
|
||||||
<text x="0" y="0">
|
<text x="0" y="0">
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
<!-- Other SVG elements and attributes -->
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 6.0 KiB |
@@ -16,15 +16,17 @@
|
|||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
white-space: pre;
|
/*
|
||||||
|
* dont work in chrome so use 'tspan' with 'dy' and 'xml:space'
|
||||||
|
*
|
||||||
line-height: 0.8;
|
line-height: 0.8;
|
||||||
|
white-space: pre;
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</defs>
|
</defs>
|
||||||
<text x="0" y="0">
|
<text x="0" y="0">
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
<!-- Other SVG elements and attributes -->
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 6.1 KiB |
@@ -16,16 +16,18 @@
|
|||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
white-space: pre;
|
/*
|
||||||
|
* dont work in chrome so use 'tspan' with 'dy' and 'xml:space'
|
||||||
|
*
|
||||||
line-height: 0.8;
|
line-height: 0.8;
|
||||||
|
white-space: pre;
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</defs>
|
</defs>
|
||||||
<text x="0" y="0">
|
<text x="0" y="0">
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
<!-- Other SVG elements and attributes -->
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 6.1 KiB |
@@ -16,19 +16,21 @@
|
|||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
white-space: pre;
|
/*
|
||||||
|
* dont work in chrome so use 'tspan' with 'dy' and 'xml:space'
|
||||||
|
*
|
||||||
line-height: 0.8;
|
line-height: 0.8;
|
||||||
|
white-space: pre;
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</defs>
|
</defs>
|
||||||
<text x="0" y="0">
|
<text x="0" y="0">
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
<!-- Other SVG elements and attributes -->
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 6.3 KiB |
@@ -16,22 +16,24 @@
|
|||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
white-space: pre;
|
/*
|
||||||
|
* dont work in chrome so use 'tspan' with 'dy' and 'xml:space'
|
||||||
|
*
|
||||||
line-height: 0.8;
|
line-height: 0.8;
|
||||||
|
white-space: pre;
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</defs>
|
</defs>
|
||||||
<text x="0" y="0">
|
<text x="0" y="0">
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
<!-- Other SVG elements and attributes -->
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.5 KiB |
@@ -16,25 +16,27 @@
|
|||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
white-space: pre;
|
/*
|
||||||
|
* dont work in chrome so use 'tspan' with 'dy' and 'xml:space'
|
||||||
|
*
|
||||||
line-height: 0.8;
|
line-height: 0.8;
|
||||||
|
white-space: pre;
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</defs>
|
</defs>
|
||||||
<text x="0" y="0">
|
<text x="0" y="0">
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
<!-- Other SVG elements and attributes -->
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.7 KiB |
@@ -16,28 +16,30 @@
|
|||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
white-space: pre;
|
/*
|
||||||
|
* dont work in chrome so use 'tspan' with 'dy' and 'xml:space'
|
||||||
|
*
|
||||||
line-height: 0.8;
|
line-height: 0.8;
|
||||||
|
white-space: pre;
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</defs>
|
</defs>
|
||||||
<text x="0" y="0">
|
<text x="0" y="0">
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
|
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
<!-- Other SVG elements and attributes -->
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.9 KiB |
5
docs/flags/fr.svg
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-fr" viewBox="0 0 640 480">
|
||||||
|
<path fill="#fff" d="M0 0h640v480H0z"/>
|
||||||
|
<path fill="#000091" d="M0 0h213.3v480H0z"/>
|
||||||
|
<path fill="#e1000f" d="M426.7 0H640v480H426.7z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 231 B |
5
docs/flags/fr_bnw.svg
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-fr" viewBox="0 0 640 480">
|
||||||
|
<path fill="#ffffff" d="M0 0h640v480H0z"/>
|
||||||
|
<path fill="#232323" d="M0 0h213.3v480H0z"/>
|
||||||
|
<path fill="#727272" d="M426.7 0H640v480H426.7z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 234 B |
7
docs/flags/gb.svg
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gb" viewBox="0 0 640 480">
|
||||||
|
<path fill="#012169" d="M0 0h640v480H0z"/>
|
||||||
|
<path fill="#FFF" d="m75 0 244 181L562 0h78v62L400 241l240 178v61h-80L320 301 81 480H0v-60l239-178L0 64V0z"/>
|
||||||
|
<path fill="#C8102E" d="m424 281 216 159v40L369 281zm-184 20 6 35L54 480H0zM640 0v3L391 191l2-44L590 0zM0 0l239 176h-60L0 42z"/>
|
||||||
|
<path fill="#FFF" d="M241 0v480h160V0zM0 160v160h640V160z"/>
|
||||||
|
<path fill="#C8102E" d="M0 193v96h640v-96zM273 0v480h96V0z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 504 B |
7
docs/flags/gb_bnw.svg
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gb" viewBox="0 0 640 480">
|
||||||
|
<path fill="#262626" d="M0 0h640v480H0z"/>
|
||||||
|
<path fill="#FFFFFF" d="m75 0 244 181L562 0h78v62L400 241l240 178v61h-80L320 301 81 480H0v-60l239-178L0 64V0z"/>
|
||||||
|
<path fill="#666666" d="m424 281 216 159v40L369 281zm-184 20 6 35L54 480H0zM640 0v3L391 191l2-44L590 0zM0 0l239 176h-60L0 42z"/>
|
||||||
|
<path fill="#FFFFFF" d="M241 0v480h160V0zM0 160v160h640V160z"/>
|
||||||
|
<path fill="#666666" d="M0 193v96h640v-96zM273 0v480h96V0z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 510 B |
BIN
docs/hugo_lamy_cv_2024_en.pdf
Normal file
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 6.4 MiB |
|
Before Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 2.0 MiB After Width: | Height: | Size: 2.0 MiB |
|
Before Width: | Height: | Size: 823 KiB |
|
Before Width: | Height: | Size: 4.2 MiB |
|
Before Width: | Height: | Size: 9.2 MiB After Width: | Height: | Size: 9.2 MiB |
|
Before Width: | Height: | Size: 938 KiB After Width: | Height: | Size: 938 KiB |
|
Before Width: | Height: | Size: 5.4 MiB |
|
Before Width: | Height: | Size: 5.3 MiB After Width: | Height: | Size: 5.3 MiB |
|
Before Width: | Height: | Size: 855 KiB |
275
index.html
@@ -19,6 +19,7 @@
|
|||||||
<link href="./styles/elements/projects.css" type="text/css" rel="stylesheet">
|
<link href="./styles/elements/projects.css" type="text/css" rel="stylesheet">
|
||||||
<link href="./styles/elements/cv.css" type="text/css" rel="stylesheet">
|
<link href="./styles/elements/cv.css" type="text/css" rel="stylesheet">
|
||||||
<link href="./styles/elements/infos.css" type="text/css" rel="stylesheet">
|
<link href="./styles/elements/infos.css" type="text/css" rel="stylesheet">
|
||||||
|
<link href="./styles/elements/language.css" type="text/css" rel="stylesheet">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
@@ -33,9 +34,12 @@
|
|||||||
|
|
||||||
<body id="body">
|
<body id="body">
|
||||||
|
|
||||||
|
|
||||||
|
<input type="checkbox" id="language">
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
maybe move this outside, so that i can change my mind to put it or not wihtout having to change the grid rows height ?
|
I moved this outside the hero section,
|
||||||
or else, if all rows can be the same, like 1fr or auto, it will also works
|
so that i can change my mind to put it or not without having to change the grid rows height
|
||||||
-->
|
-->
|
||||||
<div id="top_banner" class="banner banner_size_0 banner_speed_50 banner_reverse grid_full_width" aria-label="banner delimitation in ASCII art"></div>
|
<div id="top_banner" class="banner banner_size_0 banner_speed_50 banner_reverse grid_full_width" aria-label="banner delimitation in ASCII art"></div>
|
||||||
|
|
||||||
@@ -47,6 +51,11 @@
|
|||||||
-->
|
-->
|
||||||
<section class="section hero" id="hero">
|
<section class="section hero" id="hero">
|
||||||
|
|
||||||
|
<label class="language_label" for="language">
|
||||||
|
<span id="fr"><img class="flag" src="./docs/flags/fr_bnw.svg" alt="french flag"></span>
|
||||||
|
<span id="en"><img class="flag" src="./docs/flags/gb_bnw.svg" alt="english flag"></span>
|
||||||
|
</label>
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
<h1 aria-label="hugo lamy" id="name" class="title">
|
<h1 aria-label="hugo lamy" id="name" class="title">
|
||||||
<span aria-hidden="true" class="pre pre_small">
|
<span aria-hidden="true" class="pre pre_small">
|
||||||
@@ -66,56 +75,159 @@
|
|||||||
</h1>
|
</h1>
|
||||||
<h1 aria-label="programmeur informatique" id="title" class="title">
|
<h1 aria-label="programmeur informatique" id="title" class="title">
|
||||||
<span aria-hidden="true" class="pre">
|
<span aria-hidden="true" class="pre">
|
||||||
|
<span class="fr">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</span>
|
||||||
|
<span class="en">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</h1>
|
</h1>
|
||||||
<p class="subtitle">méthodique, inventif, curieux</p>
|
<p class="subtitle">
|
||||||
|
<span class="fr">méthodique, inventif, curieux</span>
|
||||||
|
<span class="en">methodical, inventive, curious</span>
|
||||||
|
</p>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<details class="cv margin_top_big">
|
<div class="mouse"><div class="frames mouse_1 pre"></div></div>
|
||||||
<summary>
|
<div class="banner banner_size_3 banner_speed_30 grid_full_width margin_bottom_small" aria-label="banner delimitation in ASCII art"></div>
|
||||||
<h2 class="close">voir le CV</h2>
|
|
||||||
<h2 class="open">cacher le CV</h2>
|
|
||||||
</summary>
|
|
||||||
<a id="cv_download" class="margin_bottom_big" href="docs/hugo_lamy_cv_2024.pdf" target="_blank" rel="noopener noreferrer" title="link to a pdf version of this section CV">télécharger en pdf</a>
|
|
||||||
<h2>COMPÉTENCES</h2>
|
|
||||||
<ul>
|
|
||||||
<li>Langages : C, C++, bash, JavaScript, PHP, CSS, HTML</li>
|
|
||||||
<li>Technologies : Node.js, Git, Gitaction, Docker, Wordpress, Nginx, MariaDB, Nest.js, Svelte, WebSocket, Express, npm, react</li>
|
|
||||||
<li>Plus : emails, sending emails, receiving emails, deleting emails (the it crowd S01E01)</li>
|
|
||||||
<li>Autres : magie, vélo, noeuds, mathématiques, politique</li>
|
|
||||||
</ul>
|
|
||||||
<h2>EXPÉRIENCES</h2>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://www.carteprof.org" target="_blank" rel="noopener noreferrer" title="link to carteprof website"></a>, 2021 : Backend, plugin wordpress, authentification, sessions, paiements, roles et bdd</li>
|
|
||||||
<li><a href="https://www.bloc-house.org" target="_blank" rel="noopener noreferrer" title="link to bloc-house website"></a>, 2021 : Full-stack, reprise d’un site en php et javascript</li>
|
|
||||||
<li><a href="https://2022.lejourdesprofs.org/#programme" target="_blank" rel="noopener noreferrer" title="link to lejourdesprofs website"></a>, 2022 : Backend, plugin WordPress API GoogleMaps</li>
|
|
||||||
<li><a href="https://kosmopolit.bitbucket.io" target="_blank" rel="noopener noreferrer" title="link to kosmopolit website"></a>, 2021 : Front-end, intégration en css atomique statique</li>
|
|
||||||
</ul>
|
|
||||||
<h2>FORMATION INFORMATIQUE</h2>
|
|
||||||
<ul>
|
|
||||||
<li>École 42, Paris, 2021-2022, tronc commun - niveau 10 (C, C++, système, algorithime, réseaux)</li>
|
|
||||||
<li>SIMPLON, développeur full-stack JavaScript, 2018 (Javascript, Node.js, React.js, HTML, CSS)</li>
|
|
||||||
</ul>
|
|
||||||
<h2>FORMATION ARCHITECTURE</h2>
|
|
||||||
<ul>
|
|
||||||
<li>Master 1, ENSAPM, ESA, ENSAV, île-de-france, France, 2008-2014</li>
|
|
||||||
<li>3 stages : PERSPECTIVA (Houston, Texas, 2009, 3 mois), AS (Paris, 2012, 6 mois), JC QUINTON (Paris 2014, 6 mois)</li>
|
|
||||||
</ul>
|
|
||||||
<h2>ENGAGEMENT ASSOCIATIF</h2>
|
|
||||||
<ul>
|
|
||||||
<li>Vulgarisation et recherche contraception testiculaire, ZEROMILLIONS, Paris, France, 2021-2024</li>
|
|
||||||
<li>Aide au logement, travail, administratif, et projets de vie de personnes précaires, 2018-2024</li>
|
|
||||||
<li>Distribution de nourriture, MIGRANTS-WILSON & SECOURS POPULAIRE, 2020-2022</li>
|
|
||||||
<li>Cogestion des bénévoles d'un camp de réfugiés, UTOPIA 56, Grande-Synthe, France, 2016</li>
|
|
||||||
</ul>
|
|
||||||
</details>
|
|
||||||
|
|
||||||
<div class="mouse"><div class="mouse_1 pre"></div></div>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
CV
|
||||||
|
-->
|
||||||
|
<section class="section" id="cv">
|
||||||
|
|
||||||
|
<label class="language_label" for="language">
|
||||||
|
<span id="fr"><img class="flag" src="./docs/flags/fr_bnw.svg" alt="french flag"></span>
|
||||||
|
<span id="en"><img class="flag" src="./docs/flags/gb_bnw.svg" alt="english flag"></span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<header>
|
||||||
|
<h1 aria-label="cv" id="cv" class="title">
|
||||||
|
<span aria-hidden="true" class="pre">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</span>
|
||||||
|
</h1>
|
||||||
|
</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<article class="cv margin_top_big">
|
||||||
|
<span class="fr"><a class="cv_download margin_bottom_big" href="docs/hugo_lamy_cv_2024_fr.pdf" target="_blank" rel="noopener noreferrer" title="link to a pdf version of this section CV">télécharger en pdf</a></span>
|
||||||
|
<span class="en"><a class="cv_download margin_bottom_big" href="docs/hugo_lamy_cv_2024_en.pdf" target="_blank" rel="noopener noreferrer" title="link to a pdf version of this section CV">download as pdf</a></span>
|
||||||
|
<h2>
|
||||||
|
<span class="fr">COMPÉTENCES</span>
|
||||||
|
<span class="en">SKILLS</span>
|
||||||
|
</h2>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<span class="fr">Langages : C, C++, bash, JavaScript, PHP, CSS, HTML</span>
|
||||||
|
<span class="en">Languages : C, C++, bash, JavaScript, PHP, CSS, HTML</span>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<span class="fr">Technologies : Node.js, Git, Gitaction, Docker, Wordpress, Nginx, MariaDB, Nest.js, Svelte, WebSocket, Express, npm, react</span>
|
||||||
|
<span class="en">Technologies : Node.js, Git, Gitaction, Docker, Wordpress, Nginx, MariaDB, Nest.js, Svelte, WebSocket, Express, npm, react</span>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<span class="fr">Plus : emails, sending emails, receiving emails, deleting emails (the it crowd S01E01)</span>
|
||||||
|
<span class="en">Plus : emails, sending emails, receiving emails, deleting emails (the it crowd S01E01)</span>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<span class="fr">Autres : magie, vélo, noeuds, mathématiques, politique</span>
|
||||||
|
<span class="en">Other : magic, bicycle, knots, mathematics, politic</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<h2>
|
||||||
|
<span class="fr">EXPÉRIENCES</span>
|
||||||
|
<span class="en">WORK EXPERIENCES</span>
|
||||||
|
</h2>
|
||||||
|
<ul>
|
||||||
|
<li><a href="https://www.carteprof.org" target="_blank" rel="noopener noreferrer" title="link to carteprof website"></a>
|
||||||
|
<span class="fr">, 2021 : Backend, plugin wordpress, authentification, sessions, paiements, roles et base de données</span>
|
||||||
|
<span class="en">, 2021 : Backend, plugin wordpress, authentification, sessions, payments, roles and database</span>
|
||||||
|
</li>
|
||||||
|
<li><a href="https://www.bloc-house.org" target="_blank" rel="noopener noreferrer" title="link to bloc-house website"></a>
|
||||||
|
<span class="fr">, 2021 : Full-stack, reprise d’un site en php et javascript</span>
|
||||||
|
<span class="en">, 2021 : Full-stack, redesigning a php and javascript site</span>
|
||||||
|
</li>
|
||||||
|
<li><a href="https://2022.lejourdesprofs.org/#programme" target="_blank" rel="noopener noreferrer" title="link to lejourdesprofs website"></a>
|
||||||
|
<span class="fr">, 2022 : Backend, plugin WordPress API GoogleMaps</span>
|
||||||
|
<span class="en">, 2022 : Backend, plugin WordPress API GoogleMaps</span>
|
||||||
|
</li>
|
||||||
|
<li><a href="https://kosmopolit.bitbucket.io" target="_blank" rel="noopener noreferrer" title="link to kosmopolit website"></a>
|
||||||
|
<span class="fr">, 2021 : Front-end, intégration en css atomique statique</span>
|
||||||
|
<span class="en">, 2021 : Front-end, static atomic css integration</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<h2>
|
||||||
|
<span class="fr">FORMATION INFORMATIQUE</span>
|
||||||
|
<span class="en">COMPUTER SCIENCE EDUCATION</span>
|
||||||
|
</h2>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<span class="fr">École 42, Paris, 2021-2022, tronc commun - niveau 10 (C, C++, système, algorithmie, réseaux)</span>
|
||||||
|
<span class="en">42 school, Paris, 2021-2022, common core - level 10 (C, C++, system, algorithms, networks)</span>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<span class="fr">SIMPLON, développeur full-stack JavaScript, 2018 (Javascript, Node.js, React.js, HTML, CSS)</span>
|
||||||
|
<span class="en">SIMPLON, developer full-stack JavaScript, 2018 (Javascript, Node.js, React.js, HTML, CSS)</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<h2>
|
||||||
|
<span class="fr">FORMATION ARCHITECTURE</span>
|
||||||
|
<span class="en">ARCHITECTURE EDUCATION</span>
|
||||||
|
</h2>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<span class="fr">Master 1, ENSAPM, ESA, ENSAV, île-de-france, France, 2008-2014</span>
|
||||||
|
<span class="en">Master 1, ENSAPM, ESA, ENSAV, île-de-france, France, 2008-2014</span>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<span class="fr">3 stages : PERSPECTIVA (Houston, Texas, 2009, 3 mois), AS (Paris, 2012, 6 mois), JC QUINTON (Paris 2014, 6 mois)</span>
|
||||||
|
<span class="en">3 internships : PERSPECTIVA (Houston, Texas, 2009, 3 months), AS (Paris, 2012, 6 months), JC QUINTON (Paris 2014, 6 months)</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<h2>
|
||||||
|
<span class="fr">ENGAGEMENT ASSOCIATIF</span>
|
||||||
|
<span class="en">VOLUNTEER WORK</span>
|
||||||
|
</h2>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<span class="fr">Vulgarisation et recherche contraception testiculaire, ZEROMILLIONS, Paris, France, 2021-2024</span>
|
||||||
|
<span class="en">Popularisation and research into testicular contraception, ZEROMILLIONS, Paris, France, 2021-2024</span>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<span class="fr">Aide au logement, travail, administratif, et projets de vie de personnes précaires, 2018-2024</span>
|
||||||
|
<span class="en">Help with housing, work, administration and life projects for people on the margins of society, 2018-2024</span>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<span class="fr">Distribution de nourriture, MIGRANTS-WILSON & SECOURS POPULAIRE, 2020-2022</span>
|
||||||
|
<span class="en">Food distribution, MIGRANTS-WILSON & SECOURS POPULAIRE, 2020-2022</span>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<span class="fr">Cogestion des bénévoles d'un camp de réfugiés, UTOPIA 56, Grande-Synthe, France, 2016</span>
|
||||||
|
<span class="en">Co-management of volunteers in a refugee camp, UTOPIA 56, Grande-Synthe, France, 2016</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<div class="mouse"><div class="frames mouse_1 pre"></div></div>
|
||||||
<div class="banner banner_size_3 banner_speed_30 grid_full_width margin_bottom_small" aria-label="banner delimitation in ASCII art"></div>
|
<div class="banner banner_size_3 banner_speed_30 grid_full_width margin_bottom_small" aria-label="banner delimitation in ASCII art"></div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
@@ -129,90 +241,103 @@
|
|||||||
PROJECTS
|
PROJECTS
|
||||||
-->
|
-->
|
||||||
<section id="projects" class="section">
|
<section id="projects" class="section">
|
||||||
<div class="mouse"><div class="mouse_3 pre"></div></div>
|
|
||||||
|
<label class="language_label" for="language">
|
||||||
|
<span id="fr"><img class="flag" src="./docs/flags/fr_bnw.svg" alt="french flag"></span>
|
||||||
|
<span id="en"><img class="flag" src="./docs/flags/gb_bnw.svg" alt="english flag"></span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<div class="mouse"><div class="frames mouse_3 pre"></div></div>
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
<h1 aria-label="projets">
|
<h1 aria-label="projets">
|
||||||
<span aria-hidden="true" class="pre">
|
<span aria-hidden="true" class="pre">
|
||||||
|
<span class="fr">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</span>
|
||||||
|
<span class="en">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</h1>
|
</h1>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="margin_bottom_big">
|
<div class="margin_bottom_big">
|
||||||
<p>code-sources de tous les projets : </p>
|
<p>
|
||||||
|
<span class="fr">code-sources de tous les projets : </span>
|
||||||
|
<span class="en">source code for all projects : </span>
|
||||||
|
</p>
|
||||||
<a href="https://bitbucket.org/hugogogo" target="_blank" rel="noopener noreferrer" title="link to git repositories on bitbucket"></a>
|
<a href="https://bitbucket.org/hugogogo" target="_blank" rel="noopener noreferrer" title="link to git repositories on bitbucket"></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h2 class="margin_bottom_big">quelques exemples de projets réalisés :</h2>
|
<h2 class="margin_bottom_big">
|
||||||
|
<span class="fr">quelques exemples de projets réalisés :</span>
|
||||||
|
<span class="en">some examples of completed projects :</span>
|
||||||
|
</h2>
|
||||||
|
|
||||||
<div class="projects_grid">
|
<div class="projects_grid">
|
||||||
<figure class="project">
|
<figure class="project">
|
||||||
<a href="https://bitbucket.org/hugogogo/int_04_fdf" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket">
|
<a href="https://bitbucket.org/hugogogo/int_04_fdf" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket">
|
||||||
<img src="./docs/projects_square/fdf_pyramide_loop_square_2_light.gif"/>
|
<img src="./docs/projects/fdf_pyramide_loop_square_2_light.gif"/>
|
||||||
</a>
|
</a>
|
||||||
<figcaption>
|
<figcaption>
|
||||||
<p>programme qui creer une representation 3D filaire d'une carte avec des points a differentes altitudes</p>
|
<p>
|
||||||
|
<span class="fr">programme qui creer une representation 3D filaire d'une carte avec des points a differentes altitudes</span>
|
||||||
|
<span class="en">program that creates a 3D wireframe representation of a map with points at different altitudes</span>
|
||||||
|
</p>
|
||||||
<a href="https://bitbucket.org/hugogogo/int_04_fdf" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket"></a>
|
<a href="https://bitbucket.org/hugogogo/int_04_fdf" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket"></a>
|
||||||
</figcaption>
|
</figcaption>
|
||||||
</figure>
|
</figure>
|
||||||
|
|
||||||
<figure class="project">
|
<figure class="project">
|
||||||
<a href="https://bitbucket.org/hugogogo/int_10_cube3d" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket">
|
<a href="https://bitbucket.org/hugogogo/int_10_cube3d" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket">
|
||||||
<img src="./docs/projects_square/cube3d_tour_with_map_square.gif"/>
|
<img src="./docs/projects/cube3d_tour_with_map_square.gif"/>
|
||||||
</a>
|
</a>
|
||||||
<figcaption>
|
<figcaption>
|
||||||
<p>mini jeu video utilisant le raycasting pour creer une impression de deplacement dans un environnement 3D</p>
|
<p>
|
||||||
|
<span class="fr">mini jeu video utilisant le raycasting pour creer une impression de deplacement dans un environnement 3D</span>
|
||||||
|
<span class="en">mini video game using raycasting to create the impression of movement in a 3D environment</span>
|
||||||
|
</p>
|
||||||
<a href="https://bitbucket.org/hugogogo/int_10_cube3d" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket"></a>
|
<a href="https://bitbucket.org/hugogogo/int_10_cube3d" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket"></a>
|
||||||
</figcaption>
|
</figcaption>
|
||||||
</figure>
|
</figure>
|
||||||
|
|
||||||
<figure class="project">
|
<figure class="project">
|
||||||
<a href="https://bitbucket.org/hugogogo/2023_website_jipf" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket">
|
<a href="https://bitbucket.org/hugogogo/2023_website_jipf" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket">
|
||||||
<img src="./docs/projects_square/ljdp_map_clusters_square_light.gif"/>
|
<img src="./docs/projects/ljdp_map_clusters_square_light.gif"/>
|
||||||
</a>
|
</a>
|
||||||
<figcaption>
|
<figcaption>
|
||||||
<p>plugin wordpress representant des evenements sur une carte avec des marqueurs et des filtres de tris</p>
|
<p>
|
||||||
|
<span class="fr">plugin wordpress representant des evenements sur une carte avec des marqueurs et des filtres de tris</span>
|
||||||
|
<span class="en">wordpress plugin showing events on a map with markers and sorting filters</span>
|
||||||
|
</p>
|
||||||
<a href="https://bitbucket.org/hugogogo/2023_website_jipf" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket"></a>
|
<a href="https://bitbucket.org/hugogogo/2023_website_jipf" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket"></a>
|
||||||
</figcaption>
|
</figcaption>
|
||||||
</figure>
|
</figure>
|
||||||
|
|
||||||
<figure class="project">
|
<figure class="project">
|
||||||
<a href="https://bitbucket.org/hugogogo/2022_website_kosmopolit" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket">
|
<a href="https://bitbucket.org/hugogogo/2022_website_kosmopolit" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket">
|
||||||
<img src="./docs/projects_square/kosmopolit_square.gif"/>
|
<img src="./docs/projects/kosmopolit_square.gif"/>
|
||||||
</a>
|
</a>
|
||||||
<figcaption>
|
<figcaption>
|
||||||
<p>site internet statique utilisant une structure uniquement en html et css</p>
|
<p>
|
||||||
|
<span class="fr">site internet statique utilisant une structure uniquement en html et css</span>
|
||||||
|
<span class="en">static website using a structure based solely on html and css</span>
|
||||||
|
</p>
|
||||||
<a href="https://bitbucket.org/hugogogo/2022_website_kosmopolit" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket"></a>
|
<a href="https://bitbucket.org/hugogogo/2022_website_kosmopolit" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket"></a>
|
||||||
</figcaption>
|
</figcaption>
|
||||||
</figure>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--
|
<div class="mouse"><div class="frames mouse_2 pre"></div></div>
|
||||||
<article class="project">
|
|
||||||
<p>description</p>
|
|
||||||
<img src="./docs/projects/fdf_pyramide_2.gif"/>
|
|
||||||
<img src="./docs/projects/fdf_demo.gif"/>
|
|
||||||
</article>
|
|
||||||
|
|
||||||
<article class="project">
|
|
||||||
<p>description</p>
|
|
||||||
<img src="./docs/projects/cube3d_raycasting.gif"/>
|
|
||||||
<img src="./docs/projects/cube3d_image.gif"/>
|
|
||||||
</article>
|
|
||||||
|
|
||||||
<article class="project">
|
|
||||||
<p>description</p>
|
|
||||||
<img src="./docs/projects/ljdp_map_clusters.gif"/>
|
|
||||||
<img src="./docs/projects/ljdp_map_filters.gif"/>
|
|
||||||
</article>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<div class="mouse"><div class="mouse_2 pre"></div></div>
|
|
||||||
<div class="banner banner_size_3 banner_speed_20 banner_reverse grid_full_width" aria-label="banner delimitation in ASCII art"></div>
|
<div class="banner banner_size_3 banner_speed_20 banner_reverse grid_full_width" aria-label="banner delimitation in ASCII art"></div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
@@ -233,7 +358,7 @@
|
|||||||
<p>hugogogo@protonmail.com</p>
|
<p>hugogogo@protonmail.com</p>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<div class="mouse"><div class="mouse_4 pre"></div></div>
|
<div class="mouse"><div class="frames mouse_4 pre"></div></div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|||||||
@@ -1,35 +1,15 @@
|
|||||||
.cv {
|
|
||||||
width: auto;
|
|
||||||
max-width: 900px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cv {
|
.cv {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: auto;
|
||||||
|
max-width: 900px;
|
||||||
|
margin-bottom: 100px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
summary {
|
}
|
||||||
position: relative;
|
|
||||||
list-style-position: outside;
|
.cv .cv_download {
|
||||||
list-style-type: "▸ ";
|
display: inline-block;
|
||||||
font-size: 1.8rem;
|
width: 100%;
|
||||||
margin: auto;
|
margin-top: 30px;
|
||||||
width: fit-content;
|
text-align: center;
|
||||||
.open {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.close {
|
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&[open] summary {
|
|
||||||
list-style-type: "▾ ";
|
|
||||||
.open {
|
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
.close {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
> *:last-child {
|
|
||||||
margin-bottom: 100px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,14 +8,8 @@
|
|||||||
*
|
*
|
||||||
grid-template-rows: 1fr auto 1fr;
|
grid-template-rows: 1fr auto 1fr;
|
||||||
*/
|
*/
|
||||||
grid-template-rows: auto auto 1fr;
|
grid-template-rows: 1fr 1fr auto;
|
||||||
.subtitle {
|
}
|
||||||
text-align: center;
|
#hero .subtitle {
|
||||||
}
|
text-align: center;
|
||||||
.cv {
|
|
||||||
#cv_download {
|
|
||||||
margin-top: 20px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
#infos article {
|
#infos article {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|||||||
51
styles/elements/language.css
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
input#language {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.language_label {
|
||||||
|
position: absolute;
|
||||||
|
grid-column: end;
|
||||||
|
top: 20px;
|
||||||
|
right: 20px;
|
||||||
|
padding: 10px;
|
||||||
|
cursor: pointer;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
.language_label .flag {
|
||||||
|
width: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FR
|
||||||
|
*/
|
||||||
|
input#language:not(:checked) ~ * .language_label #fr {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
input#language:checked ~ * .language_label #fr {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
input#language:not(:checked) ~ * span.fr {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
input#language:checked ~ * span.fr {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* EN
|
||||||
|
*/
|
||||||
|
input#language:not(:checked) ~ * .language_label #en {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
input#language:checked ~ * .language_label #en {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
input#language:not(:checked) ~ * span.en {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
input#language:checked ~ * span.en {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
@@ -7,43 +7,30 @@
|
|||||||
margin: auto;
|
margin: auto;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
> div {
|
|
||||||
position: relative;
|
|
||||||
top: 0%;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* for pseudo elements ::before and ::after
|
|
||||||
* for some reason it does not work when applied to them directly
|
|
||||||
* if they are not position absolute
|
|
||||||
white-space: pre;
|
|
||||||
line-height: 0.8;
|
|
||||||
font-size: 1.0rem;
|
|
||||||
font-size: min(2.1vw, 1.0rem);
|
|
||||||
*/
|
|
||||||
|
|
||||||
--tframes: 2s;
|
|
||||||
animation-name: mouse_move;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
animation-duration: var(--tframes);
|
|
||||||
animation-direction: normal;
|
|
||||||
animation-timing-function: steps(1);
|
|
||||||
}
|
|
||||||
> div::before {
|
|
||||||
position: relative;
|
|
||||||
top: 0px;
|
|
||||||
left: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
> div::after {
|
|
||||||
position: absolute;
|
|
||||||
top: 100%;
|
|
||||||
left: 0px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
.mouse .frames {
|
||||||
|
position: relative;
|
||||||
|
animation: mouse_move infinite 2s normal steps(4);
|
||||||
|
}
|
||||||
|
.mouse .frames::before {
|
||||||
|
position: relative;
|
||||||
|
top: 0px;
|
||||||
|
left: 0px;
|
||||||
|
}
|
||||||
|
.mouse .frames::after {
|
||||||
|
position: absolute;
|
||||||
|
top: 100%;
|
||||||
|
left: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* using 'transform' instead of 'top', because 'top' needs
|
||||||
|
* the parent to have an explicit height
|
||||||
|
* but in this case its height is according to the children
|
||||||
|
*
|
||||||
|
*/
|
||||||
@keyframes mouse_move {
|
@keyframes mouse_move {
|
||||||
0% {top: 0%;}
|
0% {transform: translateY(0%);}
|
||||||
25% {top: -100%;}
|
100% {transform: translateY(-400%);}
|
||||||
50% {top: -200%;}
|
|
||||||
75% {top: -300%;}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,20 +2,21 @@
|
|||||||
header {
|
header {
|
||||||
height: 300px;
|
height: 300px;
|
||||||
}
|
}
|
||||||
.projects_grid {
|
}
|
||||||
display: grid;
|
#projects .projects_grid {
|
||||||
grid-template-columns: repeat(auto-fit, minmax(200px, auto));
|
display: grid;
|
||||||
grid-template-columns: repeat(2, minmax(100px, auto));
|
grid-template-columns: repeat(auto-fit, minmax(200px, auto));
|
||||||
grid-template-columns: repeat(2, minmax(100px, 500px));
|
grid-template-columns: repeat(2, minmax(100px, auto));
|
||||||
grid-gap: 20px;
|
grid-template-columns: repeat(2, minmax(100px, 500px));
|
||||||
figure {
|
grid-gap: 20px;
|
||||||
figcaption {
|
}
|
||||||
text-align: left;
|
#projects .projects_grid figure {
|
||||||
margin-bottom: 100px;
|
}
|
||||||
}
|
#projects .projects_grid figure figcaption {
|
||||||
}
|
text-align: left;
|
||||||
}
|
margin-bottom: 100px;
|
||||||
.mouse {
|
}
|
||||||
margin-top: 100px;
|
|
||||||
}
|
#projects .mouse {
|
||||||
|
margin-top: 100px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
section {
|
section {
|
||||||
display: grid;
|
display: grid;
|
||||||
|
position: relative;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
grid-template-columns: auto auto auto;
|
grid-template-columns: auto auto auto;
|
||||||
@@ -9,31 +10,30 @@ section {
|
|||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
justify-items: center;
|
justify-items: center;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
}
|
||||||
header {
|
section header {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
place-content: center;
|
place-content: center;
|
||||||
|
}
|
||||||
h1 {
|
section header h1 {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
article {
|
section article {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
> * {
|
section > * {
|
||||||
grid-column: 2 / span 1;
|
grid-column: 2 / span 1;
|
||||||
}
|
}
|
||||||
> .grid_full_width {
|
section > .grid_full_width {
|
||||||
grid-column: 1 / span 3;
|
grid-column: 1 / span 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
.banner {
|
section .banner {
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,3 +55,6 @@ h6 { margin: 10px 0px; font-size: 1.0rem; }
|
|||||||
font-size: min(1.5vw, 0.7rem);
|
font-size: min(1.5vw, 0.7rem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
|||||||