diff --git a/README.md b/README.md index cf2edba..3667bf2 100644 --- a/README.md +++ b/README.md @@ -1,57 +1,36 @@ +# Le futuriste's portfolio 2022 version + ## Credits -https://tabler-icons.io/ +- [Tabler icons](https://tabler-icons.io) +- [Libre Baskerville](https://github.com/impallari/Libre-Baskerville) +- [Axios](https://axios-http.com/) -## Structure +## Current structure +- Quick facts about me (Intro) - Tech wall - Pro projects - Side projects -- Find me on -- Volunteering +- Find me on (Links) + - Contact form -- Reading list + +## Another structure to try: tabbed structure -## Technology walls +The main page: quick facts and the nav bar would be on the left instead of at the top -Mosaic of squared technologies logos +## Todo -- PHP -- Composer -- Symfony -- Api platform -- Laraval -- PhpUnit +- Add a little bit more style for the project page +- Compress images for the projects slide show +- Add some URL redirection +- Improve accessibility +- Add HTML for the semantic web +- Add link to blog and various links to specifics articles (for example about a particular project or about my computing setup) -- HTML 5 -- Webpack -- CSS 3 -- Sass -- Bootstrap +## Technical issues or comments -- JavaScript -- Jquery -- Yarn -- Node.js -- TypeScript -- Mocha -- Express -- Vue.js -- Vuetify +If you have any comments on this website, please reach to me via [email](mailto:mail@matthieubessat.fr) -- GoLang - -- MySQL -- Elastic Search -- MongoDB -- Redis - -- GNU/Linux -- Docker -- Nginx -- Varnish -- Caddy - -- Python -- Gunicorn diff --git a/assets/locales/en.yaml b/assets/locales/en.yaml index f6000a2..e1edb94 100644 --- a/assets/locales/en.yaml +++ b/assets/locales/en.yaml @@ -11,6 +11,8 @@ about-website: "About this website" page: title: Matthieu Bessat + portfolio: Portfolio + description: My portfolio as a full-stack freelance web developer. profile: main: Hi, I'm Matthieu! diff --git a/assets/locales/fr.yaml b/assets/locales/fr.yaml index 8ecccb6..a0e87c5 100644 --- a/assets/locales/fr.yaml +++ b/assets/locales/fr.yaml @@ -11,6 +11,8 @@ about-website: A propos de ce site page: title: Matthieu Bessat + portfolio: Portfolio + description: Développeur freelance full-stack, je vous présente mon portfolio. profile: main: Salut, je m'appelle Matthieu ! diff --git a/assets/styles/components/intro.scss b/assets/styles/components/intro.scss index d445623..f899b2c 100644 --- a/assets/styles/components/intro.scss +++ b/assets/styles/components/intro.scss @@ -10,6 +10,7 @@ .intro-items { border: 1px dashed gray; + border-radius: 3px; padding: 1em; .intro-item { display: flex; diff --git a/assets/styles/components/links.scss b/assets/styles/components/links.scss index d892e2d..718bb10 100644 --- a/assets/styles/components/links.scss +++ b/assets/styles/components/links.scss @@ -15,6 +15,10 @@ justify-content: center; align-items: center; min-width: 10em; + transition: all 0.1s; + &:hover { + transform: scale(1.1); + } } .link-card-title { @@ -54,4 +58,4 @@ min-width: 6em; } } -} \ No newline at end of file +} diff --git a/assets/styles/components/technologies.scss b/assets/styles/components/technologies.scss index 48a639e..7338f6c 100644 --- a/assets/styles/components/technologies.scss +++ b/assets/styles/components/technologies.scss @@ -1,6 +1,7 @@ @use "sass:math"; .tech-mosaic { + border-radius: 3px; display: flex; flex-wrap: wrap; overflow: hidden; diff --git a/assets/styles/components/typography.scss b/assets/styles/components/typography.scss index ac27ff6..6e2b6d1 100644 --- a/assets/styles/components/typography.scss +++ b/assets/styles/components/typography.scss @@ -26,6 +26,9 @@ h3 { font-size: large; } +em { + font-style: italic; +} .section-title { display: grid; diff --git a/public/dist/app.min.css b/public/dist/app.min.css index 36e5fa2..92f89cf 100755 --- a/public/dist/app.min.css +++ b/public/dist/app.min.css @@ -1 +1 @@ -@font-face{font-family:LibreBaskervilleRegular;src:url("/LibreBaskerville-Regular.woff")}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}*{box-sizing:border-box}.intro{display:grid;grid-template-columns:2fr 1fr;gap:2em}.intro-items{border:1px dashed gray;padding:1em}.intro-items .intro-item{display:flex;margin-bottom:.4em}.intro-items .intro-item:last-of-type{margin-bottom:0}.intro-items .item-icon{margin-right:1em;color:#4ba05f}.intro-items .item-content{display:flex;align-items:center}.intro-items .item-content ul{margin-left:.5em;display:flex}.intro-items .item-content ul li{margin-right:.5em}.intro-interests .chip{font-size:.8em !important;padding:.3em 1em !important}.intro-interests .chip-icon svg{width:1.5em}.intro-interests-header{width:100%}.intro-interests-header p{margin-bottom:.5em}@media(max-width: 1200px){.intro{display:block}.intro-items{margin-top:1em}}.landing-section{box-shadow:inset 0 7px 15px -7px rgba(0,0,0,.4),inset 0 -7px 15px -7px rgba(0,0,0,.4);padding:2em 0;background:linear-gradient(90deg, #3ca441 0%, #5fc463 50%);color:#fff;border-bottom:0}.profile-container{display:flex;justify-content:center;align-items:center}.profile-imgs-container{width:28em;height:28em;display:flex;justify-content:center;align-items:center;flex-direction:column;position:relative;margin-right:3em}@keyframes animate{0%{transform:perspective(1000px) rotateY(0deg) rotateZ(-45deg)}100%{transform:perspective(1000px) rotateY(360deg) rotateZ(-45deg)}}.profile-imgs-wrapper:hover{animation:animate 20s linear infinite}.profile-imgs-wrapper{transform:rotateZ(-45deg);border-radius:5px;overflow:hidden;z-index:3}.profile-imgs{position:relative}.profile-shadow{transform:perspective(1000px) rotateX(99deg);z-index:1;position:absolute;bottom:-104px;width:80%;height:50%;border-radius:50%;background:radial-gradient(circle, white 0%, rgba(255, 255, 255, 0) 100%);filter:blur(45px)}.additional-profile,.additional-profile-filter{position:absolute}.additional-profile{z-index:1}.additional-profile-filter{z-index:2}.profile-content{margin-left:1em;display:flex;justify-content:center;align-items:center;flex-direction:column}.profile-content .title-1{text-align:center;font-size:3em;margin-bottom:.4em;line-height:1.5em}.profile-content .title-2{text-align:center;font-size:1.5em;margin-bottom:1em}.profile-content .subtitle{font-size:1.5em}@media(max-width: 900px){.profile-container{flex-direction:column}.profile-imgs-container{margin-right:0}.profile-content{margin-left:0;margin-top:-1em}.profile-content .title-1{font-size:2.5em}.profile-content .title-2{font-size:1.2em}.profile-imgs-container{transform:scale(0.7);margin-top:-4em}}@media(max-width: 400px){.landing-section{padding-top:0}.profile-content{margin-top:-4em;padding:0 1em}.profile-content .title-1{font-size:2.5em}.profile-content .title-2{font-size:1.2em}.profile-imgs-container{transform:scale(0.6);margin-top:-4em}}.projects{display:grid;grid-template-columns:1fr 1fr;grid-gap:1em}.projects .project-card{border:1px solid gray;padding:1.5em;border-radius:5px;display:flex;flex-direction:column;justify-content:space-between}.projects .project-top{display:flex}.projects .project-left{width:100%}.projects .project-title{font-size:1em;padding-bottom:1em}.projects .project-description{font-size:.9em;color:gray}.projects .project-img{width:5em}.projects .project-right{padding-left:.5em}.projects .project-bottom{padding-top:1em}@media(min-width: 1500px){.projects{grid-template-columns:1fr 1fr 1fr}}@media(max-width: 1000px){.projects{grid-template-columns:1fr 1fr}}@media(max-width: 900px){.projects{grid-template-columns:1fr}.project-right{padding-left:1em !important}}.project-page .project-header div{display:flex;align-items:center;margin-bottom:.4em}.project-page .project-header div svg{margin-right:.6em}.project-images-container{width:100%}.project-images-container .project-images{display:flex;overflow-x:scroll}.project-images-container .img{display:block;overflow-y:hidden;height:199px;min-width:295px;margin-right:1em;margin-bottom:1em}.project-images-container .img img{width:100%}.project-images{display:grid;width:100%}.media-modal-container{position:fixed;width:100%;height:100vh;z-index:99;top:0;left:0;background-color:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;visibility:hidden;opacity:0;transition:visibility .1s linear,opacity .1s linear}.media-modal{position:relative;width:50%}.media-modal .media-modal-content{border-radius:4px;width:100%;max-height:80vh;overflow-y:scroll;display:flex;align-items:flex-start;justify-content:center}.media-modal img,.media-modal video{width:100%}.media-close{filter:drop-shadow(2px 4px 6px black);position:absolute;width:1.5em;height:1.5em;right:-0.75em;top:-0.75em;color:#fff;cursor:pointer;opacity:.9;transition:all .2s}.media-close:hover{transform:scale(1.2);opacity:1}.media-nav{position:absolute;top:50%;color:#fff;cursor:pointer;font-size:2em}.media-left-nav{left:2em !important}.media-right-nav{right:2em !important}.media-caption{position:absolute;bottom:1.5em;color:wheat;padding:.5em 1em;line-height:1.3em}@media(max-width: 1000px){.project-page .media-modal{width:90%;margin-top:2em}.project-page .media-nav{bottom:0;top:initial;margin-bottom:.5em}.project-page .media-modal-content{max-height:60vh}.project-page .media-caption{font-size:.9em;margin-bottom:.5em !important;bottom:4em;text-align:center}.project-page .media-modal-container{align-items:flex-start}}.tech-mosaic{display:flex;flex-wrap:wrap;overflow:hidden}.tech-mosaic .item{position:relative;box-sizing:border-box;background-color:rgba(231,231,231,.425);flex-basis:12.5%}.tech-mosaic .item::before{content:"";display:block;padding-top:100%}.tech-mosaic .item .item-inside{position:absolute;top:0;left:0;height:100%;width:100%}.tech-mosaic .item-bg{width:100%;height:100%;position:absolute;top:0;left:0;display:flex;justify-content:center;align-items:center;overflow:hidden;padding:2em}.tech-mosaic .item-bg img{width:100%}.tech-mosaic .item-bg img.img-stretch{width:auto;height:100%}.tech-mosaic .item-content{position:absolute;top:0;left:0;width:100%;height:100%;color:#fff;display:flex;justify-content:center;align-items:center;opacity:1;background-color:rgba(95,196,99,.46);transition:all .2s}.tech-mosaic .item-content>div{opacity:0;font-size:1.1em;text-align:center;padding:.5em;line-height:1.5em;max-width:100%}.tech-mosaic .item:hover .item-content{background-color:rgba(0,0,0,0)}.tech-mosaic-btn-container{position:absolute;bottom:0;width:100%;display:flex;justify-content:center;align-items:center;margin-top:1em}.tech-mosaic-btn-container .btn{margin-bottom:1em}.tech-mosaic-container{position:relative}.tech-mosaic-container.opened .tech-mosaic-btn-container{display:none}.tech-mosaic-container.closed .tech-mosaic-btn-container{background:linear-gradient(0deg, white 0%, rgba(255, 255, 255, 0.738) 19%, rgba(255, 255, 255, 0.541) 34%, rgba(255, 255, 255, 0.382) 47%, rgba(255, 255, 255, 0.278) 56.5%, rgba(255, 255, 255, 0.194) 65%, rgba(255, 255, 255, 0.126) 73%, rgba(255, 255, 255, 0.075) 80.2%, rgba(255, 255, 255, 0.042) 86.1%, rgba(255, 255, 255, 0.021) 91%, rgba(255, 255, 255, 0.008) 95.2%, rgba(255, 255, 255, 0.002) 98.2%, rgba(255, 255, 255, 0) 100%);height:11em}.tech-mosaic-container.closed .tech-mosaic{max-height:20em}@media(min-width: 400px){.item-bg{padding:1em !important}}@media(max-width: 1000px){.tech-mosaic .item{flex-basis:20%}}@media(max-width: 800px){.tech-mosaic .item{flex-basis:25%}}@media(max-width: 400px){.tech-mosaic .item{flex-basis:50%}}.links-container{display:flex;justify-content:center}.links{width:80%;display:flex;justify-content:space-around;flex-wrap:wrap}.links .link-card{margin:1em;display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:10em}.links .link-card-title{margin-top:.9em}.links .link-card-logo{padding:.5em;width:4em;height:4em;overflow:hidden;display:flex;justify-content:center;align-content:center}.links .link-card-logo img{max-width:4em;max-height:4em}@media(max-width: 900px){.links{width:100%}.links .link-card{justify-content:center}}@media(max-width: 400px){.links{width:100%}.links .link-card{min-width:6em}}a:hover{opacity:.8}p{line-height:1.45em;margin-bottom:1em}p.indent,.indent p{text-indent:3em}h1{font-size:xx-large;margin-bottom:1em}h2{font-size:x-large;margin-top:1.5em;margin-bottom:.8em}h3{font-size:large}.section-title{display:grid;font-size:1.2em;grid-template-columns:auto 1fr;margin-bottom:1em;margin-top:1.3em}.section-title .title-text{color:#000;display:flex;align-items:center}.section-title::before{margin:8px 15px 8px 8px;content:"";width:10px;height:10px;display:block;background-color:#4ba05f}.footer-buffer{height:2em}footer{background-color:#3ea643;margin-top:auto;color:#fff}footer a{color:#212121}.footer-container{padding:2em 0;display:flex;justify-content:space-between}.footer-left div{margin-bottom:.5em}.footer-right{display:flex;align-content:center}.locale-switch-large{display:flex;align-items:center}.locale-switch-large .l{margin-right:1em}.locale-switch-large .r a{margin-right:.2em}.locale-switch-short{display:none}@media(max-width: 900px){.locale-switch-large{display:none}.locale-switch-short{display:block}}.means-of-contact p{margin-bottom:1em}.contact-form-container form{border-radius:3px;border:1px dashed #80808054;padding:1em}.contact-form-container .contact-form-first-group{display:flex}.contact-form-container .contact-form-first-group .contact-form-input:first-of-type{margin-right:.4em}.contact-form-container .contact-form-first-group .contact-form-input:nth-of-type(2){margin-left:.4em}.contact-form-container .contact-form-input{width:100%;margin-top:1em}.contact-form-container input,.contact-form-container textarea{width:100%;margin-top:.6em;border-radius:3px;padding:.6em;border:1px solid #dbdbdb;box-shadow:1px 2px 4px 0 rgba(0,0,0,.1)}.contact-form-container .contact-form-message textarea{min-height:8em}.contact-form-container label{display:block}@keyframes rotating{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.contact-form-container .loading-button{display:none}.contact-form-container .loading-button svg{animation:rotating 2s linear infinite}.contact-form-container .contact-form-container{display:flex;justify-content:end}.alert{padding:1em;margin-bottom:1em;border-radius:3px}.alert .alert-content{display:flex;align-items:center}.alert.alert-success{background:green;color:#fff}.alert.alert-error{background:red;color:#fff}.alert .alert-icon{padding-right:.6em}@media(min-width: 900px){.contact-form-first-group .contact-form-input{margin-top:0}}@media(max-width: 900px){.contact-form-container .contact-form-first-group{display:block}.contact-form-container .contact-form-first-group .contact-form-input{margin-left:0 !important;margin-right:0 !important}.contact-form-input:first-of-type{margin-top:0}}.btn{border-radius:2px;box-shadow:1px 2px 4px 0 rgba(0,0,0,.08);padding:1em 1.5em;margin-top:1em;border:1px solid #ccc;font-size:16px}.chips{display:flex;flex-wrap:wrap}.chips .chip{margin-right:.5em;margin-bottom:.5em;padding:.5em .9em;background:#4ba05f;color:#fff;font-size:.9em;border-radius:10rem}.chips .chip-outline{border:1px solid #4ba05f;background:transparent;color:#4ba05f}.chips .chip-with-icon{display:flex;align-items:center}.chips .chip-with-icon .chip-icon{display:flex;align-items:center;margin-right:.6em}body{font-family:LibreBaskervilleRegular,sans-serif;min-height:100vh;display:flex;flex-direction:column}.hidden{display:none}.container{width:70%;margin:0 auto}.typo,body{font-family:"LibreBaskervilleRegular",serif}section{border-bottom:1px solid gray;padding-bottom:1em}section:last-of-type{border-bottom:0}section h2{margin-top:0;margin-bottom:0}.about-header{margin:2em 0}.profile-nav a{color:#fff;opacity:.8;margin-right:.6em}@media(min-width: 1500px){.container{width:58%}}@media(min-width: 1000px){.container{width:65%}}@media(max-width: 1000px){.container{width:75%}}@media(max-width: 900px){.container{width:90%}} \ No newline at end of file +@font-face{font-family:LibreBaskervilleRegular;src:url("/LibreBaskerville-Regular.woff")}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}*{box-sizing:border-box}.intro{display:grid;grid-template-columns:2fr 1fr;gap:2em}.intro-items{border:1px dashed gray;border-radius:3px;padding:1em}.intro-items .intro-item{display:flex;margin-bottom:.4em}.intro-items .intro-item:last-of-type{margin-bottom:0}.intro-items .item-icon{margin-right:1em;color:#4ba05f}.intro-items .item-content{display:flex;align-items:center}.intro-items .item-content ul{margin-left:.5em;display:flex}.intro-items .item-content ul li{margin-right:.5em}.intro-interests .chip{font-size:.8em !important;padding:.3em 1em !important}.intro-interests .chip-icon svg{width:1.5em}.intro-interests-header{width:100%}.intro-interests-header p{margin-bottom:.5em}@media(max-width: 1200px){.intro{display:block}.intro-items{margin-top:1em}}.landing-section{box-shadow:inset 0 7px 15px -7px rgba(0,0,0,.4),inset 0 -7px 15px -7px rgba(0,0,0,.4);padding:2em 0;background:linear-gradient(90deg, #3ca441 0%, #5fc463 50%);color:#fff;border-bottom:0}.profile-container{display:flex;justify-content:center;align-items:center}.profile-imgs-container{width:28em;height:28em;display:flex;justify-content:center;align-items:center;flex-direction:column;position:relative;margin-right:3em}@keyframes animate{0%{transform:perspective(1000px) rotateY(0deg) rotateZ(-45deg)}100%{transform:perspective(1000px) rotateY(360deg) rotateZ(-45deg)}}.profile-imgs-wrapper:hover{animation:animate 20s linear infinite}.profile-imgs-wrapper{transform:rotateZ(-45deg);border-radius:5px;overflow:hidden;z-index:3}.profile-imgs{position:relative}.profile-shadow{transform:perspective(1000px) rotateX(99deg);z-index:1;position:absolute;bottom:-104px;width:80%;height:50%;border-radius:50%;background:radial-gradient(circle, white 0%, rgba(255, 255, 255, 0) 100%);filter:blur(45px)}.additional-profile,.additional-profile-filter{position:absolute}.additional-profile{z-index:1}.additional-profile-filter{z-index:2}.profile-content{margin-left:1em;display:flex;justify-content:center;align-items:center;flex-direction:column}.profile-content .title-1{text-align:center;font-size:3em;margin-bottom:.4em;line-height:1.5em}.profile-content .title-2{text-align:center;font-size:1.5em;margin-bottom:1em}.profile-content .subtitle{font-size:1.5em}@media(max-width: 900px){.profile-container{flex-direction:column}.profile-imgs-container{margin-right:0}.profile-content{margin-left:0;margin-top:-1em}.profile-content .title-1{font-size:2.5em}.profile-content .title-2{font-size:1.2em}.profile-imgs-container{transform:scale(0.7);margin-top:-4em}}@media(max-width: 400px){.landing-section{padding-top:0}.profile-content{margin-top:-4em;padding:0 1em}.profile-content .title-1{font-size:2.5em}.profile-content .title-2{font-size:1.2em}.profile-imgs-container{transform:scale(0.6);margin-top:-4em}}.projects{display:grid;grid-template-columns:1fr 1fr;grid-gap:1em}.projects .project-card{border:1px solid gray;padding:1.5em;border-radius:5px;display:flex;flex-direction:column;justify-content:space-between}.projects .project-top{display:flex}.projects .project-left{width:100%}.projects .project-title{font-size:1em;padding-bottom:1em}.projects .project-description{font-size:.9em;color:gray}.projects .project-img{width:5em}.projects .project-right{padding-left:.5em}.projects .project-bottom{padding-top:1em}@media(min-width: 1500px){.projects{grid-template-columns:1fr 1fr 1fr}}@media(max-width: 1000px){.projects{grid-template-columns:1fr 1fr}}@media(max-width: 900px){.projects{grid-template-columns:1fr}.project-right{padding-left:1em !important}}.project-page .project-header div{display:flex;align-items:center;margin-bottom:.4em}.project-page .project-header div svg{margin-right:.6em}.project-images-container{width:100%}.project-images-container .project-images{display:flex;overflow-x:scroll}.project-images-container .img{display:block;overflow-y:hidden;height:199px;min-width:295px;margin-right:1em;margin-bottom:1em}.project-images-container .img img{width:100%}.project-images{display:grid;width:100%}.media-modal-container{position:fixed;width:100%;height:100vh;z-index:99;top:0;left:0;background-color:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;visibility:hidden;opacity:0;transition:visibility .1s linear,opacity .1s linear}.media-modal{position:relative;width:50%}.media-modal .media-modal-content{border-radius:4px;width:100%;max-height:80vh;overflow-y:scroll;display:flex;align-items:flex-start;justify-content:center}.media-modal img,.media-modal video{width:100%}.media-close{filter:drop-shadow(2px 4px 6px black);position:absolute;width:1.5em;height:1.5em;right:-0.75em;top:-0.75em;color:#fff;cursor:pointer;opacity:.9;transition:all .2s}.media-close:hover{transform:scale(1.2);opacity:1}.media-nav{position:absolute;top:50%;color:#fff;cursor:pointer;font-size:2em}.media-left-nav{left:2em !important}.media-right-nav{right:2em !important}.media-caption{position:absolute;bottom:1.5em;color:wheat;padding:.5em 1em;line-height:1.3em}@media(max-width: 1000px){.project-page .media-modal{width:90%;margin-top:2em}.project-page .media-nav{bottom:0;top:initial;margin-bottom:.5em}.project-page .media-modal-content{max-height:60vh}.project-page .media-caption{font-size:.9em;margin-bottom:.5em !important;bottom:4em;text-align:center}.project-page .media-modal-container{align-items:flex-start}}.tech-mosaic{border-radius:3px;display:flex;flex-wrap:wrap;overflow:hidden}.tech-mosaic .item{position:relative;box-sizing:border-box;background-color:rgba(231,231,231,.425);flex-basis:12.5%}.tech-mosaic .item::before{content:"";display:block;padding-top:100%}.tech-mosaic .item .item-inside{position:absolute;top:0;left:0;height:100%;width:100%}.tech-mosaic .item-bg{width:100%;height:100%;position:absolute;top:0;left:0;display:flex;justify-content:center;align-items:center;overflow:hidden;padding:2em}.tech-mosaic .item-bg img{width:100%}.tech-mosaic .item-bg img.img-stretch{width:auto;height:100%}.tech-mosaic .item-content{position:absolute;top:0;left:0;width:100%;height:100%;color:#fff;display:flex;justify-content:center;align-items:center;opacity:1;background-color:rgba(95,196,99,.46);transition:all .2s}.tech-mosaic .item-content>div{opacity:0;font-size:1.1em;text-align:center;padding:.5em;line-height:1.5em;max-width:100%}.tech-mosaic .item:hover .item-content{background-color:rgba(0,0,0,0)}.tech-mosaic-btn-container{position:absolute;bottom:0;width:100%;display:flex;justify-content:center;align-items:center;margin-top:1em}.tech-mosaic-btn-container .btn{margin-bottom:1em}.tech-mosaic-container{position:relative}.tech-mosaic-container.opened .tech-mosaic-btn-container{display:none}.tech-mosaic-container.closed .tech-mosaic-btn-container{background:linear-gradient(0deg, white 0%, rgba(255, 255, 255, 0.738) 19%, rgba(255, 255, 255, 0.541) 34%, rgba(255, 255, 255, 0.382) 47%, rgba(255, 255, 255, 0.278) 56.5%, rgba(255, 255, 255, 0.194) 65%, rgba(255, 255, 255, 0.126) 73%, rgba(255, 255, 255, 0.075) 80.2%, rgba(255, 255, 255, 0.042) 86.1%, rgba(255, 255, 255, 0.021) 91%, rgba(255, 255, 255, 0.008) 95.2%, rgba(255, 255, 255, 0.002) 98.2%, rgba(255, 255, 255, 0) 100%);height:11em}.tech-mosaic-container.closed .tech-mosaic{max-height:20em}@media(min-width: 400px){.item-bg{padding:1em !important}}@media(max-width: 1000px){.tech-mosaic .item{flex-basis:20%}}@media(max-width: 800px){.tech-mosaic .item{flex-basis:25%}}@media(max-width: 400px){.tech-mosaic .item{flex-basis:50%}}.links-container{display:flex;justify-content:center}.links{width:80%;display:flex;justify-content:space-around;flex-wrap:wrap}.links .link-card{margin:1em;display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:10em;transition:all .1s}.links .link-card:hover{transform:scale(1.1)}.links .link-card-title{margin-top:.9em}.links .link-card-logo{padding:.5em;width:4em;height:4em;overflow:hidden;display:flex;justify-content:center;align-content:center}.links .link-card-logo img{max-width:4em;max-height:4em}@media(max-width: 900px){.links{width:100%}.links .link-card{justify-content:center}}@media(max-width: 400px){.links{width:100%}.links .link-card{min-width:6em}}a:hover{opacity:.8}p{line-height:1.45em;margin-bottom:1em}p.indent,.indent p{text-indent:3em}h1{font-size:xx-large;margin-bottom:1em}h2{font-size:x-large;margin-top:1.5em;margin-bottom:.8em}h3{font-size:large}em{font-style:italic}.section-title{display:grid;font-size:1.2em;grid-template-columns:auto 1fr;margin-bottom:1em;margin-top:1.3em}.section-title .title-text{color:#000;display:flex;align-items:center}.section-title::before{margin:8px 15px 8px 8px;content:"";width:10px;height:10px;display:block;background-color:#4ba05f}.footer-buffer{height:2em}footer{background-color:#3ea643;margin-top:auto;color:#fff}footer a{color:#212121}.footer-container{padding:2em 0;display:flex;justify-content:space-between}.footer-left div{margin-bottom:.5em}.footer-right{display:flex;align-content:center}.locale-switch-large{display:flex;align-items:center}.locale-switch-large .l{margin-right:1em}.locale-switch-large .r a{margin-right:.2em}.locale-switch-short{display:none}@media(max-width: 900px){.locale-switch-large{display:none}.locale-switch-short{display:block}}.means-of-contact p{margin-bottom:1em}.contact-form-container form{border-radius:3px;border:1px dashed #80808054;padding:1em}.contact-form-container .contact-form-first-group{display:flex}.contact-form-container .contact-form-first-group .contact-form-input:first-of-type{margin-right:.4em}.contact-form-container .contact-form-first-group .contact-form-input:nth-of-type(2){margin-left:.4em}.contact-form-container .contact-form-input{width:100%;margin-top:1em}.contact-form-container input,.contact-form-container textarea{width:100%;margin-top:.6em;border-radius:3px;padding:.6em;border:1px solid #dbdbdb;box-shadow:1px 2px 4px 0 rgba(0,0,0,.1)}.contact-form-container .contact-form-message textarea{min-height:8em}.contact-form-container label{display:block}@keyframes rotating{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.contact-form-container .loading-button{display:none}.contact-form-container .loading-button svg{animation:rotating 2s linear infinite}.contact-form-container .contact-form-container{display:flex;justify-content:end}.alert{padding:1em;margin-bottom:1em;border-radius:3px}.alert .alert-content{display:flex;align-items:center}.alert.alert-success{background:green;color:#fff}.alert.alert-error{background:red;color:#fff}.alert .alert-icon{padding-right:.6em}@media(min-width: 900px){.contact-form-first-group .contact-form-input{margin-top:0}}@media(max-width: 900px){.contact-form-container .contact-form-first-group{display:block}.contact-form-container .contact-form-first-group .contact-form-input{margin-left:0 !important;margin-right:0 !important}.contact-form-input:first-of-type{margin-top:0}}.btn{border-radius:2px;box-shadow:1px 2px 4px 0 rgba(0,0,0,.08);padding:1em 1.5em;margin-top:1em;border:1px solid #ccc;font-size:16px}.chips{display:flex;flex-wrap:wrap}.chips .chip{margin-right:.5em;margin-bottom:.5em;padding:.5em .9em;background:#4ba05f;color:#fff;font-size:.9em;border-radius:10rem}.chips .chip-outline{border:1px solid #4ba05f;background:transparent;color:#4ba05f}.chips .chip-with-icon{display:flex;align-items:center}.chips .chip-with-icon .chip-icon{display:flex;align-items:center;margin-right:.6em}body{font-family:LibreBaskervilleRegular,sans-serif;min-height:100vh;display:flex;flex-direction:column}.hidden{display:none}.container{width:70%;margin:0 auto}.typo,body{font-family:"LibreBaskervilleRegular",serif}section{border-bottom:1px solid gray;padding-bottom:1em}section:last-of-type{border-bottom:0}section h2{margin-top:0;margin-bottom:0}.about-header{margin:2em 0}.profile-nav a{color:#fff;opacity:.8;margin-right:.6em}@media(min-width: 1500px){.container{width:58%}}@media(min-width: 1000px){.container{width:65%}}@media(max-width: 1000px){.container{width:75%}}@media(max-width: 900px){.container{width:90%}} \ No newline at end of file diff --git a/src/Controller/HomeController.php b/src/Controller/HomeController.php index 2484069..183e601 100644 --- a/src/Controller/HomeController.php +++ b/src/Controller/HomeController.php @@ -42,7 +42,7 @@ class HomeController extends AbstractController return $this->container->get(Twig::class)->render( $response, 'about.html.twig', [ - 'email' => $this->container->get('misc')['email'] + 'email' => $this->container->get('intro')['email'] ] ); } diff --git a/templates/about.html.twig b/templates/about.html.twig index fa4b756..bcd5386 100644 --- a/templates/about.html.twig +++ b/templates/about.html.twig @@ -33,7 +33,7 @@
- Si vous avez n'importe quel retours à faire sur mon site web que ça soit en positif ou en négatif ou que vous ayez des questions, n'hésitez pas à me contacter soit en utilisant le formulaire de contact ou en me contactant à bonjour@matthieubessat.fr j'essairaie de faire le maximum pour répondre à vos remarques et questions ! + Si vous avez n'importe quel retours à faire sur mon site web que ça soit en positif ou en négatif ou que vous ayez des questions, n'hésitez pas à me contacter soit en utilisant le formulaire de contact ou en me contactant à {{ email }} j'essairai de faire le maximum pour répondre à vos remarques et questions !
{% endif %} {% if getLocale() == 'en' %} @@ -63,7 +63,7 @@- Feel free to contact me if you have any remarks, issues or feedbacks by using the contact form or mail to bonjour@matthieubessat.fr. + Feel free to contact me if you have any remarks, issues or feedbacks by using the contact form or mail to {{ email }}.
{% endif %} diff --git a/templates/home/home.html.twig b/templates/home/home.html.twig index fc66e58..d237af7 100644 --- a/templates/home/home.html.twig +++ b/templates/home/home.html.twig @@ -1,4 +1,6 @@ {% extends 'layout.html.twig' %} +{% block title %}{{ getLocalizedStr('page.portfolio') }} - {% endblock %} +{% block description %}{{ getLocalizedStr('page.description') }}{% endblock %} {% block content %} {% include('home/profile.html.twig') %} {% include('home/intro.html.twig') %} diff --git a/templates/home/intro.html.twig b/templates/home/intro.html.twig index ebed79b..b307be8 100644 --- a/templates/home/intro.html.twig +++ b/templates/home/intro.html.twig @@ -5,9 +5,7 @@{{ getLocalizedStr('intro.description') | formatMd | raw }} -
diff --git a/templates/layout.html.twig b/templates/layout.html.twig index 10563e2..cb55b97 100644 --- a/templates/layout.html.twig +++ b/templates/layout.html.twig @@ -10,13 +10,15 @@ - - + + + - +