diff --git a/app/routes/index.py b/app/routes/index.py index 517485d..a435e59 100644 --- a/app/routes/index.py +++ b/app/routes/index.py @@ -5,7 +5,7 @@ from app.utils.render import render @app.route('/') def index(): - return render('index.html') + return render('index.html', styles=["+css/homepage.css"]) @app.errorhandler(404) diff --git a/app/static/css/global.css b/app/static/css/global.css index 0a84f86..1485828 100644 --- a/app/static/css/global.css +++ b/app/static/css/global.css @@ -163,6 +163,7 @@ input[type="submit"]:focus { background: var(--links); color: var(--warn-text); border-radius: 1px; + overflow: hidden; } .skip-to-content-link:focus { transform: translateY(0%); diff --git a/app/static/css/homepage.css b/app/static/css/homepage.css index c0d487e..9a9c93c 100644 --- a/app/static/css/homepage.css +++ b/app/static/css/homepage.css @@ -1,135 +1,100 @@ -.home-title { - margin: 20px 0; - padding: 10px 5%; - background: #bf1c11; - box-shadow: 0 2px 2px rgba(0,0,0,.3); - border-top: 10px solid #ab170c; -} -.home-title h1 { - margin-top: 0; - color: #ffffff; - border-color: #ffffff; -} -.home-title p { - margin-bottom: 0; - text-align: justify; - color: #ffffff; -} -.home-title a { - color: inherit; - text-decoration: underline; -} -.home-pinned-content > div { - display: flex; - justify-content: space-between; -} -.home-pinned-content h2 { - display: block; - margin: 5px 0; - font-size: 18px; - font-family: NotoSans; - font-weight: 200; - line-height: 20px; -} -.home-pinned-content a { - display: block; -} -.home-pinned-content a:hover img, -.home-pinned-content a:focus img { - filter: blur(3px); -} -.home-pinned-content a:hover div, -.home-pinned-content a:focus div { - padding: 200px 5% 10px 5%; - background-image: linear-gradient(180deg,transparent 0,rgba(0,0,0,.7)40px,rgba(0,0,0,.8)); -} -.home-pinned-content img { - width: 100%; - filter: blur(0px); -} -.home-pinned-content article { - flex-grow: 1; - margin: 0 1px; - padding: 0; - position: relative; - max-width: 250px; - overflow: hidden; -} -.home-pinned-content article div { - position: absolute; - bottom: 0; - z-index: 3; +.home-pinned-content { width: 90%; - margin: 0; - padding: 30px 5% 10px 5%; - color: #ffffff; - text-shadow: 1px 1px 0 rgba(0,0,0,.6); - background-image: linear-gradient(180deg,transparent 0,rgba(0,0,0,.7)40px,rgba(0,0,0,.8)); + display: grid; + grid-template-areas: 'banner news''welcome news''shout news''projects projects'; + grid-template-rows: auto auto minmax(200px,1fr)auto; + grid-template-columns: 4fr 3fr; } -.home-articles { +.home-pinned-content > * { + margin: 10px 20px; +} +.home-pinned-content > * h1 { + font-size: 18px; +} +@media screen and (max-width:1449px) { + .home-pinned-content { + width: 97%; + } +} +@media screen and (max-width:1199px) { + .home-pinned-content { + width: 100%; + grid-template-areas: 'welcome''banner''news''shout''projects'; + grid-template-rows: auto; + grid-template-columns: 1fr; + } +} +.home-banner { + grid-area: banner; + text-align: center; +} +.home-banner img { + max-width: 100%; +} +.home-welcome { + grid-area: welcome; display: flex; - justify-content: space-between; + flex-direction: row; + flex-wrap: wrap; + justify-content: center; } -.home-articles > div { +.home-welcome h1 { + width: 100%; + margin-bottom: 0; +} +.home-welcome ul { + padding-left: 20px; +} +.home-welcome div { flex-grow: 1; - max-width: 48%; } -.home-articles h1 { - display: flex; - justify-content: space-between; - align-items: center; -} -.home-articles h1 a { - padding: 0; - font-family: NotoSans; - font-size: 16px; - font-weight: 400; - color: #234d5f; -} -.home-articles h1 a:hover, -.home-articles h1 a:focus { - padding-right: 10px; -} -.home-articles p { +.home-welcome h2 { margin: 5px 0; - text-align: justify; - color: #808080; } -.home-articles article { - padding: 10px; - margin: 10px 0; +.home-news { + grid-area: news; +} +.home-news ul { + padding: 0; +} +.home-news li { display: flex; + flex-direction: row; align-items: center; - background: #ffffff; - border: 1px solid rgba(0,0,0,.2); + flex-wrap: nowrap; + padding: 10px 0; + border-bottom: var(--hr-border); } -.home-articles article > img { - float: left; - margin-right: 10px; - flex-shrink: 0; +.home-news li > a { + align-self: baseline; } -.home-articles article > img.screeshot { - width: 128px; - height: 64px; +.home-news li img { + max-width: 100px; + max-height: 100px; + margin-right: 8px; } -.home-articles article > div { - flex-shrink: 1; -} -.home-articles article h3 { +.home-news li h3 { margin: 0; - color: #424242; - font-weight: normal; + font-size: 16px; + font-weight: bold; + font-family: Cantarell; } -.home-articles article a:hover, -.home-articles article a:focus { - text-decoration: underline; +.home-news li .date { + margin: 4px 0 10px 0; } -.home-articles .metadata { - margin: 0; - color: #22292c; +.home-news li div { + font-size: 13px; + line-height: 150%; } -.home-articles .metadata a { - color: #22292c; - font-weight: 400; - font-style: italic; +@media screen and (max-width:499px) { + .home-news li { + flex-direction: column; + align-items: start; + } +} +.home-shoutbox { + grid-area: shout; +} +.home-projects { + grid-area: projects; } \ No newline at end of file diff --git a/app/static/less/global.less b/app/static/less/global.less index b175aa0..74dac5d 100644 --- a/app/static/less/global.less +++ b/app/static/less/global.less @@ -161,6 +161,7 @@ button, .button, input[type="button"], input[type="submit"] { background: var(--links); color: var(--warn-text); border-radius: 1px; + overflow: hidden; &:focus { transform: translateY(0%); diff --git a/app/static/less/homepage.less b/app/static/less/homepage.less index 37eda35..5e7889c 100644 --- a/app/static/less/homepage.less +++ b/app/static/less/homepage.less @@ -1,140 +1,131 @@ -/* - home-title -*/ +@import "vars"; -.home-title { - margin: 20px 0; padding: 10px 5%; - background: #bf1c11; box-shadow: 0 2px 2px rgba(0, 0, 0, .3); - border-top: 10px solid #ab170c; +.home-pinned-content { + width: 90%; + display: grid; + grid-template-areas: + 'banner news' + 'welcome news' + 'shout news' + 'projects projects'; + grid-template-rows: auto auto minmax(200px, 1fr) auto; + grid-template-columns: 4fr 3fr; - h1 { - margin-top: 0; - color: #ffffff; border-color: #ffffff; + @media screen and (max-width: @normal) { + width: 97%; } - p { - margin-bottom: 0; text-align: justify; - color: #ffffff; + @media screen and (max-width: @small) { + width: 100%; + grid-template-areas: + 'welcome' + 'banner' + 'news' + 'shout' + 'projects'; + grid-template-rows: auto; + grid-template-columns: 1fr; } - a { - color: inherit; text-decoration: underline; + & > * { + //border: 1px solid red; + margin: 10px 20px; + + h1 { + font-size: 18px; + } } } +.home-banner { + grid-area: banner; + text-align: center; + + img { + max-width: 100%; + } +} -/* - pinned-content -*/ +.home-welcome { + grid-area: welcome; -.home-pinned-content { - & > div { - display: flex; justify-content: space-between; + display: flex; + flex-direction: row; + flex-wrap: wrap; + + justify-content: center; + + h1 { + width: 100%; + margin-bottom: 0; + } + + ul { + padding-left: 20px; + } + + div { + flex-grow: 1; } h2 { - display: block; margin: 5px 0; - font-size: 18px; font-family: NotoSans; font-weight: 200; - line-height: 20px; - } - - a { - display: block; - - &:hover, &:focus { - img { - filter: blur(3px); - } - div { - padding: 200px 5% 10px 5%; - background-image: linear-gradient(180deg,transparent 0,rgba(0,0,0,.7) 40px,rgba(0,0,0,.8)); - } - } - } - - img { - width: 100%; filter: blur(0px); - } - - article { - flex-grow: 1; margin: 0 1px; padding: 0; - position: relative; - max-width: 250px; overflow: hidden; - - div { - position: absolute; bottom: 0; z-index: 3; - width: 90%; margin: 0; - padding: 30px 5% 10px 5%; - color: #ffffff; text-shadow: 1px 1px 0 rgba(0,0,0,.6); - background-image: linear-gradient(180deg,transparent 0,rgba(0,0,0,.7) 40px,rgba(0,0,0,.8)); - } + margin: 5px 0; } } +.home-news { + grid-area: news; -/* - home-articles -*/ - -.home-articles { - display: flex; justify-content: space-between; - - & > div { - flex-grow: 1; max-width: 48%; + ul { + padding: 0; } - h1 { - display: flex; justify-content: space-between; align-items: center; + li { + display: flex; + flex-direction: row; + align-items: center; + flex-wrap: nowrap; + padding: 10px 0; - a { - padding: 0; - font-family: NotoSans; font-size: 16px; - font-weight: 400; color: /*#015078*/ /*#bf1c11*/ #234d5f; + border-bottom: var(--hr-border); - &:hover, &:focus { - padding-right: 10px; - } - } - } - - p { - margin: 5px 0; - text-align: justify; - color: #808080; - } - - article { - padding: 10px; margin: 10px 0; display: flex; align-items: center; - background: #ffffff; border: 1px solid rgba(0, 0, 0, .2); - - & > img { - float: left; margin-right: 10px; flex-shrink: 0; - - &.screeshot { - width: 128px; height: 64px; - } + @media screen and (max-width: @micro) { + flex-direction: column; + align-items: start; } - & > div { - flex-shrink: 1; + & > a { + align-self: baseline; + } + + img { + max-width: 100px; + max-height: 100px; + margin-right: 8px; } h3 { margin: 0; - color: #424242; font-weight: normal; + font-size: 16px; + font-weight: bold; + font-family: Cantarell; } - a:hover, a:focus { - text-decoration: underline; + .date { + margin: 4px 0 10px 0; } - } - - .metadata { - margin: 0; - color: #22292c; - - a { - color: #22292c; font-weight: 400; font-style: italic; + + div { + font-size: 13px; + line-height: 150%; } } } + +.home-shoutbox { + grid-area: shout; +} + +.home-projects { + grid-area: projects; +} diff --git a/app/templates/base/base.html b/app/templates/base/base.html index 6f72252..1c8f1ad 100644 --- a/app/templates/base/base.html +++ b/app/templates/base/base.html @@ -14,8 +14,8 @@ {% include "base/flash.html" %} -
{% block content %} + {% endblock %} {% include "base/footer.html" %} diff --git a/app/templates/index.html b/app/templates/index.html index 0403f75..f86738a 100644 --- a/app/templates/index.html +++ b/app/templates/index.html @@ -8,11 +8,114 @@ {% block content %}Planète Casio est la communauté française de référence pour toutes les calculatrices Casio. + Apprenez à utiliser votre machine, téléchargez et partagez des programmes, ou initiez-vous à l'informatique sur le forum. + Ou bien venez développer des jeux avec nous pour passer le temps !
+contact (at) planet-casio (dot) com
.Publié par Shadow15510 le
+ La deuxième partie du tutoriel du mercredi sur les collisions est maintenant disponible en vidéo. +Publié par Lephenixnoir le
+ Les programmes sont profonds et avec un peu de chance les tests aussi !Publié par Lephenixnoir le
+ Vive la renardocratie !Publié par Critor le
+ Compte-rendu de notre visite au sein même des locaux de Casio France à Massy en mai 2023, passage par leur musée privé inclus.Publié par Slyvtt le
+ Aujourd'hui sonne la fin du CPC#30 avec à la clef 6 participations pour vous donner du fun. Graphs Monochromes et Couleurs sont à la fête avec des programmes en Basic et des Addins.Publié par Shadow15510 le
+Publié par Lephenixnoir le
+ Le concours CPC revient en force et c'est le moment de se plonger (métaphoriquement et littéralement !) dans le game design fin et la programmation sportive. Une semaine pour les programmer tous, et dans les profondeurs les li— oups !