118 Commits

Author SHA1 Message Date
Hugo LAMY
cd97001cc0 update cvs and css 2026-03-15 15:38:17 +01:00
hugo LAMY
dfc4f55709 updated presentation text 2026-03-04 15:57:24 +01:00
hugo LAMY
2c8ae62e4b fix hero section 2026-03-04 15:54:51 +01:00
hugo LAMY
eacd26e532 adding cv header 2026-03-04 15:50:18 +01:00
hugo LAMY
8ac697b6e3 fix dot words alignment 2026-03-04 14:55:24 +01:00
hugo LAMY
f43afab585 update cv unfolded and mail is link 2026-03-04 14:41:01 +01:00
asus
0764207780 changed pdf name to avoid cach 2024-06-19 16:35:37 +02:00
asus
d040932217 new version of cvs 2024-06-19 15:32:07 +02:00
asus
c633026376 changed errors spoted by luck 2024-06-19 15:21:25 +02:00
asus
de4be9e248 added validator address in reamde 2024-06-15 11:48:40 +02:00
asus
b52842c254 small fixe on spaces in hero section 2024-06-08 12:08:58 +02:00
asus
5b1ea933f6 moved and add all cv into cvs 2024-06-08 11:22:59 +02:00
asus
ecabfcc392 removed htaccess content, it was not working as intended 2024-06-08 11:15:23 +02:00
asus
d9a6269f13 trying htaccess to prevent access to certain content 2024-06-08 11:13:53 +02:00
asus
c08dff5171 added margin auto to subtitle in hero and cv section 2024-06-07 23:32:58 +02:00
asus
0b55e2cdb3 removed the default open details 2024-06-07 23:29:00 +02:00
asus
9edec3714e added all cv section in both french and english, plus the phrase 2024-06-07 23:28:08 +02:00
asus
e27344b350 started to fill new content into cv 2024-06-06 12:14:58 +02:00
asus
d72c5ea2de changed hero title height from auto to 50vh to take more consistant space 2024-06-02 19:20:34 +02:00
asus
92b75b3239 reverse last commit to have the cv as a details on top hero section again 2024-06-02 19:17:17 +02:00
asus
2e03ec0ae9 Revert "fixed text error in download pdf"
to have the cv in hero section again

