Compare commits
56 Commits
simple_htm
...
chrome_ver
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e21e5b8938 | ||
|
|
680c5808a3 | ||
|
|
8ac471331f | ||
|
|
04883ef891 | ||
|
|
8a69f25113 | ||
|
|
d60b3580c0 | ||
|
|
744c2aedcb | ||
|
|
86869399fb | ||
|
|
9ba7801d03 | ||
|
|
6e13db6a95 | ||
|
|
67bc569749 | ||
|
|
785be3e6ac | ||
|
|
5c6f636e4d | ||
|
|
d93015f2fa | ||
|
|
00485dbc70 | ||
|
|
527424df53 | ||
|
|
1742985974 | ||
|
|
40048d3871 | ||
|
|
877c5eb271 | ||
|
|
875a79816b | ||
|
|
ac836798b9 | ||
|
|
a40ab0b203 | ||
|
|
9302e725db | ||
|
|
c9150faa52 | ||
|
|
f5c7b07aad | ||
|
|
4f5cd77c81 | ||
|
|
f042247cbb | ||
|
|
b517d26ece | ||
|
|
668aad3c59 | ||
|
|
3747762c4f | ||
|
|
ac1d84fc9a | ||
|
|
7a07e2dbdd | ||
|
|
cd42bf0f2b | ||
|
|
ed75f330a1 | ||
|
|
553c93a7d1 | ||
|
|
7484bd8697 | ||
|
|
62d7b45822 | ||
|
|
3cfa8cfeba | ||
|
|
d3db7774fe | ||
|
|
1315132b9d | ||
|
|
b99a47985b | ||
|
|
ca1da07048 | ||
|
|
9c0895f589 | ||
|
|
70ae41f7d4 | ||
|
|
a6979b8d23 | ||
|
|
0903a4b9c2 | ||
|
|
c84d6bd5af | ||
|
|
d00efa943c | ||
|
|
ce8b1a10f3 | ||
|
|
ced0b84247 | ||
|
|
962eea4ace | ||
|
|
8e8b6f4e1c | ||
|
|
8012ddb0a4 | ||
|
|
48c1ff96ae | ||
|
|
520472da51 | ||
|
|
cbbde4fdac |
@@ -1,4 +1,10 @@
|
||||
|
||||
start it with a server, like : `alive-server`
|
||||
- https://www.npmjs.com/package/alive-server
|
||||
- install : `npm install -g alive-server`
|
||||
|
||||
---
|
||||
|
||||
difficulties :
|
||||
|
||||
- [accessibility with ascii art titles](https://stackoverflow.com/questions/77537096/make-text-in-ascii-art-more-accessible)
|
||||
@@ -220,4 +226,3 @@ projects :
|
||||
. .
|
||||
. . . . . . . . . . . . . . . . . . .
|
||||
|
||||
|
||||
|
||||
31
docs/banners/banner_0.svg
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
32
docs/banners/banner_00.svg
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
33
docs/banners/banner_1.svg
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
36
docs/banners/banner_2.svg
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
39
docs/banners/banner_3.svg
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
42
docs/banners/banner_4.svg
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
45
docs/banners/banner_5.svg
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
docs/hugo_lamy_cv_2024.pdf
Normal file
BIN
docs/projects/cube3d_tour_with_map_square.gif
Normal file
|
After Width: | Height: | Size: 2.0 MiB |
BIN
docs/projects/fdf_pyramide_loop_square_2_light.gif
Normal file
|
After Width: | Height: | Size: 9.2 MiB |
BIN
docs/projects/kosmopolit_square.gif
Normal file
|
After Width: | Height: | Size: 938 KiB |
BIN
docs/projects/ljdp_map_clusters_square_light.gif
Normal file
|
After Width: | Height: | Size: 5.3 MiB |
568
index.html
@@ -2,7 +2,7 @@
|
||||
<html lang="fr" dir="ltr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<!-- create "fake" favicon : https://stackoverflow.com/questions/1321878/how-to-prevent-favicon-ico-requests -->
|
||||
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
|
||||
<title>hugulumu.fr</title>
|
||||
@@ -11,11 +11,10 @@
|
||||
<link href="./styles/style.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/global.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/text.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/sections.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/elements/mouses.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/elements/banners.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/elements/title.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/elements/nav.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/elements/sections.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/elements/hero.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">
|
||||
@@ -23,7 +22,6 @@
|
||||
</head>
|
||||
|
||||
<!--
|
||||
|
||||
original : • 8226 U+2022
|
||||
: 57442 U+E062
|
||||
: 57443 U+E063
|
||||
@@ -31,35 +29,34 @@
|
||||
: 57445 U+E065
|
||||
actual : 57446 U+E066
|
||||
: 57447 U+E067
|
||||
|
||||
-->
|
||||
|
||||
<body id="body">
|
||||
<main id="top">
|
||||
|
||||
<!--
|
||||
maybe move this outside, so that i can change my mind to put it or not wihtout having to change the grid rows height ?
|
||||
or else, if all rows can be the same, like 1fr or auto, it will also works
|
||||
-->
|
||||
<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>
|
||||
|
||||
|
||||
<nav>
|
||||
<a href="#top">accueil</a>
|
||||
<a href="#projects">projets</a>
|
||||
<a href="#cv">cv</a>
|
||||
<a href="#infos">contact</a>
|
||||
</nav>
|
||||
|
||||
|
||||
<!--
|
||||
HERO SECTION
|
||||
-->
|
||||
<section class="section hero" id="hero">
|
||||
|
||||
<header>
|
||||
<h1 aria-label="hugo lamy" id="name" class="title">
|
||||
<span aria-hidden="true" class="pre">
|
||||
<span aria-hidden="true" class="pre pre_small">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
<span aria-hidden="true" class="pre">
|
||||
<span aria-hidden="true" class="pre pre_small">
|
||||
|
||||
|
||||
|
||||
@@ -69,115 +66,58 @@
|
||||
</h1>
|
||||
<h1 aria-label="programmeur informatique" id="title" class="title">
|
||||
<span aria-hidden="true" class="pre">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
<span aria-hidden="true" class="pre">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
</h1>
|
||||
<p class="subtitle">méthodique, inventif, curieux</p>
|
||||
</header>
|
||||
|
||||
<div class="frames_container mouse" id="mouse_1" role="img" aria-label="mouse animated in ASCII art">
|
||||
<pre class="frame f1" aria-hidden="true">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
<pre class="frame f2" aria-hidden="true">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
<pre class="frame f3" aria-hidden="true">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
<pre class="frame f4" aria-hidden="true">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
<div id="banner_1" class="banner" role="img" aria-label="banner delimitation in ASCII art">
|
||||
<pre class="banner" aria-hidden="true">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
<details class="cv margin_top_big">
|
||||
<summary>
|
||||
<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="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>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
@@ -189,6 +129,7 @@
|
||||
PROJECTS
|
||||
-->
|
||||
<section id="projects" class="section">
|
||||
<div class="mouse"><div class="frames mouse_3 pre"></div></div>
|
||||
|
||||
<header>
|
||||
<h1 aria-label="projets">
|
||||
@@ -202,274 +143,77 @@
|
||||
</h1>
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<h2>projets réalisés</h2>
|
||||
<figure class="project" id="ljdp">
|
||||
<figcaption class="project_description">
|
||||
<h3>extension worpress :</h3><p>extension wordpress affichant les articles du site sur une carte, et permettant d'affiner la selection avec des critères</p>
|
||||
<ul>
|
||||
<li>lien du site : <a href="https://2022.lejourdesprofs.org/#programme" target="_blank" rel="noopener noreferrer" title="link to the webpage the running plugin"></a></li>
|
||||
<li>lien du code : <a href="incomming" target="_blank" rel="noopener noreferrer" title="link to the source code of the plugin"></a></li>
|
||||
<li>technologies : wordpress backend, php, javascript, html, css, google maps javascript API, google maps geocoding API, google maps markerclusterer</li>
|
||||
</ul>
|
||||
<div class="margin_bottom_big">
|
||||
<p>code-sources de tous les projets : </p>
|
||||
<a href="https://bitbucket.org/hugogogo" target="_blank" rel="noopener noreferrer" title="link to git repositories on bitbucket"></a>
|
||||
</div>
|
||||
|
||||
<h2 class="margin_bottom_big">quelques exemples de projets réalisés :</h2>
|
||||
|
||||
<div class="projects_grid">
|
||||
<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">
|
||||
<img src="./docs/projects/fdf_pyramide_loop_square_2_light.gif"/>
|
||||
</a>
|
||||
<figcaption>
|
||||
<p>programme qui creer une representation 3D filaire d'une carte avec des points a differentes altitudes</p>
|
||||
<a href="https://bitbucket.org/hugogogo/int_04_fdf" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket"></a>
|
||||
</figcaption>
|
||||
<iframe
|
||||
src="https://2022.lejourdesprofs.org/hugogogo/"
|
||||
data-flex="center"
|
||||
title="embedded plugin from it's original website"
|
||||
sandbox="allow-scripts allow-popups"
|
||||
></iframe>
|
||||
</figure>
|
||||
</article>
|
||||
|
||||
<div class="frames_container mouse" id="mouse_2" role="img" aria-label="mouse animated in ASCII art">
|
||||
<pre class="frame f1" aria-hidden="true">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
<pre class="frame f2" aria-hidden="true">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
<pre class="frame f3" aria-hidden="true">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
<pre class="frame f4" aria-hidden="true">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
<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">
|
||||
<img src="./docs/projects/cube3d_tour_with_map_square.gif"/>
|
||||
</a>
|
||||
<figcaption>
|
||||
<p>mini jeu video utilisant le raycasting pour creer une impression de deplacement dans un environnement 3D</p>
|
||||
<a href="https://bitbucket.org/hugogogo/int_10_cube3d" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket"></a>
|
||||
</figcaption>
|
||||
</figure>
|
||||
|
||||
<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">
|
||||
<img src="./docs/projects/ljdp_map_clusters_square_light.gif"/>
|
||||
</a>
|
||||
<figcaption>
|
||||
<p>plugin wordpress representant des evenements sur une carte avec des marqueurs et des filtres de tris</p>
|
||||
<a href="https://bitbucket.org/hugogogo/2023_website_jipf" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket"></a>
|
||||
</figcaption>
|
||||
</figure>
|
||||
|
||||
<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">
|
||||
<img src="./docs/projects/kosmopolit_square.gif"/>
|
||||
</a>
|
||||
<figcaption>
|
||||
<p>site internet statique utilisant une structure uniquement en html et css</p>
|
||||
<a href="https://bitbucket.org/hugogogo/2022_website_kosmopolit" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket"></a>
|
||||
</figcaption>
|
||||
</figure>
|
||||
</div>
|
||||
<div id="banner_2" class="banner" role="img" aria-label="banner delimitation in ASCII art">
|
||||
<pre class="banner reverse t05" aria-hidden="true">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
CV
|
||||
-->
|
||||
<section id="cv" class="section">
|
||||
|
||||
<header>
|
||||
<h1 aria-label="cv" id="cv_ascii">
|
||||
<span aria-hidden="true" class="pre">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
</h1>
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<h2 id="cv_download"><a href="downloads/hugo_lamy_2023_cv.pdf" target="_blank" rel="noopener noreferrer" title="link to a pdf version of this section CV">version pdf</a></h2>
|
||||
<details>
|
||||
<summary>
|
||||
<h3>Outils informatiques</h3>
|
||||
</summary>
|
||||
<ul>
|
||||
<li>Langages : C, HTML, CSS, C++, JavaScript, script bash, PHP, Svelte, TypeScript</li>
|
||||
<li>Technologies : Git, Docker, Nginx, MariaDB, Node.js, Nest.js, WebSocket, Express, npm</li>
|
||||
<li>Plus : emails, sending emails, receiving emails, deleting emails ("the it crowd", Jane Barber s01e01)</li>
|
||||
</ul>
|
||||
</details>
|
||||
<details>
|
||||
<summary>
|
||||
<h3>Projets informatique</h3>
|
||||
</summary>
|
||||
<ul>
|
||||
<li>Full-stack, reprise d’un site d’artistes en php, <a href="https://www.bloc-house.org" target="_blank" rel="noopener noreferrer" title="link to bloc-house website"></a>, 2021</li>
|
||||
<li>Backend, plugin WordPress avec API Google Maps, <a href="https://2022.lejourdesprofs.org/#programme" target="_blank" rel="noopener noreferrer" title="link to lejourdesprofs website"></a>, 2022</li>
|
||||
<li>Site vitrine, association Kosmopolit, <a href="https://kosmopolit.bitbucket.io" target="_blank" rel="noopener noreferrer" title="link to kosmopolit website"></a>, 2021</li>
|
||||
</ul>
|
||||
</details>
|
||||
<details>
|
||||
<summary>
|
||||
<h3>Formations informatique</h3>
|
||||
</summary>
|
||||
<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>
|
||||
</details>
|
||||
<details>
|
||||
<summary>
|
||||
<h3>Bénévolat</h3>
|
||||
</summary>
|
||||
<ul>
|
||||
<li>Formateur contraception testiculaire, ZEROMILLIONS, Paris, France, 2021-2023</li>
|
||||
<li>Cogestion des bénévoles d'un camp de réfugiés, UTOPIA 56, Grande-Synthe, France, 2016</li>
|
||||
<li>Distribution de nourriture (Migrants-Wilson & Secours Populaire)</li>
|
||||
</ul>
|
||||
</details>
|
||||
<details>
|
||||
<summary>
|
||||
<h3>Études d’architecture</h3>
|
||||
</summary>
|
||||
<ul>
|
||||
<li>Master 1, ENSAPM, ESA, ENSAV, île-de-france, France, 2008-2014</li>
|
||||
<li>Stages : PERSPECTIVA (Houston, Texas, 2009), AS (Paris, 2012), JC QUINTON (Paris 2014)</li>
|
||||
</ul>
|
||||
</details>
|
||||
<details>
|
||||
<summary>
|
||||
<h3>Centres d'intérêts</h3>
|
||||
</summary>
|
||||
<ul>
|
||||
<li>Vélo : longs voyages à vélo, construction de vélos retro-directs</li>
|
||||
<li>Magie : cartes, pièces, scène</li>
|
||||
<li>Autonomie : recherche des moyens de vivre avec le minimum d'affaires</li>
|
||||
</ul>
|
||||
</details>
|
||||
<article class="project">
|
||||
<p>description</p>
|
||||
<img src="./docs/projects/fdf_pyramide_2.gif"/>
|
||||
<img src="./docs/projects/fdf_demo.gif"/>
|
||||
</article>
|
||||
|
||||
<div class="frames_container mouse" id="mouse_3" role="img" aria-label="mouse animated in ASCII art">
|
||||
<pre class="frame f1" aria-hidden="true">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
<pre class="frame f2" aria-hidden="true">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
<pre class="frame f3" aria-hidden="true">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
<pre class="frame f4" aria-hidden="true">
|
||||
<article class="project">
|
||||
<p>description</p>
|
||||
<img src="./docs/projects/cube3d_raycasting.gif"/>
|
||||
<img src="./docs/projects/cube3d_image.gif"/>
|
||||
</article>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
<div id="banner_3" class="banner" role="img" aria-label="banner delimitation in ASCII art">
|
||||
<pre class="banner t15 reverse" aria-hidden="true">
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
<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="frames 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>
|
||||
|
||||
</section>
|
||||
|
||||
@@ -489,79 +233,11 @@
|
||||
<p>hugogogo@protonmail.com</p>
|
||||
</article>
|
||||
|
||||
<div class="frames_container mouse" id="mouse_4" role="img" aria-label="mouse animated in ASCII art">
|
||||
<pre class="frame f1" aria-hidden="true">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
<pre class="frame f2" aria-hidden="true">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
<pre class="frame f3" aria-hidden="true">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
<pre class="frame f4" aria-hidden="true">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
<div class="banner">
|
||||
</div>
|
||||
<div class="mouse"><div class="frames mouse_4 pre"></div></div>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,33 +1,102 @@
|
||||
.banner {
|
||||
width: 100%;
|
||||
--base_banner_height: 24px;
|
||||
--banner_height: var(--base_banner_height); /*default*/
|
||||
--base_dot_size: 4.2vw;
|
||||
--dot_size: var(--base_dot_size); /*default*/
|
||||
height: min(var(--dot_size), var(--banner_height));
|
||||
|
||||
pre.banner {
|
||||
position: relative;
|
||||
margin: 10px 0px 10px -100px;
|
||||
animation-name: slide;
|
||||
background-image: url(../../docs/banners/banner_1.svg); /*default*/
|
||||
background-size: contain;
|
||||
background-repeat: repeat;
|
||||
background-position-x: 0%;
|
||||
|
||||
animation-duration: 10s; /*default*/
|
||||
animation-name: slide_svg;
|
||||
animation-iteration-count: infinite;
|
||||
animation-duration: 2s;
|
||||
animation-timing-function: linear;
|
||||
animation-direction: normal;
|
||||
}
|
||||
pre.banner.pause {
|
||||
animation-play-state: paused;
|
||||
}
|
||||
pre.banner.reverse {
|
||||
animation-direction: reverse;
|
||||
}
|
||||
pre.banner.t05 {
|
||||
animation-duration: 0.5s;
|
||||
}
|
||||
pre.banner.t10 {
|
||||
animation-duration: 1s;
|
||||
}
|
||||
pre.banner.t15 {
|
||||
animation-duration: 1.5s;
|
||||
}
|
||||
pre.banner.t20 {
|
||||
animation-duration: 2s;
|
||||
}
|
||||
@keyframes slide {
|
||||
from {left:0;}
|
||||
to {left:2.4em;}
|
||||
@keyframes slide_svg {
|
||||
from {background-position-x: 0%;}
|
||||
to {background-position-x: 100%;}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* speeds
|
||||
*
|
||||
*/
|
||||
.banner_pause {
|
||||
animation-play-state: paused;
|
||||
}
|
||||
.banner_reverse {
|
||||
animation-direction: reverse;
|
||||
}
|
||||
.banner_speed_10 {
|
||||
animation-duration: 10s;
|
||||
}
|
||||
.banner_speed_20 {
|
||||
animation-duration: 20s;
|
||||
}
|
||||
.banner_speed_30 {
|
||||
animation-duration: 30s;
|
||||
}
|
||||
.banner_speed_40 {
|
||||
animation-duration: 40s;
|
||||
}
|
||||
.banner_speed_50 {
|
||||
animation-duration: 50s;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* sizes
|
||||
*
|
||||
*/
|
||||
.banner_size_0 {
|
||||
background-image: url(../../docs/banners/banner_0.svg);
|
||||
--banner_height: calc(var(--base_banner_height) * 1);
|
||||
--dot_size: calc(var(--base_dot_size) * 1);
|
||||
}
|
||||
.banner_size_00 {
|
||||
background-image: url(../../docs/banners/banner_00.svg);
|
||||
--banner_height: calc(var(--base_banner_height) * 1);
|
||||
--dot_size: calc(var(--base_dot_size) * 1);
|
||||
}
|
||||
.banner_size_1 {
|
||||
background-image: url(../../docs/banners/banner_1.svg);
|
||||
--banner_height: calc(var(--base_banner_height) * 1);
|
||||
--dot_size: calc(var(--base_dot_size) * 1);
|
||||
}
|
||||
.banner_size_2 {
|
||||
background-image: url(../../docs/banners/banner_2.svg);
|
||||
--banner_height: calc(var(--base_banner_height) * 2);
|
||||
--dot_size: calc(var(--base_dot_size) * 2);
|
||||
}
|
||||
.banner_size_3 {
|
||||
background-image: url(../../docs/banners/banner_3.svg);
|
||||
--banner_height: calc(var(--base_banner_height) * 3);
|
||||
--dot_size: calc(var(--base_dot_size) * 3);
|
||||
}
|
||||
.banner_size_4 {
|
||||
background-image: url(../../docs/banners/banner_4.svg);
|
||||
--banner_height: calc(var(--base_banner_height) * 4);
|
||||
--dot_size: calc(var(--base_dot_size) * 4);
|
||||
}
|
||||
.banner_size_5 {
|
||||
background-image: url(../../docs/banners/banner_5.svg);
|
||||
--banner_height: calc(var(--base_banner_height) * 5);
|
||||
--dot_size: calc(var(--base_dot_size) * 5);
|
||||
}
|
||||
|
||||
|
||||
/* specific banners */
|
||||
#top_banner {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@@ -1,38 +1,37 @@
|
||||
|
||||
#cv {
|
||||
/*
|
||||
place-items: center;
|
||||
place-self: stretch;
|
||||
*/
|
||||
grid-template-columns: 1fr minmax(auto, 900px) 1fr;
|
||||
}
|
||||
#cv header {
|
||||
height: 300px;
|
||||
}
|
||||
#cv article {
|
||||
/*
|
||||
.cv {
|
||||
width: auto;
|
||||
max-width: 900px;
|
||||
*/
|
||||
}
|
||||
#cv article h2 {
|
||||
text-align: center;
|
||||
|
||||
.cv {
|
||||
display: flex;
|
||||
text-align: left;
|
||||
}
|
||||
#cv #cv_ascii {
|
||||
/*
|
||||
place-self: center;
|
||||
*/
|
||||
.cv summary {
|
||||
position: relative;
|
||||
list-style-position: outside;
|
||||
list-style-type: "▸ ";
|
||||
font-size: 1.8rem;
|
||||
margin: auto;
|
||||
width: fit-content;
|
||||
}
|
||||
#cv #cv_download {
|
||||
/*
|
||||
place-self: center;
|
||||
*/
|
||||
.cv summary .open {
|
||||
display: none;
|
||||
}
|
||||
#cv details {
|
||||
margin: 0px 0px 0px 25px;
|
||||
.cv summary .close {
|
||||
display: inline;
|
||||
}
|
||||
#cv summary {
|
||||
padding: 10px 0px;
|
||||
|
||||
.cv[open] summary {
|
||||
list-style-type: "▾ ";
|
||||
}
|
||||
#cv .mouse {
|
||||
margin-top: 100px;
|
||||
.cv[open] summary .open {
|
||||
display: inline;
|
||||
}
|
||||
.cv[open] summary .close {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.cv > *:last-child {
|
||||
margin-bottom: 100px;
|
||||
}
|
||||
|
||||
@@ -1,15 +1,21 @@
|
||||
|
||||
#hero {
|
||||
grid-template-rows: 1fr auto auto;
|
||||
height: 100vh;
|
||||
min-height: 100vh;
|
||||
grid-template-columns: 1fr auto 1fr;
|
||||
/*
|
||||
grid-template-rows: 1fr 50px auto auto;
|
||||
* WIP : trying to find a solution to have both qualities :
|
||||
* - elements are spread across the page vertically ('hugo lamy developpeur' is not compacted on top)
|
||||
* - the details element 'voir le cv' dont jump when we unroll it
|
||||
*
|
||||
grid-template-rows: 1fr auto 1fr;
|
||||
*/
|
||||
grid-template-rows: auto auto 1fr;
|
||||
}
|
||||
#hero header {
|
||||
#hero .subtitle {
|
||||
text-align: center;
|
||||
}
|
||||
#hero .mouse {
|
||||
#hero .cv {
|
||||
}
|
||||
#hero .banner {
|
||||
#hero .cv #cv_download {
|
||||
margin-top: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
#infos article {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
@@ -1,61 +1,36 @@
|
||||
@import "./mouses/mouse_1.css";
|
||||
@import "./mouses/mouse_2.css";
|
||||
@import "./mouses/mouse_3.css";
|
||||
@import "./mouses/mouse_4.css";
|
||||
|
||||
.mouse {
|
||||
position: relative;
|
||||
margin: 20px 0px;
|
||||
}
|
||||
.frames_container {
|
||||
display: grid;
|
||||
margin: auto;
|
||||
width: fit-content;
|
||||
/*
|
||||
border: 1px solid blue;
|
||||
*/
|
||||
overflow: hidden;
|
||||
}
|
||||
pre.frame.hide {
|
||||
display: none;
|
||||
}
|
||||
pre.frame {
|
||||
.mouse .frames {
|
||||
position: relative;
|
||||
grid-column: 1;
|
||||
grid-row: 1;
|
||||
margin: auto auto 0px 0px;
|
||||
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;
|
||||
}
|
||||
|
||||
/*
|
||||
width: fit-content;
|
||||
height: fit-content;
|
||||
|
||||
border: 1px solid red;
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
|
||||
opacity: 0;
|
||||
--tframes: 2s;
|
||||
animation-name: ascii_frame;
|
||||
animation-iteration-count: infinite;
|
||||
animation-duration: var(--tframes);
|
||||
animation-timing-function: linear;
|
||||
animation-direction: normal;
|
||||
}
|
||||
|
||||
pre.frame.f2 {animation-delay: calc(var(--tframes) * 25/100);}
|
||||
pre.frame.f3 {animation-delay: calc(var(--tframes) * 50/100);}
|
||||
pre.frame.f4 {animation-delay: calc(var(--tframes) * 75/100);}
|
||||
|
||||
@keyframes ascii_frame {
|
||||
0% {opacity: 1;}
|
||||
25% {opacity: 1;}
|
||||
25.1% {opacity: 0;}
|
||||
100% {opacity: 0;}
|
||||
}
|
||||
|
||||
#mouse_1 {
|
||||
place-self: center;
|
||||
}
|
||||
#mouse_2 {
|
||||
left: 10%;
|
||||
}
|
||||
#mouse_3 {
|
||||
left: 60%;
|
||||
}
|
||||
#mouse_4 {
|
||||
left: 20%;
|
||||
@keyframes mouse_move {
|
||||
0% {transform: translateY(0%);}
|
||||
100% {transform: translateY(-400%);}
|
||||
}
|
||||
|
||||
|
||||
72
styles/elements/mouses/mouse_1.css
Normal file
@@ -0,0 +1,72 @@
|
||||
.mouse_1::before {
|
||||
content:'\
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
';
|
||||
}
|
||||
.mouse_1::after {
|
||||
content:'\
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
';
|
||||
}
|
||||
72
styles/elements/mouses/mouse_2.css
Normal file
@@ -0,0 +1,72 @@
|
||||
.mouse_2::before {
|
||||
content:'\
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
';
|
||||
}
|
||||
.mouse_2::after {
|
||||
content:'\
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
';
|
||||
}
|
||||
64
styles/elements/mouses/mouse_3.css
Normal file
@@ -0,0 +1,64 @@
|
||||
.mouse_3::before {
|
||||
content:'\
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
';
|
||||
}
|
||||
.mouse_3::after {
|
||||
content:'\
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
';
|
||||
}
|
||||
64
styles/elements/mouses/mouse_4.css
Normal file
@@ -0,0 +1,64 @@
|
||||
.mouse_4::before {
|
||||
content:'\
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
';
|
||||
}
|
||||
.mouse_4::after {
|
||||
content:'\
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
\a
|
||||
';
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
|
||||
nav {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
background-color: #f6f6f6;
|
||||
z-index: 1;
|
||||
width: 100vw;
|
||||
}
|
||||
nav a {
|
||||
position: relative;
|
||||
padding: 10px 20px;
|
||||
height: fit-content;
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
nav a:before {
|
||||
content: "•";
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
}
|
||||
nav a:after {
|
||||
content: "•";
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
}
|
||||
|
||||
@@ -1,31 +1,22 @@
|
||||
|
||||
#projects header {
|
||||
#projects {
|
||||
header {
|
||||
height: 300px;
|
||||
}
|
||||
#projects .project {
|
||||
max-width: 900px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
#projects article h2 {
|
||||
text-align: center;
|
||||
#projects .projects_grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(200px, auto));
|
||||
grid-template-columns: repeat(2, minmax(100px, auto));
|
||||
grid-template-columns: repeat(2, minmax(100px, 500px));
|
||||
grid-gap: 20px;
|
||||
}
|
||||
#projects .project_description {
|
||||
padding: 20px 0px;
|
||||
#projects .projects_grid figure {
|
||||
}
|
||||
#projects #ljdp iframe {
|
||||
height: 550px;
|
||||
border: none;
|
||||
overflow: hidden;
|
||||
}
|
||||
@media only screen and (min-width: 741px) {
|
||||
#projects #ljdp iframe {
|
||||
height: 660px;
|
||||
}
|
||||
}
|
||||
#projects .project_description p {
|
||||
margin: 0px 0px 10px 0px;
|
||||
#projects .projects_grid figure figcaption {
|
||||
text-align: left;
|
||||
margin-bottom: 100px;
|
||||
}
|
||||
|
||||
#projects .mouse {
|
||||
margin-top: 100px;
|
||||
}
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
|
||||
section header { grid-area: header; }
|
||||
section article { grid-area: article; }
|
||||
section .mouse { grid-area: mouse; }
|
||||
section .banner { grid-area: banner; }
|
||||
|
||||
section {
|
||||
display: grid;
|
||||
margin: 0px;
|
||||
width: 100vw;
|
||||
grid:
|
||||
' . header . ' 1fr
|
||||
' . article . ' auto
|
||||
' . mouse . ' auto
|
||||
' banner banner banner ' auto
|
||||
/ 1fr auto 1fr ;
|
||||
grid-gap: 10px;
|
||||
gap: 10px;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
section header {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
place-content: center;
|
||||
}
|
||||
section footer {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
section header h1 {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
@@ -6,6 +6,21 @@
|
||||
margin:20px 0px 20px 0px;
|
||||
}
|
||||
.title {
|
||||
/*
|
||||
older safari doesn't not support flex gap
|
||||
I could use a workaround :
|
||||
https://stackoverflow.com/questions/65452057/flexbox-gap-workaround-for-safari
|
||||
but it doesn't work with wrap
|
||||
so instead I make them in columns and add a margin
|
||||
|
||||
gap: 10px 30px;
|
||||
*/
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.title > *:first-child {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,21 @@
|
||||
}
|
||||
|
||||
|
||||
.margin_top_small {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.margin_bottom_small {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.margin_top_big {
|
||||
margin-top: 50px;
|
||||
}
|
||||
.margin_bottom_big {
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
DATA-FLEX
|
||||
|
||||
|
||||
38
styles/sections.css
Normal file
@@ -0,0 +1,38 @@
|
||||
section {
|
||||
display: grid;
|
||||
margin: 0px;
|
||||
width: 100vw;
|
||||
grid-template-columns: auto auto auto;
|
||||
grid-auto-rows: auto;
|
||||
grid-gap: 10px;
|
||||
gap: 10px;
|
||||
min-height: 100vh;
|
||||
justify-items: center;
|
||||
text-align: center;
|
||||
}
|
||||
section header {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
place-content: center;
|
||||
}
|
||||
section header h1 {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
section article {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
section > * {
|
||||
grid-column: 2 / span 1;
|
||||
}
|
||||
section > .grid_full_width {
|
||||
grid-column: 1 / span 3;
|
||||
}
|
||||
|
||||
section .banner {
|
||||
overflow-x: hidden;
|
||||
}
|
||||
@@ -1,11 +1,10 @@
|
||||
|
||||
:root {
|
||||
--base_font_size: 62.5%;
|
||||
}
|
||||
html {
|
||||
font-size: var(--base_font_size);
|
||||
}
|
||||
body, main {
|
||||
body {
|
||||
overflow-x: clip;
|
||||
margin: auto;
|
||||
width: fit-content;
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
/*
|
||||
*/
|
||||
body, pre {
|
||||
font-family: "notomono", monospace;
|
||||
font-size: 1.5rem;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
/*
|
||||
*/
|
||||
@media screen and (min-width: 500px) {
|
||||
html {
|
||||
font-size: calc(var(--base_font_size) * 1.2);
|
||||
@@ -34,19 +34,7 @@ li {
|
||||
li::marker {
|
||||
font-size: 1.8rem;
|
||||
}
|
||||
details summary {
|
||||
/*
|
||||
list-style-position: inside;
|
||||
*/
|
||||
list-style-position: outside;
|
||||
}
|
||||
details summary {
|
||||
font-size: 1.8rem;
|
||||
list-style-type: "▸ ";
|
||||
}
|
||||
details[open] summary {
|
||||
list-style-type: "▾ ";
|
||||
}
|
||||
|
||||
a:empty::after {
|
||||
content: attr(href);
|
||||
}
|
||||
@@ -63,4 +51,10 @@ h6 { margin: 10px 0px; font-size: 1.0rem; }
|
||||
line-height: 0.8;
|
||||
font-size: min(2.1vw, 1.0rem);
|
||||
}
|
||||
.pre_small {
|
||||
font-size: min(1.5vw, 0.7rem);
|
||||
}
|
||||
|
||||
a {
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||