29 Commits

Author SHA1 Message Date
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
19 changed files with 580 additions and 483 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]

View File

@@ -1,4 +1,38 @@
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
................................................................ ................................................................

Binary file not shown.

1003
index.html

File diff suppressed because it is too large Load Diff

View File

@@ -14,16 +14,16 @@ pre.banner.pause {
pre.banner.reverse { pre.banner.reverse {
animation-direction: reverse; animation-direction: reverse;
} }
pre.banner.t0_5 { pre.banner.t05 {
animation-duration: 0.5s; animation-duration: 0.5s;
} }
pre.banner.t1_0 { pre.banner.t10 {
animation-duration: 1s; animation-duration: 1s;
} }
pre.banner.t1_5 { pre.banner.t15 {
animation-duration: 1.5s; animation-duration: 1.5s;
} }
pre.banner.t2_0 { pre.banner.t20 {
animation-duration: 2s; animation-duration: 2s;
} }
@keyframes slide { @keyframes slide {

View File

@@ -1,33 +1,38 @@
#cv_infos { #cv {
margin: 10px 10px 30px 10px; /*
place-items: center;
place-self: stretch;
*/
grid-template-columns: 1fr minmax(auto, 900px) 1fr;
} }
#cv_infos h1, #cv header {
#cv_infos h2, height: 300px;
#cv_infos h3, }
#cv_infos h4, #cv article {
#cv_infos h5, /*
#cv_infos h6 { max-width: 900px;
*/
}
#cv article h2 {
text-align: center;
}
#cv #cv_ascii {
/* /*
place-self: center; place-self: center;
margin-left: var(--list-padding);
*/ */
} }
#cv_infos details { #cv #cv_download {
margin: 10px 0px;
}
#cv_infos summary {
/* /*
place-self: center;
*/ */
margin-left: var(--list-padding);
} }
#cv_infos summary + * { #cv details {
margin-top: 10px; margin: 0px 0px 0px 25px;
} }
#cv summary {
details summary { padding: 10px 0px;
/* }
list-style-type: none; #cv .mouse {
*/ margin-top: 100px;
list-style-position: outside;
} }

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

@@ -0,0 +1,15 @@
#hero {
grid-template-rows: 1fr auto auto;
height: 100vh;
/*
grid-template-rows: 1fr 50px auto auto;
*/
}
#hero header {
}
#hero .mouse {
}
#hero .banner {
}

View File

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

View File

@@ -1,7 +1,7 @@
.mouse { .mouse {
position: relative; position: relative;
margin: 0px; margin: 20px 0px;
} }
.frames_container { .frames_container {
display: grid; display: grid;

29
styles/elements/nav.css Normal file
View File

@@ -0,0 +1,29 @@
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;
}

View File

@@ -0,0 +1,31 @@
#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;
}

View File

@@ -0,0 +1,37 @@
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;
}

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,11 @@
#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 {
gap:10px 30px;
} }

View File

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

View File

@@ -1,8 +1,26 @@
/* 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 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 +49,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

View File

@@ -1,17 +1,15 @@
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);
--list-padding: 40px;
} }
body { html {
overflow-x: hidden; font-size: var(--base_font_size);
} }
figure { body, main {
overflow: hidden; overflow-x: clip;
margin: auto;
width: fit-content;
background-color: #f6f6f6;
} }
script, style { script, style {
display: none; display: none;
@@ -20,41 +18,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 */
grid @media (prefers-reduced-motion: no-preference) {
*/ html {
scroll-behavior: smooth;
#personnal_infos { grid-area: infos; } }
#role_title { grid-area: title; }
#cv_infos { grid-area: cv; } /* Add some spacing between the target and the top of the viewport */
#mouse_1 { grid-area: mouse_1; } :target {
#mouse_2 { grid-area: mouse_2; } scroll-margin-top: 0px;
#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

@@ -14,20 +14,40 @@ body, pre {
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 { 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); content: attr(href);
} }
h1 { margin: 30px 0px; font-size: 2.25rem; } h1 { margin: 30px 0px; font-size: 2.25rem; }
@@ -36,7 +56,11 @@ 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);
} }

View File

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