This reverts commit 69b111b1e2.
2024-06-02 19:15:58 +02:00
asus
32ea6d6cf4 mv cv in its own section 2024-06-02 12:24:53 +02:00
asus
69b111b1e2 fixed text error in download pdf 2024-05-30 09:13:39 +02:00
asus
3f6eb8e78b fixed error duplicate class for download 2024-05-28 11:23:28 +02:00
asus
4642f33e0a fixed error in cv download id 2024-05-28 11:21:54 +02:00
asus
af9543e1f1 added space before downlad cv 2024-05-28 11:15:32 +02:00
asus
801576af7a changed flag from position fixed to absolute so it does not follow the page while scrolling 2024-05-28 11:13:34 +02:00
asus
f414587ec3 changed language text into flags 2024-05-28 11:11:39 +02:00
asus
1056f8ea5c translation done 2024-05-28 10:22:07 +02:00
asus
ad737c57dc translate cv 2024-05-28 10:18:30 +02:00
asus
fdd16bbd3e wip almost all texts have been duplicated, still need to translate 2024-05-27 17:25:13 +02:00
asus
0c7860fee9 version compatible with old browser not supporting has 2024-05-27 17:21:48 +02:00
asus
d545c2ef28 first version of switch button for language 2024-05-27 17:12:30 +02:00
asus
e21e5b8938 changed svg files to work with older browsers for the pre white-space, using old xml:space instead 2024-05-27 15:42:56 +02:00
asus
680c5808a3 added break word on all letters for links 2024-05-27 14:23:09 +02:00
asus
8ac471331f css is now in old form 2024-05-27 14:18:48 +02:00
asus
04883ef891 renamed projects_square into projects 2024-05-27 14:10:19 +02:00
asus
8a69f25113 deleted old projects folder 2024-05-27 14:08:29 +02:00
asus
d60b3580c0 deleted unused svg mouse 2024-05-27 14:04:20 +02:00
asus
744c2aedcb mouses are now using transform instead of top to work on chrome 2024-05-27 14:00:55 +02:00
asus
86869399fb projects are now a grid 2024-05-26 13:34:59 +02:00
asus
9ba7801d03 added new version of kosmopolit gif 2024-05-26 13:34:41 +02:00
asus
6e13db6a95 added more gif 2024-05-26 12:20:22 +02:00
asus
67bc569749 wip added figcaption 2024-05-25 15:43:37 +02:00
asus
785be3e6ac wip change projects for grid of figures 2024-05-25 15:42:20 +02:00
asus
5c6f636e4d added jipf project 2024-05-25 15:41:57 +02:00
asus
d93015f2fa added second project gif 2024-05-19 12:39:19 +02:00
asus
00485dbc70 wip design is mobile first with some bugs 2024-05-19 12:26:30 +02:00
asus
527424df53 wip images in projects 2024-05-18 15:54:08 +02:00
asus
1742985974 small modifs in project section 2024-05-17 22:52:36 +02:00
asus
40048d3871 starting to put the project new content 2024-05-17 15:06:19 +02:00
asus
877c5eb271 re start animation banner 2024-05-17 14:16:57 +02:00
asus
875a79816b fixed some typo and grid error for last section 2024-05-17 14:15:55 +02:00
asus
ac836798b9 unified dot size responsivness for banner and mouses 2024-05-17 14:09:42 +02:00
asus
a40ab0b203 fixed small error in hero section : unrolling cv was creating a jump 2024-05-17 13:38:25 +02:00
asus
9302e725db small fix in hero layout for space on top 2024-05-17 11:59:09 +02:00
asus
c9150faa52 layout ok on firefox 2024-05-17 11:38:17 +02:00
asus
f5c7b07aad cv pudated 2024-05-15 22:53:24 +02:00
asus
4f5cd77c81 - removed nav
- moved cv to the hero section
- also changed it to collapse all at once instead of by sub titles
- and changed grid to auto flow instead of using named areas
2024-05-15 19:28:57 +02:00
asus
f042247cbb animation mouse in css is working 2024-05-15 15:49:48 +02:00
asus
b517d26ece index modified for merge 2024-05-15 11:55:24 +02:00
asus
668aad3c59 merging conflict 2024-05-15 11:50:31 +02:00
asus
3747762c4f banners are now svg images 2024-05-15 11:45:34 +02:00
asus
ac1d84fc9a reverted last 3 commits 2024-01-21 12:16:30 +01:00
asus
7a07e2dbdd Merge branch 'master' into new_banner 2024-01-21 12:10:24 +01:00
asus
cd42bf0f2b creation of branch new_banner 2024-01-21 12:08:17 +01:00
asus
ed75f330a1 added notes md 2024-01-21 12:02:05 +01:00
asus
553c93a7d1 - added test banner svg
- need to figure out a better deal with font size and screen size
2023-12-22 18:16:13 +01:00
asus
7484bd8697 fixed banner selector and overflow hidden 2023-12-20 14:56:27 +01:00
asus
62d7b45822 for now back to working version of ascii animation 2023-12-20 14:39:04 +01:00
asus
3cfa8cfeba wip animation 2023-12-20 14:34:03 +01:00
asus
d3db7774fe - wip new animation type
- nav is back to fixed to preserve the 100vh of first section
2023-12-20 14:15:24 +01:00
asus
1315132b9d changed nav position from fixed to sticky so it doesn't overlap with first header 2023-12-20 10:44:34 +01:00
asus
b99a47985b changed flex gap in 2 words ascii title for a margin 2023-12-20 10:33:12 +01:00
asus
ca1da07048 error worpress -> wordpress 2023-12-10 14:12:01 +01:00
asus
9c0895f589 redo mediaquery for fontsize 2023-12-08 09:22:54 +01:00
asus
70ae41f7d4 - change temp.txt in alphabet.txt
- made hugolamy title smaller
- removed mediaquery for font size
2023-12-08 09:14:17 +01:00
asus
a6979b8d23 better nav font size for small screens 2023-12-06 16:10:15 +01:00
asus
0903a4b9c2 changed sections elements height to all auto 2023-12-06 15:58:36 +01:00
asus
c84d6bd5af merged simple_html 2023-12-06 15:51:40 +01:00
asus
59382b8d21 added navbar 2023-12-06 15:45:28 +01:00
asus
cf8ec07002 edited readme about accessibility 2023-12-06 15:08:59 +01:00
asus
7b239b8fe3 edited readme 2023-12-06 14:20:14 +01:00
asus
cac49da466 edited readme 2023-12-06 14:19:27 +01:00
asus
385b43cfc6 transformed page layout in multiple sections to have full screen height available 2023-12-03 19:25:12 +01:00
asus
c21df45857 starting new design by section with home taking all screen height 2023-12-03 15:33:39 +01:00
asus
6b1370131d - changed title in h1 to aria label for accessibility
- changed stretchging and centering of section with fill-available
2023-12-01 21:33:54 +01:00
asus
9547c56898 changed p.pre into span.pre 2023-12-01 00:55:21 +01:00
asus
eded9d9eaa changed div and pre into h1 and p styles pre 2023-12-01 00:50:32 +01:00
asus
c86952d172 added htaccess with https redirection 2023-11-30 14:08:27 +01:00
asus
49bc7be27f changed first header with visually hidden h1 2023-11-30 01:06:14 +01:00
asus
0dd0ff4843 - improve accessibility after check with wave and axe :
- title to links
	- title to iframe
	- put everything in main region
