Compare commits
2 Commits
mouses_in_
...
ascii_css
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ea781e2aac | ||
|
|
f027ca2752 |
@@ -1,4 +0,0 @@
|
|||||||
# adding https redirection :
|
|
||||||
RewriteEngine On
|
|
||||||
RewriteCond %{HTTPS} off
|
|
||||||
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
|
|
||||||
41
README.md
41
README.md
@@ -1,44 +1,4 @@
|
|||||||
|
|
||||||
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)
|
|
||||||
- I finally decided to go with a structure like this :
|
|
||||||
```html
|
|
||||||
<h1 aria-label="hugo lamy">
|
|
||||||
<span aria-hidden="true" class="pre">
|
|
||||||
hugo (ascii)
|
|
||||||
</span>
|
|
||||||
<span aria-hidden="true" class="pre">
|
|
||||||
lamy (ascii)
|
|
||||||
</span>
|
|
||||||
</h1>
|
|
||||||
```
|
|
||||||
- [links accessibility](https://webaim.org/techniques/hypertext/)
|
|
||||||
- [accessibility gone wild](https://webaim.org/articles/gonewild/)
|
|
||||||
- [don't use title attribute](https://stackoverflow.com/questions/11161915/simple-tooltip-title-attribute/11163133#11163133)
|
|
||||||
- [I thought title text improved accessibility. I was wrong.](https://silktide.com/blog/i-thought-title-text-improved-accessibility-i-was-wrong/)
|
|
||||||
- [Things I learned by pretending to be blind for a week](https://medium.com/silktide/things-i-learned-by-pretending-to-be-blind-for-a-week-bf7b09f33eb4)
|
|
||||||
- [create the full screen hero section with the navbar under the title](https://stackoverflow.com/questions/77596781/in-css-how-to-make-a-sticky-navbar-after-the-header-in-an-hero-section/)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
projects :
|
|
||||||
|
|
||||||
- [/] ljdp
|
|
||||||
- [ ] tchat transcendance
|
|
||||||
- setup docker without sudo on server
|
|
||||||
- remove authentification from project
|
|
||||||
- [ ] cube3d
|
|
||||||
- [ ] minishell
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
direction | width | child | child | child
|
direction | width | child | child | child
|
||||||
| | position | main axis | second axis
|
| | position | main axis | second axis
|
||||||
................................................................
|
................................................................
|
||||||
@@ -226,3 +186,4 @@ projects :
|
|||||||
. .
|
. .
|
||||||
. . . . . . . . . . . . . . . . . . .
|
. . . . . . . . . . . . . . . . . . .
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 5.9 KiB |
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 5.9 KiB |
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 6.0 KiB |
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 6.0 KiB |
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 6.0 KiB |
Binary file not shown.
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 6.9 KiB |
736
index.html
736
index.html
@@ -2,27 +2,40 @@
|
|||||||
<html lang="fr" dir="ltr">
|
<html lang="fr" dir="ltr">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<!-- create "fake" favicon : https://stackoverflow.com/questions/1321878/how-to-prevent-favicon-ico-requests -->
|
<!-- create "fake" favicon : https://stackoverflow.com/questions/1321878/how-to-prevent-favicon-ico-requests -->
|
||||||
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
|
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
|
||||||
<title>hugulumu.fr</title>
|
<title>hugulumu.fr</title>
|
||||||
<meta name="description" content="site web de hugo lamy, developpeur">
|
<meta name="description" content="site web de hugo lamy, developpeur">
|
||||||
<link href="./styles/reset.css" type="text/css" rel="stylesheet">
|
|
||||||
<link href="./styles/style.css" type="text/css" rel="stylesheet">
|
<link href="./styles/style.css" type="text/css" rel="stylesheet">
|
||||||
|
<link href="./styles/reset.css" type="text/css" rel="stylesheet">
|
||||||
<link href="./styles/global.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/text.css" type="text/css" rel="stylesheet">
|
||||||
<link href="./styles/elements/mouses.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/banners.css" type="text/css" rel="stylesheet">
|
||||||
<link href="./styles/elements/title.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">
|
<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/test.css" type="text/css" rel="stylesheet">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
|
||||||
|
ids :
|
||||||
|
|
||||||
|
<id="personnal_infos">
|
||||||
|
<id="role_title">
|
||||||
|
<id="cv_infos">
|
||||||
|
<id="mouse_1">
|
||||||
|
<id="mouse_2">
|
||||||
|
<id="mouse_3">
|
||||||
|
<id="mouse_4">
|
||||||
|
<id="banner_1">
|
||||||
|
<id="banner_2">
|
||||||
|
<id="banner_3">
|
||||||
|
<id="banner_4">
|
||||||
|
<id="banner_5">
|
||||||
|
|
||||||
original : • 8226 U+2022
|
original : • 8226 U+2022
|
||||||
: 57442 U+E062
|
: 57442 U+E062
|
||||||
: 57443 U+E063
|
: 57443 U+E063
|
||||||
@@ -30,57 +43,235 @@
|
|||||||
: 57445 U+E065
|
: 57445 U+E065
|
||||||
actual : 57446 U+E066
|
actual : 57446 U+E066
|
||||||
: 57447 U+E067
|
: 57447 U+E067
|
||||||
|
|
||||||
|
<section style="height: 200px;" class="left child-left-dense horizontal">
|
||||||
|
|
||||||
|
accessibility pre : https://developer.mozilla.org/en-US/docs/Web/HTML/Element/pre#specifications
|
||||||
|
|
||||||
|
<figure>
|
||||||
|
<pre role="img" aria-label="ASCII COW">
|
||||||
|
___________________________
|
||||||
|
< I'm an expert in my field. >
|
||||||
|
---------------------------
|
||||||
|
\ ^__^
|
||||||
|
\ (oo)\_______
|
||||||
|
(__)\ )\/\
|
||||||
|
||----w |
|
||||||
|
|| ||
|
||||||
|
</pre>
|
||||||
|
<figcaption id="cow-caption">
|
||||||
|
A cow saying, "I'm an expert in my field." The cow is illustrated using
|
||||||
|
preformatted text characters.
|
||||||
|
</figcaption>
|
||||||
|
</figure>
|
||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<body id="body">
|
<body>
|
||||||
<main id="top">
|
|
||||||
|
|
||||||
<nav>
|
|
||||||
<a href="#top">accueil</a>
|
|
||||||
<a href="#projects">projets</a>
|
|
||||||
<a href="#cv">cv</a>
|
|
||||||
<a href="#infos">contact</a>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
HERO SECTION
|
ROLE TITLE
|
||||||
-->
|
-->
|
||||||
<section class="section hero" id="hero">
|
<section id="role_title">
|
||||||
<header>
|
<figure id="name" style="gap:10px 30px;" data-flex="horizontal center wrap">
|
||||||
<h1 aria-label="hugo lamy" id="name" class="title">
|
<pre>
|
||||||
<span aria-hidden="true" class="pre pre_small">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</span>
|
</pre>
|
||||||
<span aria-hidden="true" class="pre pre_small">
|
<pre>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</span>
|
</pre>
|
||||||
</h1>
|
</figure>
|
||||||
<h1 aria-label="programmeur informatique" id="title" class="title">
|
<figure id="title" style="gap:10px 30px; margin:30px 0px;" data-flex="horizontal center wrap">
|
||||||
<span aria-hidden="true" class="pre">
|
<pre>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</span>
|
</pre>
|
||||||
</h1>
|
<pre>
|
||||||
</header>
|
|
||||||
|
|
||||||
<div class="mouse"><div class="mouse_1"></div></div>
|
|
||||||
<div class="banner banner_size_5 banner_speed_30" aria-label="banner delimitation in ASCII art"></div>
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
</figure>
|
||||||
</section>
|
</section>
|
||||||
|
<!--
|
||||||
|
END ROLE TITLE
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
CV INFOS
|
||||||
|
-->
|
||||||
|
<section id="cv_infos" data-flex="vertical left">
|
||||||
|
<details>
|
||||||
|
<summary>
|
||||||
|
<h2>Informatique</h2>
|
||||||
|
</summary>
|
||||||
|
<ul>
|
||||||
|
<li>École 42, Paris, 2021-2022, tronc commun - niveau 10</li>
|
||||||
|
<li>SIMPLON, développeur full-stack JavaScript, 2018</li>
|
||||||
|
<li>Backend, plugin WordPress avec API Google Maps, <a href="https://2022.lejourdesprofs.org/#programme" target="_blank" rel="noopener noreferrer"></a>, 2022</li>
|
||||||
|
<li>Full-stack, reprise d’un site d’artistes en php, <a href="https://www.bloc-house.org" target="_blank" rel="noopener noreferrer"></a>, 2021</li>
|
||||||
|
<li>Site vitrine, association Kosmopolit, <a href="https://kosmopolit.bitbucket.io" target="_blank" rel="noopener noreferrer"></a>, 2021</li>
|
||||||
|
</ul>
|
||||||
|
</details>
|
||||||
|
<details>
|
||||||
|
<summary>
|
||||||
|
<h2>Bénévolat</h2>
|
||||||
|
</summary>
|
||||||
|
<ul>
|
||||||
|
<li>Cogestion des bénévoles d'un camp de réfugiés, UTOPIA 56, Grande-Synthe, France, 2016</li>
|
||||||
|
<li>Formateur contraception testiculaire, ZEROMILLIONS, Paris, France, 2021-2023</li>
|
||||||
|
<li>Distribution de nourriture (Migrants-Wilson & Secours Populaire)</li>
|
||||||
|
</ul>
|
||||||
|
</details>
|
||||||
|
<details>
|
||||||
|
<summary>
|
||||||
|
<h2>Outils informatiques</h2>
|
||||||
|
</summary>
|
||||||
|
<ul>
|
||||||
|
<li>C, HTML, CSS, C++, JavaScript, script bash, PHP, Svelte, TypeScript</li>
|
||||||
|
<li>Git, Docker, Nginx, MariaDB, Node.js, Nest.js, WebSocket, Express, npm</li>
|
||||||
|
<li>Emails, sending emails, receiving emails, deleting emails ("the it crowd", Jane Barber s01e01)</li>
|
||||||
|
</ul>
|
||||||
|
</details>
|
||||||
|
<details>
|
||||||
|
<summary>
|
||||||
|
<h2>Études d’architecture</h2>
|
||||||
|
</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>
|
||||||
|
<h2>Centres d'intérêts</h2>
|
||||||
|
</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>
|
||||||
|
</section>
|
||||||
|
<!--
|
||||||
|
END CV INFOS
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
PERSONNAL INFOS
|
||||||
|
-->
|
||||||
|
<section id="personnal_infos" style="margin: 50px auto;">
|
||||||
|
<p>hugogogo@protonmail.com</p>
|
||||||
|
</section>
|
||||||
|
<!--
|
||||||
|
END PERSONNAL INFOS
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
MOUSE 1
|
||||||
|
-->
|
||||||
|
<figure class="frames_container mouse" id="mouse_1">
|
||||||
|
<pre class="frame f1">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
<pre class="frame f2">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
<pre class="frame f3">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
<pre class="frame f4">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
</figure>
|
||||||
|
<!--
|
||||||
|
END MOUSE 1
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -88,46 +279,242 @@
|
|||||||
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
PROJECTS
|
MOUSE 2
|
||||||
|
-->
|
||||||
|
<figure class="frames_container mouse" id="mouse_2">
|
||||||
|
<pre class="frame f1">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
<pre class="frame f2">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
<pre class="frame f3">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
<pre class="frame f4">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
</figure>
|
||||||
|
<!--
|
||||||
|
END MOUSE 2
|
||||||
-->
|
-->
|
||||||
<section id="projects" class="section">
|
|
||||||
|
|
||||||
<header>
|
|
||||||
<h1 aria-label="projets">
|
|
||||||
<span aria-hidden="true" class="pre">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</span>
|
|
||||||
</h1>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<article>
|
|
||||||
<h2>projets réalisés</h2>
|
|
||||||
<figure class="project" id="ljdp">
|
|
||||||
<figcaption class="project_description">
|
|
||||||
<h3>extension wordpress :</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>
|
|
||||||
</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="mouse"><div class="mouse_2"></div></div>
|
|
||||||
<div class="banner banner_size_3 banner_speed_20 banner_reverse" aria-label="banner delimitation in ASCII art"></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
MOUSE 3
|
||||||
|
-->
|
||||||
|
<figure class="frames_container mouse" id="mouse_3">
|
||||||
|
<pre class="frame f1">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
<pre class="frame f2">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
<pre class="frame f3">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
<pre class="frame f4">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
</figure>
|
||||||
|
<!--
|
||||||
|
END MOUSE 3
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
MOUSE 4
|
||||||
|
-->
|
||||||
|
<figure class="frames_container mouse" id="mouse_4">
|
||||||
|
<pre class="frame f1">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
<pre class="frame f2">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
<pre class="frame f3">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
<pre class="frame f4">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
</figure>
|
||||||
|
<!--
|
||||||
|
END MOUSE 4
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -137,88 +524,47 @@
|
|||||||
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
CV
|
BANNER 1
|
||||||
|
-->
|
||||||
|
<figure id="banner_1">
|
||||||
|
<pre class="banner">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
</figure>
|
||||||
|
<!--
|
||||||
|
END BANNER 1
|
||||||
-->
|
-->
|
||||||
<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="docs/hugo_lamy_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>
|
|
||||||
|
|
||||||
<div class="mouse"><div class="mouse_3"></div></div>
|
|
||||||
<div class="banner banner_size_3 banner_speed_50 banner_reverse" aria-label="banner delimitation in ASCII art"></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
BANNER 2
|
||||||
|
-->
|
||||||
|
<figure id="banner_2">
|
||||||
|
<pre class="banner reverse t1_0">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
</figure>
|
||||||
|
<!--
|
||||||
|
END BANNER 2
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -228,20 +574,88 @@
|
|||||||
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
INFOS
|
BANNER 3
|
||||||
|
-->
|
||||||
|
<figure id="banner_3">
|
||||||
|
<pre class="banner t2_0 reverse">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
</figure>
|
||||||
|
<!--
|
||||||
|
END BANNER 3
|
||||||
-->
|
-->
|
||||||
<section id="infos" class="footer section">
|
|
||||||
|
|
||||||
<article>
|
|
||||||
<p>hugogogo@protonmail.com</p>
|
|
||||||
</article>
|
|
||||||
|
|
||||||
<div class="mouse"><div class="mouse_4"></div></div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
BANNER 4
|
||||||
|
-->
|
||||||
|
<figure id="banner_4">
|
||||||
|
<pre class="banner t0_5">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
</figure>
|
||||||
|
<!--
|
||||||
|
END BANNER 4
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
BANNER 5
|
||||||
|
-->
|
||||||
|
<figure id="banner_5">
|
||||||
|
<pre class="banner reverse">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
</figure>
|
||||||
|
<!--
|
||||||
|
END BANNER 5
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<figure class="frames_container mouse" id="mouse_test">
|
||||||
|
<div class="ascii frame f1"></div><div class="ascii frame f2"></div><div class="ascii frame f3"></div><div class="ascii frame f4"></div>
|
||||||
|
</figure>
|
||||||
|
|
||||||
|
|
||||||
|
<p>here</p>
|
||||||
|
<div id="test"></div>
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,76 +1,33 @@
|
|||||||
.banner {
|
|
||||||
width: 100%;
|
|
||||||
--base_banner_height: 24px;
|
|
||||||
--banner_height: var(--base_banner_height); /*default*/
|
|
||||||
height: min(26vw, var(--banner_height));
|
|
||||||
|
|
||||||
background-image: url(../../docs/banners/banner_1.svg); /*default*/
|
pre.banner {
|
||||||
background-size: contain;
|
position: relative;
|
||||||
background-repeat: repeat;
|
margin: 10px 0px 10px -100px;
|
||||||
background-position-x: 0%;
|
animation-name: slide;
|
||||||
|
|
||||||
animation-duration: 10s; /*default*/
|
|
||||||
animation-name: slide_svg;
|
|
||||||
animation-iteration-count: infinite;
|
animation-iteration-count: infinite;
|
||||||
|
animation-duration: 2s;
|
||||||
animation-timing-function: linear;
|
animation-timing-function: linear;
|
||||||
animation-direction: normal;
|
animation-direction: normal;
|
||||||
}
|
}
|
||||||
@keyframes slide_svg {
|
pre.banner.pause {
|
||||||
from {background-position-x: 0%;}
|
|
||||||
to {background-position-x: 100%;}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* speeds
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
.banner_pause {
|
|
||||||
animation-play-state: paused;
|
animation-play-state: paused;
|
||||||
}
|
}
|
||||||
.banner_reverse {
|
pre.banner.reverse {
|
||||||
animation-direction: reverse;
|
animation-direction: reverse;
|
||||||
}
|
}
|
||||||
.banner_speed_10 {
|
pre.banner.t0_5 {
|
||||||
animation-duration: 10s;
|
animation-duration: 0.5s;
|
||||||
}
|
}
|
||||||
.banner_speed_20 {
|
pre.banner.t1_0 {
|
||||||
animation-duration: 20s;
|
animation-duration: 1s;
|
||||||
}
|
}
|
||||||
.banner_speed_30 {
|
pre.banner.t1_5 {
|
||||||
animation-duration: 30s;
|
animation-duration: 1.5s;
|
||||||
}
|
}
|
||||||
.banner_speed_40 {
|
pre.banner.t2_0 {
|
||||||
animation-duration: 40s;
|
animation-duration: 2s;
|
||||||
}
|
}
|
||||||
.banner_speed_50 {
|
@keyframes slide {
|
||||||
animation-duration: 50s;
|
from {left:0;}
|
||||||
|
to {left:2.4em;}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* sizes
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
.banner_size_1 {
|
|
||||||
background-image: url(../../docs/banners/banner_1.svg);
|
|
||||||
--banner_height: calc(var(--base_banner_height) * 1);
|
|
||||||
}
|
|
||||||
.banner_size_2 {
|
|
||||||
background-image: url(../../docs/banners/banner_2.svg);
|
|
||||||
--banner_height: calc(var(--base_banner_height) * 2);
|
|
||||||
}
|
|
||||||
.banner_size_3 {
|
|
||||||
background-image: url(../../docs/banners/banner_3.svg);
|
|
||||||
--banner_height: calc(var(--base_banner_height) * 3);
|
|
||||||
}
|
|
||||||
.banner_size_4 {
|
|
||||||
background-image: url(../../docs/banners/banner_4.svg);
|
|
||||||
--banner_height: calc(var(--base_banner_height) * 4);
|
|
||||||
}
|
|
||||||
.banner_size_5 {
|
|
||||||
background-image: url(../../docs/banners/banner_5.svg);
|
|
||||||
--banner_height: calc(var(--base_banner_height) * 5);
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,38 +1,33 @@
|
|||||||
|
|
||||||
#cv {
|
#cv_infos {
|
||||||
/*
|
margin: 10px 10px 30px 10px;
|
||||||
place-items: center;
|
|
||||||
place-self: stretch;
|
|
||||||
*/
|
|
||||||
grid-template-columns: 1fr minmax(auto, 900px) 1fr;
|
|
||||||
}
|
}
|
||||||
#cv header {
|
#cv_infos h1,
|
||||||
height: 300px;
|
#cv_infos h2,
|
||||||
}
|
#cv_infos h3,
|
||||||
#cv article {
|
#cv_infos h4,
|
||||||
/*
|
#cv_infos h5,
|
||||||
max-width: 900px;
|
#cv_infos h6 {
|
||||||
*/
|
|
||||||
}
|
|
||||||
#cv article h2 {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
#cv #cv_ascii {
|
|
||||||
/*
|
/*
|
||||||
place-self: center;
|
place-self: center;
|
||||||
|
margin-left: var(--list-padding);
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
#cv #cv_download {
|
#cv_infos details {
|
||||||
|
margin: 10px 0px;
|
||||||
|
}
|
||||||
|
#cv_infos summary {
|
||||||
/*
|
/*
|
||||||
place-self: center;
|
|
||||||
*/
|
*/
|
||||||
|
margin-left: var(--list-padding);
|
||||||
}
|
}
|
||||||
#cv details {
|
#cv_infos summary + * {
|
||||||
margin: 0px 0px 0px 25px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
#cv summary {
|
|
||||||
padding: 10px 0px;
|
details summary {
|
||||||
}
|
/*
|
||||||
#cv .mouse {
|
list-style-type: none;
|
||||||
margin-top: 100px;
|
*/
|
||||||
|
list-style-position: outside;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
|
|
||||||
#hero {
|
|
||||||
grid-template-rows: 1fr auto auto;
|
|
||||||
min-height: 100vh;
|
|
||||||
/*
|
|
||||||
grid-template-rows: 1fr 50px auto auto;
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
#hero header {
|
|
||||||
padding-top: 50px;
|
|
||||||
}
|
|
||||||
#hero .mouse {
|
|
||||||
}
|
|
||||||
#hero .banner {
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,7 +1,3 @@
|
|||||||
|
|
||||||
#infos article {
|
#personnal_infos {
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
place-content: center;
|
|
||||||
height: 200px;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,48 +1,59 @@
|
|||||||
@import "./mouses/mouse_1.css";
|
|
||||||
@import "./mouses/mouse_2.css";
|
|
||||||
@import "./mouses/mouse_3.css";
|
|
||||||
@import "./mouses/mouse_4.css";
|
|
||||||
|
|
||||||
.mouse {
|
.mouse {
|
||||||
margin: auto;
|
position: relative;
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
.frames_container {
|
||||||
|
display: grid;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
> div {
|
/*
|
||||||
position: relative;
|
border: 1px solid blue;
|
||||||
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;
|
|
||||||
|
|
||||||
--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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@keyframes mouse_move {
|
.frame {
|
||||||
0% {top: 0%;}
|
position: relative;
|
||||||
25% {top: -100%;}
|
grid-column: 1;
|
||||||
50% {top: -200%;}
|
grid-row: 1;
|
||||||
75% {top: -300%;}
|
margin: auto auto 0px 0px;
|
||||||
|
|
||||||
|
/*
|
||||||
|
width: fit-content;
|
||||||
|
height: fit-content;
|
||||||
|
|
||||||
|
border: 1px solid red;
|
||||||
|
*/
|
||||||
|
|
||||||
|
opacity: 0;
|
||||||
|
--tframes: 2s;
|
||||||
|
animation-name: ascii_frame;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-duration: var(--tframes);
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-direction: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.frame.f2 {animation-delay: calc(var(--tframes) * 25/100);}
|
||||||
|
.frame.f3 {animation-delay: calc(var(--tframes) * 50/100);}
|
||||||
|
.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%;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,72 +0,0 @@
|
|||||||
.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
|
|
||||||
';
|
|
||||||
}
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
.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
|
|
||||||
';
|
|
||||||
}
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
.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
|
|
||||||
';
|
|
||||||
}
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
.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,30 +0,0 @@
|
|||||||
|
|
||||||
nav {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
justify-content: center;
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
background-color: #f6f6f6;
|
|
||||||
z-index: 1;
|
|
||||||
width: 100vw;
|
|
||||||
font-size: min(4vw, 1.5rem);
|
|
||||||
}
|
|
||||||
nav a {
|
|
||||||
position: relative;
|
|
||||||
padding: 10px min(5%, 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 +0,0 @@
|
|||||||
|
|
||||||
#projects header {
|
|
||||||
height: 300px;
|
|
||||||
}
|
|
||||||
#projects .project {
|
|
||||||
max-width: 900px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
#projects article h2 {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
#projects .project_description {
|
|
||||||
padding: 20px 0px;
|
|
||||||
}
|
|
||||||
#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 .mouse {
|
|
||||||
margin-top: 100px;
|
|
||||||
}
|
|
||||||
@@ -1,41 +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 . ' auto
|
|
||||||
' . 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;
|
|
||||||
}
|
|
||||||
|
|
||||||
section .banner {
|
|
||||||
overflow-x: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
97
styles/elements/test.css
Normal file
97
styles/elements/test.css
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
#test {
|
||||||
|
border: 1px solid blue;
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
background-image: url(" \
|
||||||
|
data:image/svg+xml;utf8, \
|
||||||
|
<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='50px' width='100%'>\
|
||||||
|
<text x='0' y='15'>\
|
||||||
|
I love SVG!\
|
||||||
|
</text>\
|
||||||
|
</svg>");
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
#test::after {
|
||||||
|
content: " \a \a \a \a \a \a \a \a \a \a \a \a \a \a \a ";
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
#mouse_test .frame.f1::before {
|
||||||
|
content: " \A \A \A \A \A \A \A \A \A \A \A \A \A ";
|
||||||
|
/*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
#mouse_test .frame.f2::before {
|
||||||
|
content: " \A \A \A \A \A \A \A \A \A \A \A \A \A ";
|
||||||
|
/*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
#mouse_test .frame.f3::before {
|
||||||
|
content: " \A \A \A \A \A \A \A \A \A \A \A \A \A ";
|
||||||
|
/*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
#mouse_test .frame.f4::before {
|
||||||
|
content: " \A \A \A \A \A \A \A \A \A \A \A ";
|
||||||
|
/*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
@@ -1,26 +1,8 @@
|
|||||||
|
|
||||||
#name {
|
#role_title #name {
|
||||||
margin:30px 0px 20px 0px;
|
margin:30px 0px 40px 0px;
|
||||||
}
|
}
|
||||||
#title {
|
#role_title #title {
|
||||||
margin:20px 0px 20px 0px;
|
margin:30px 0px 40px 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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,26 +1,8 @@
|
|||||||
/* https://stackoverflow.com/questions/62107074/how-to-hide-a-text-and-make-it-accessible-by-screen-reader */
|
|
||||||
.visually-hidden {
|
|
||||||
border: 0;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
position: absolute !important;
|
|
||||||
height: 1px;
|
|
||||||
width: 1px;
|
|
||||||
overflow: hidden;
|
|
||||||
outline: none;
|
|
||||||
box-shadow: none;
|
|
||||||
clip: rect(1px 1px 1px 1px); /* IE6, IE7 - a 0 height clip, off to the bottom right of the visible 1px box */
|
|
||||||
clip: rect(1px, 1px, 1px, 1px); /* maybe deprecated but we need to support legacy browsers */
|
|
||||||
clip-path: inset(50%); /* modern browsers, clip-path works inwards from each corner */
|
|
||||||
white-space: nowrap; /* added line to stop words getting smushed together (as they go onto separate lines and some screen readers do not understand line feeds as a space) */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
DATA-FLEX
|
DATA-FLEX
|
||||||
|
|
||||||
direction width childrens childrens childrens
|
direction width position main axis cross axis
|
||||||
position main axis cross axis
|
|
||||||
|
|
||||||
[/]-horizontal [/]-parent [/]-center [/]-pack [/]-fit
|
[/]-horizontal [/]-parent [/]-center [/]-pack [/]-fit
|
||||||
[/] vertical [/] content [/] left [/]-wrap [/] stretch
|
[/] vertical [/] content [/] left [/]-wrap [/] stretch
|
||||||
@@ -49,37 +31,32 @@
|
|||||||
/*
|
/*
|
||||||
width : -parent- content
|
width : -parent- content
|
||||||
*/
|
*/
|
||||||
[data-flex~="parent"] {
|
[data-flex~="parent"] { width: auto; }
|
||||||
width: 100%;
|
|
||||||
width: -moz-available; /* WebKit-based browsers will ignore this. */
|
|
||||||
width: -webkit-fill-available; /* Mozilla-based browsers will ignore this. */
|
|
||||||
width: fill-available;
|
|
||||||
}
|
|
||||||
[data-flex~="content"] { width: fit-content; }
|
[data-flex~="content"] { width: fit-content; }
|
||||||
/*
|
/*
|
||||||
position : -center- left right top bottom
|
position : -center- left right top bottom
|
||||||
*/
|
*/
|
||||||
[data-flex~="left"] ,[data-flex~="vertical"][data-flex~="left"] { align-items: flex-start; text-align: left; }
|
|
||||||
[data-flex~="right"] ,[data-flex~="vertical"][data-flex~="right"] { align-items: flex-end; text-align: right; }
|
|
||||||
[data-flex~="top"] ,[data-flex~="vertical"][data-flex~="top"] { justify-content: flex-start; }
|
|
||||||
[data-flex~="bottom"] ,[data-flex~="vertical"][data-flex~="bottom"] { justify-content: flex-end; }
|
|
||||||
[data-flex~="center"] ,[data-flex~="vertical"][data-flex~="center"] { align-items: center; text-align: center; }
|
|
||||||
[data-flex~="horizontal"][data-flex~="left"] { justify-content: flex-start; }
|
[data-flex~="horizontal"][data-flex~="left"] { justify-content: flex-start; }
|
||||||
[data-flex~="horizontal"][data-flex~="right"] { justify-content: flex-end; }
|
[data-flex~="horizontal"][data-flex~="right"] { justify-content: flex-end; }
|
||||||
[data-flex~="horizontal"][data-flex~="top"] { align-items: flex-start; }
|
[data-flex~="horizontal"][data-flex~="top"] { align-items: flex-start; }
|
||||||
[data-flex~="horizontal"][data-flex~="bottom"] { align-items: flex-end; }
|
[data-flex~="horizontal"][data-flex~="bottom"] { align-items: flex-end; }
|
||||||
[data-flex~="horizontal"][data-flex~="center"] { }
|
[data-flex~="horizontal"][data-flex~="center"] { }
|
||||||
|
[data-flex~="vertical"][data-flex~="left"] { align-items: flex-start; }
|
||||||
|
[data-flex~="vertical"][data-flex~="right"] { align-items: flex-end; }
|
||||||
|
[data-flex~="vertical"][data-flex~="top"] { justify-content: flex-start; }
|
||||||
|
[data-flex~="vertical"][data-flex~="bottom"] { justify-content: flex-end; }
|
||||||
|
[data-flex~="vertical"][data-flex~="center"] { align-items: center; }
|
||||||
/*
|
/*
|
||||||
main axis : -pack- space spread grow wrap gap
|
main axis : -pack- space spread grow wrap gap
|
||||||
*/
|
*/
|
||||||
[data-flex~="pack"] > * ,[data-flex~="vertical"][data-flex~="pack"] > * { flex-grow: 0; }
|
|
||||||
[data-flex~="space"] ,[data-flex~="vertical"][data-flex~="space"] { justify-content: space-around; }
|
|
||||||
[data-flex~="spread"] ,[data-flex~="vertical"][data-flex~="spread"] { justify-content: space-between; }
|
|
||||||
[data-flex~="grow"] > * ,[data-flex~="vertical"][data-flex~="grow"] > * { flex-grow: 1; }
|
|
||||||
[data-flex~="horizontal"][data-flex~="pack"] > * { flex-grow: 0; }
|
[data-flex~="horizontal"][data-flex~="pack"] > * { flex-grow: 0; }
|
||||||
[data-flex~="horizontal"][data-flex~="space"] { justify-content: space-around; }
|
[data-flex~="horizontal"][data-flex~="space"] { justify-content: space-around; }
|
||||||
[data-flex~="horizontal"][data-flex~="spread"] { justify-content: space-between; }
|
[data-flex~="horizontal"][data-flex~="spread"] { justify-content: space-between; }
|
||||||
[data-flex~="horizontal"][data-flex~="grow"] > * { flex-grow: 1; }
|
[data-flex~="horizontal"][data-flex~="grow"] > * { flex-grow: 1; }
|
||||||
|
[data-flex~="vertical"][data-flex~="pack"] > * { flex-grow: 0; }
|
||||||
|
[data-flex~="vertical"][data-flex~="space"] { justify-content: space-around; }
|
||||||
|
[data-flex~="vertical"][data-flex~="spread"] { justify-content: space-between; }
|
||||||
|
[data-flex~="vertical"][data-flex~="grow"] > * { flex-grow: 1; }
|
||||||
[data-flex~="wrap"] { flex-wrap: wrap; }
|
[data-flex~="wrap"] { flex-wrap: wrap; }
|
||||||
/*
|
/*
|
||||||
cross axis : -fit- stretch
|
cross axis : -fit- stretch
|
||||||
|
|||||||
@@ -1,14 +1,17 @@
|
|||||||
:root {
|
|
||||||
--base_font_size: 62.5%;
|
|
||||||
}
|
|
||||||
html {
|
html {
|
||||||
font-size: var(--base_font_size);
|
font-size: 62.5%;
|
||||||
}
|
}
|
||||||
body, main {
|
:root {
|
||||||
overflow-x: clip;
|
--small-space: 10px;
|
||||||
margin: auto;
|
--medium-space: calc(var(--small-space) * 3);
|
||||||
width: fit-content;
|
--big-space: calc(var(--small-space) * 10);
|
||||||
background-color: #f6f6f6;
|
--list-padding: 40px;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
overflow-x: hidden;
|
||||||
|
}
|
||||||
|
figure {
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
script, style {
|
script, style {
|
||||||
display: none;
|
display: none;
|
||||||
@@ -17,15 +20,41 @@ pre {
|
|||||||
margin: 10px 0px;
|
margin: 10px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* https://css-tricks.com/slow-movement/#h-you-can-implement-native-smooth-scrolling-in-css */
|
|
||||||
/* Animate scrolling only if users don’t prefer reduced motion */
|
|
||||||
@media (prefers-reduced-motion: no-preference) {
|
|
||||||
html {
|
|
||||||
scroll-behavior: smooth;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Add some spacing between the target and the top of the viewport */
|
/*
|
||||||
:target {
|
grid
|
||||||
scroll-margin-top: 0px;
|
*/
|
||||||
}
|
|
||||||
|
#personnal_infos { grid-area: infos; }
|
||||||
|
#role_title { grid-area: title; }
|
||||||
|
#cv_infos { grid-area: cv; }
|
||||||
|
#mouse_1 { grid-area: mouse_1; }
|
||||||
|
#mouse_2 { grid-area: mouse_2; }
|
||||||
|
#mouse_3 { grid-area: mouse_3; }
|
||||||
|
#mouse_4 { grid-area: mouse_4; }
|
||||||
|
#banner_1 { grid-area: banner_1;}
|
||||||
|
#banner_2 { grid-area: banner_2;}
|
||||||
|
#banner_3 { grid-area: banner_3;}
|
||||||
|
#banner_4 { grid-area: banner_4;}
|
||||||
|
#banner_5 { grid-area: banner_5;}
|
||||||
|
|
||||||
|
body {
|
||||||
|
/*
|
||||||
|
*/
|
||||||
|
margin: 0px;
|
||||||
|
display: grid;
|
||||||
|
grid:
|
||||||
|
' title ' auto
|
||||||
|
' banner_1 ' auto
|
||||||
|
' mouse_1 ' auto
|
||||||
|
' banner_2 ' auto
|
||||||
|
' cv ' auto
|
||||||
|
' banner_3 ' auto
|
||||||
|
' banner_4 ' auto
|
||||||
|
' mouse_2 ' auto
|
||||||
|
' mouse_3 ' auto
|
||||||
|
' banner_5 ' auto
|
||||||
|
' mouse_4 ' auto
|
||||||
|
' infos ' auto
|
||||||
|
/ 1fr ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,48 +6,28 @@
|
|||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
*/
|
||||||
body, pre {
|
body, pre {
|
||||||
font-family: "notomono", monospace;
|
font-family: "notomono", monospace;
|
||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
*/
|
|
||||||
@media screen and (min-width: 500px) {
|
|
||||||
html {
|
|
||||||
font-size: calc(var(--base_font_size) * 1.2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ul {
|
ul {
|
||||||
|
/*
|
||||||
|
*/
|
||||||
display: block;
|
display: block;
|
||||||
list-style-type: "• ";
|
list-style-type: "• ";
|
||||||
padding-left: 25px;
|
padding-left: var(--list-padding);
|
||||||
/*
|
|
||||||
list-style-position: inside;
|
|
||||||
*/
|
|
||||||
list-style-position: outside;
|
|
||||||
}
|
}
|
||||||
li {
|
li {
|
||||||
display: list-item;
|
display: list-item;
|
||||||
}
|
}
|
||||||
li::marker {
|
li::marker {
|
||||||
font-size: 1.8rem;
|
font-size: 1.2rem;
|
||||||
}
|
}
|
||||||
details summary {
|
a::after {
|
||||||
/*
|
|
||||||
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);
|
content: attr(href);
|
||||||
}
|
}
|
||||||
h1 { margin: 30px 0px; font-size: 2.25rem; }
|
h1 { margin: 30px 0px; font-size: 2.25rem; }
|
||||||
@@ -56,14 +36,8 @@ h3 { margin: 20px 0px; font-size: 1.75rem; }
|
|||||||
h4 { margin: 20px 0px; font-size: 1.5rem; }
|
h4 { margin: 20px 0px; font-size: 1.5rem; }
|
||||||
h5 { margin: 10px 0px; font-size: 1.25rem; }
|
h5 { margin: 10px 0px; font-size: 1.25rem; }
|
||||||
h6 { margin: 10px 0px; font-size: 1.0rem; }
|
h6 { margin: 10px 0px; font-size: 1.0rem; }
|
||||||
|
pre, .ascii {
|
||||||
.pre, pre {
|
|
||||||
display: flex;
|
|
||||||
white-space: pre;
|
|
||||||
line-height: 0.8;
|
line-height: 0.8;
|
||||||
font-size: min(2.1vw, 1.0rem);
|
font-size: min(2.2vw, 1.0rem);
|
||||||
|
white-space: pre;
|
||||||
}
|
}
|
||||||
.pre_small {
|
|
||||||
font-size: min(1.5vw, 0.7rem);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
@@ -293,35 +293,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
------------------------------------------------------------
|
|
||||||
------------------------------------------------------------
|
|
||||||
------------------------------------------------------------
|
|
||||||
------------------------------------------------------------
|
|
||||||
------------------------------------------------------------
|
|
||||||
------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
•••• •••• ••••• ••••• ••••• ••••• ••••• •••••
|
|
||||||
• • • • • • • • • • •
|
|
||||||
•••• •••• • • • •••• • • •••••
|
|
||||||
• • • • • • • • • •
|
|
||||||
• • • ••••• •• ••••• ••••• • •••••
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
------------------------------------------------------------
|
|
||||||
------------------------------------------------------------
|
|
||||||
------------------------------------------------------------
|
|
||||||
------------------------------------------------------------
|
|
||||||
------------------------------------------------------------
|
|
||||||
------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user