2023-11-29 23:48:58 +01:00
asus
0aa774b21f avoid fill-available as pointed out by w3 css validator 2023-11-29 23:22:59 +01:00
asus
5843f9af1a removed h1 according to w3 validator 2023-11-29 23:11:51 +01:00
asus
2b8fc51d0b - better ul alignements
- changed download pdf to open in new window
2023-11-29 22:08:42 +01:00
asus
8eec040226 solve some pbm with font size 2023-11-29 20:07:49 +01:00
asus
447553b1ac made the pre ascii accessibles 2023-11-29 19:35:15 +01:00
asus
bc966e676e better description and style of the project 2023-11-29 17:44:21 +01:00
asus
09bdb21600 cv new version 2023-11-29 15:56:22 +01:00
asus
70b644595d - added description to project
- better liste cv alignement
2023-11-29 14:12:33 +01:00
asus
4eae7921cc trying style with less banners 2023-11-24 17:07:33 +01:00
asus
5b63a5ed41 start of adding projects 2023-11-24 15:55:57 +01:00
asus
9fa4e3a22a some modification to global css, but it's not good anymore 2023-11-23 19:30:15 +01:00
asus
ce1b541f29 font size adjust for list details arrow 2023-11-20 01:17:01 +01:00
asus
82ba4401c6 adjusted font size for phones 2023-11-20 01:14:17 +01:00
asus
5b767e8147 solved pbm with list in cv 2023-11-20 01:05:25 +01:00
asus
f334f87390 resolved pbm of margin in title section, it was because of the min function in font size 2023-11-19 21:24:54 +01:00
asus
2f95a96834 added cv pdf 2023-11-19 19:11:09 +01:00
asus
0d55418bf1 created a central area thinner than banners 2023-11-19 19:02:08 +01:00
asus
d00efa943c added forgotten third line of .htaccess 2023-11-05 21:57:59 +01:00
asus
ce8b1a10f3 added .htaccess for the server 2023-11-05 21:41:40 +01:00
asus
ced0b84247 added old readme content into new readme 2023-11-05 21:39:55 +01:00
asus
962eea4ace Merge branch 'simple_html' 2023-11-05 21:37:09 +01:00
asus
8e8b6f4e1c added new readme 2023-11-05 21:36:15 +01:00
asus
8012ddb0a4 Merge branch 'simple_html' 2023-11-05 21:24:49 +01:00
asus
48c1ff96ae merged simple html branch 2023-11-05 21:22:55 +01:00
asus
520472da51 erased everything to set up a clean new master branch 2023-11-05 21:21:32 +01:00
asus
cbbde4fdac temp test file 2023-11-05 21:17:21 +01:00
43 changed files with 1807 additions and 833 deletions

4
.htaccess Normal file
View File

@@ -0,0 +1,4 @@
# adding https redirection :
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

10
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,10 @@
{
// Use Prettier as the default formatter for HTML and CSS
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}

View File

@@ -1,4 +1,48 @@
html validator : https://validator.w3.org/nu
---
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
................................................................ ................................................................
@@ -186,4 +230,3 @@
. . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

View File

@@ -293,6 +293,35 @@
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
•••• •••• ••••• ••••• ••••• ••••• ••••• •••••
• • • • • • • • • • •
•••• •••• • • • •••• • • •••••
• • • • • • • • • •
• • • ••••• •• ••••• ••••• • •••••
       
          
        
         
        
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------

31
docs/banners/banner_0.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.1 KiB

33
docs/banners/banner_1.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.1 KiB

36
docs/banners/banner_2.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.3 KiB

39
docs/banners/banner_3.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.5 KiB

42
docs/banners/banner_4.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.7 KiB

45
docs/banners/banner_5.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

5
docs/flags/fr.svg Normal file
View 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
View 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
View 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
View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 938 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 MiB

1375
index.html

File diff suppressed because it is too large Load Diff

View File

@@ -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 { background-image: url(../../docs/banners/banner_1.svg); /*default*/
position: relative; background-size: contain;
margin: 10px 0px 10px -100px; background-repeat: repeat;
animation-name: slide; background-position-x: 0%;
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;
} }
pre.banner.pause { @keyframes slide_svg {
animation-play-state: paused; from {background-position-x: 0%;}
} to {background-position-x: 100%;}
pre.banner.reverse {
animation-direction: reverse;
}
pre.banner.t0_5 {
animation-duration: 0.5s;
}
pre.banner.t1_0 {
animation-duration: 1s;
}
pre.banner.t1_5 {
animation-duration: 1.5s;
}
pre.banner.t2_0 {
animation-duration: 2s;
}
@keyframes slide {
from {left:0;}
to {left:2.4em;}
} }
/*
* 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%;
}

View File

@@ -1,33 +1,38 @@
#cv {
#cv_infos { header {
margin: 10px 10px 30px 10px; height: 300px;
} }
#cv_infos h1,
#cv_infos h2,
#cv_infos h3,
#cv_infos h4,
#cv_infos h5,
#cv_infos h6 {
/*
place-self: center;
margin-left: var(--list-padding);
*/
}
#cv_infos details {
margin: 10px 0px;
}
#cv_infos summary {
/*
*/
margin-left: var(--list-padding);
}
#cv_infos summary + * {
margin-top: 10px;
} }
details summary { .cv {
/* display: flex;
list-style-type: none; flex-direction: column;
*/ text-align: left;
list-style-position: outside; width: auto;
max-width: 900px;
> *:last-child {
margin-bottom: 100px;
}
.cv_download {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 30px;
}
.banner {
margin: 0px 0px 50px;
}
h2 {
margin-top: 100px;
}
ul {
border: 1px dashed black;
padding: 20px;
padding-left: 40px;
}
} }

19
styles/elements/hero.css Normal file
View File

@@ -0,0 +1,19 @@
#hero {
min-height: 100vh;
grid-template-columns: 1fr auto 1fr;
/*
* 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' don't jump when we unroll it
*
grid-template-rows: 1fr auto 1fr;
grid-template-rows: auto auto 1fr;
*/
grid-template-rows: 50vh 1fr;
}
#hero .subtitle {
text-align: center;
display: inline-block;
max-width: 700px;
margin: 0px auto;
}

View File

@@ -1,3 +1,6 @@
#infos article {
#personnal_infos { display: flex;
flex-direction: column;
place-content: center;
height: 200px;
} }

View File

@@ -0,0 +1,59 @@
input#language {
display: none;
}
label#language_label {
position: fixed;
top: 20px;
right: 20px;
padding: 10px;
cursor: pointer;
z-index: 1;
.flag {
width: 20px;
}
}
/*
* SWITCH FLAG
*/
#language {
&:not(:checked) + #language_label {
#fr {
display: inline;
}
#en {
display: none;
}
}
&:checked + #language_label {
#fr {
display: none;
}
#en {
display: inline;
}
}
}
/*
* SWITCH LANGUAGE
*/
#language {
~ * .fr,
~ * .en {
display: none;
}
&:not(:checked) ~ * .en {
display: inline;
}
&:checked ~ * .fr {
display: inline;
}
}

View File

@@ -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 { .mouse {
position: relative; margin: auto;
margin: 0px;
}
.frames_container {
display: grid;
width: fit-content; width: fit-content;
/* overflow: hidden;
border: 1px solid blue;
*/
} }
pre.frame.hide { .mouse .frames {
display: none;
}
pre.frame {
position: relative; position: relative;
grid-column: 1; animation: mouse_move infinite 2s normal steps(4);
grid-row: 1; }
margin: auto auto 0px 0px; .mouse .frames::before {
position: relative;
/* top: 0px;
width: fit-content; left: 0px;
height: fit-content; }
.mouse .frames::after {
border: 1px solid red; position: absolute;
*/ top: 100%;
left: 0px;
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);} * using 'transform' instead of 'top', because 'top' needs
pre.frame.f4 {animation-delay: calc(var(--tframes) * 75/100);} * the parent to have an explicit height
* but in this case its height is according to the children
@keyframes ascii_frame { *
0% {opacity: 1;} */
25% {opacity: 1;} @keyframes mouse_move {
25.1% {opacity: 0;} 0% {transform: translateY(0%);}
100% {opacity: 0;} 100% {transform: translateY(-400%);}
}
#mouse_1 {
place-self: center;
}
#mouse_2 {
left: 10%;
}
#mouse_3 {
left: 60%;
}
#mouse_4 {
left: 20%;
} }

View 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
';
}

View 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
';
}

View 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
';
}

View 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
';
}

View File

@@ -0,0 +1,22 @@
#projects {
header {
height: 300px;
}
}
#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 .projects_grid figure {
}
#projects .projects_grid figure figcaption {
text-align: left;
margin-bottom: 100px;
}
#projects .mouse {
margin-top: 100px;
}

View File

@@ -1,24 +0,0 @@
#test::after {
content: "  \a   \a   \a  \a \a  \a  \a  \a  \a    \a    \a  \a     \a    \a  \a ";
white-space: pre-wrap;
/*
 
  
  
 

 
 
 
 
   
   
 
    
   
 
*/
}

View File

@@ -1,8 +1,26 @@
#role_title #name { #name {
margin:30px 0px 40px 0px; margin:30px 0px 20px 0px;
} }
#role_title #title { #title {
margin:30px 0px 40px 0px; 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;
} }

View File

@@ -1,2 +0,0 @@

View File

@@ -1,8 +1,41 @@
/* 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) */
}
.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 DATA-FLEX
direction width position main axis cross axis direction width childrens childrens childrens
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
@@ -31,32 +64,37 @@
/* /*
width : -parent- content width : -parent- content
*/ */
[data-flex~="parent"] { width: auto; } [data-flex~="parent"] {
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

38
styles/sections.css Normal file
View 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;
}

View File

@@ -1,17 +1,14 @@
html {
font-size: 62.5%;
}
:root { :root {
--small-space: 10px; --base_font_size: 62.5%;
--medium-space: calc(var(--small-space) * 3); }
--big-space: calc(var(--small-space) * 10); html {
--list-padding: 40px; font-size: var(--base_font_size);
} }
body { body {
overflow-x: hidden; overflow-x: clip;
} margin: auto;
figure { width: fit-content;
overflow: hidden; background-color: #f6f6f6;
} }
script, style { script, style {
display: none; display: none;
@@ -20,41 +17,15 @@ 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 dont 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 */
grid :target {
*/ 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 ;
} }

View File

@@ -6,28 +6,36 @@
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: var(--list-padding); padding-left: 25px;
/*
list-style-position: inside;
*/
list-style-position: outside;
} }
li { li {
display: list-item; display: list-item;
} }
li::marker { li::marker {
font-size: 1.2rem; font-size: 1.8rem;
} }
a::after {
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; }
@@ -36,7 +44,17 @@ 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 {
.pre, pre {
display: flex;
white-space: pre;
line-height: 0.8; line-height: 0.8;
font-size: min(2.2vw, 1.0rem); font-size: min(2.1vw, 1.0rem);
}
.pre_small {
font-size: min(1.5vw, 0.7rem);
}
a {
word-break: break-all;
} }