diff --git a/assets/sass/_theme/_configuration.sass b/assets/sass/_theme/_configuration.sass index 4cee973588942fef4a8cdf79bf0060813608deba..b94b3c288593e81971eee821ca6fe63327c0e41c 100644 --- a/assets/sass/_theme/_configuration.sass +++ b/assets/sass/_theme/_configuration.sass @@ -125,7 +125,6 @@ $btn-padding-x: px2rem(20) !default $btn-padding-y: px2rem(13) !default $btn-border-radius: px2rem(4) !default - // Spacing $spacing0: px2rem(12) !default $spacing1: px2rem(24) !default @@ -135,7 +134,10 @@ $spacing4: px2rem(128) !default $spacing5: px2rem(256) !default $spacing-section-y: px2rem(36) !default -// TODO: choisir entre margin top / bottom --> https://matthewjamestaylor.com/css-margin-top-vs-bottom +// Form +$form-btn-color: $color-background !default +$form-btn-background-color: $color-accent !default +$form-input-border-radius: 4px !default // Grid $grid-gutter: px2rem(64) !default @@ -151,7 +153,7 @@ $zindex-toc: 60 !default $zindex-toc-cta: 49 !default $zindex-modal: 72 !default $zindex-aside: 48 !default -$zindex-footer: 70 !default +$zindex-footer: 50 !default // Header $header-color: $color-text !default @@ -199,34 +201,35 @@ $breadcrumb-icon-color: $color-text-alt !default // Icons $icons: () -$icons: map-merge($icons, ("toc": "\e918")) -$icons: map-merge($icons, ("search": "\e916")) -$icons: map-merge($icons, ("play": "\e910")) -$icons: map-merge($icons, ("pause": "\e90f")) -$icons: map-merge($icons, ("eye": "\e901")) -$icons: map-merge($icons, ("download": "\e900")) -$icons: map-merge($icons, ("close": "\e90e")) -$icons: map-merge($icons, ("burger": "\e902")) -$icons: map-merge($icons, ("burger-close": "\e905")) +$icons: map-merge($icons, ("arrow": "\ff01")) +$icons: map-merge($icons, ("arrow-first": "\e906")) +$icons: map-merge($icons, ("arrow-last": "\e907")) +$icons: map-merge($icons, ("arrow-left": "\ff02")) $icons: map-merge($icons, ("arrow-next": "\e909")) $icons: map-merge($icons, ("arrow-previous": "\e908")) -$icons: map-merge($icons, ("arrow-last": "\e907")) -$icons: map-merge($icons, ("arrow-first": "\e906")) $icons: map-merge($icons, ("arrow-right": "\ff00")) +$icons: map-merge($icons, ("burger": "\e902")) +$icons: map-merge($icons, ("burger-close": "\e905")) $icons: map-merge($icons, ("caret": "\e904")) $icons: map-merge($icons, ("caret-top": "\e914")) $icons: map-merge($icons, ("caret-right": "\e913")) $icons: map-merge($icons, ("caret-left": "\e912")) $icons: map-merge($icons, ("caret-bottom": "\e911")) -$icons: map-merge($icons, ("list-hyphen": "\e917")) +$icons: map-merge($icons, ("close": "\e90e")) +$icons: map-merge($icons, ("download": "\e900")) +$icons: map-merge($icons, ("eye": "\e901")) +$icons: map-merge($icons, ("facebook": "\e90b")) +$icons: map-merge($icons, ("globe": "\ff10")) +$icons: map-merge($icons, ("instagram": "\e90a")) $icons: map-merge($icons, ("link-blank": "\e903")) -$icons: map-merge($icons, ("twitter": "\e90d")) -$icons: map-merge($icons, ("social": "\e915")) $icons: map-merge($icons, ("linkedin": "\e90c")) -$icons: map-merge($icons, ("instagram": "\e90a")) -$icons: map-merge($icons, ("facebook": "\e90b")) -$icons: map-merge($icons, ("arrow": "\ff01")) -$icons: map-merge($icons, ("arrow-left": "\ff02")) +$icons: map-merge($icons, ("list-hyphen": "\e917")) +$icons: map-merge($icons, ("pause": "\e90f")) +$icons: map-merge($icons, ("play": "\e910")) +$icons: map-merge($icons, ("search": "\e916")) +$icons: map-merge($icons, ("social": "\e915")) +$icons: map-merge($icons, ("toc": "\e918")) +$icons: map-merge($icons, ("twitter": "\e90d")) // Breakpoints // TODO: réécrire en sass les mixins bootstrap @@ -246,6 +249,7 @@ $toc-title-font-family: $meta-font-family !default $toc-title-font-size: $meta-size !default $toc-title-font-size-desktop: $meta-size-desktop !default $toc-sticky-transition: 0.4s +$toc-overlay-color: $body-overlay-color !default // Table $table-head-font-size: $h4-size !default diff --git a/assets/sass/_theme/_utils.sass b/assets/sass/_theme/_utils.sass index 690dca386eb5dc795833ec7469b5aa7a17c66ec5..35172dc770443a9c79dc953827628ec2062e45a2 100644 --- a/assets/sass/_theme/_utils.sass +++ b/assets/sass/_theme/_utils.sass @@ -39,13 +39,16 @@ @function half($size) @return calc(#{$size} / 2) -@mixin link($color: $link-color) +@mixin link($color: $link-color, $unhover_decorated: true) color: $color - text-decoration-color: rgba($color, 0.3) text-decoration-line: underline text-decoration-thickness: 1px text-underline-offset: $link-underline-offset transition: text-decoration-color .3s ease + @if $unhover_decorated + text-decoration-color: rgba($color, 0.3) + @else + text-decoration-color: transparent &:hover text-decoration-color: rgba($color, 1) text-decoration-thickness: 1px @@ -175,13 +178,13 @@ flex-direction: column .media @include handle-svg-fit - @if $article-media-aspect-ratio - @include aspect-ratio($article-media-aspect-ratio, 'img', $background) margin-bottom: $spacing1 order: -1 overflow: hidden img object-fit: cover + @if $article-media-aspect-ratio + aspect-ratio: $article-media-aspect-ratio h2, h3 @include h3 a @@ -196,6 +199,14 @@ color: $color-text-alt display: block +@mixin post-time-author-flex + .post-meta + display: flex + flex-wrap: wrap + .post-author p::before + content: ' • ' + + @mixin list-section @include list-reset > li @@ -357,6 +368,15 @@ @include media-breakpoint-up(desktop) &:before padding-right: 0 + @include media-breakpoint-down(desktop) + position: relative + background: $color-background + &::before + background: transparent + p + display: block + background: transparent + position: relative &:hover figcaption p diff --git a/assets/sass/_theme/blocks/chapter.sass b/assets/sass/_theme/blocks/chapter.sass index 059d9c45adf26d115f5f967177ed2bc595520d4d..f4453c6da51e42fd89ac7ab27365dcad456be773 100644 --- a/assets/sass/_theme/blocks/chapter.sass +++ b/assets/sass/_theme/blocks/chapter.sass @@ -69,6 +69,8 @@ width: col(4) margin-left: col-offset(1) margin-bottom: 0 + img + margin-left: auto @include in-page-with-or-without-sidebar h2, h3 @include h2 diff --git a/assets/sass/_theme/blocks/datatable.sass b/assets/sass/_theme/blocks/datatable.sass index f4f4270746f9fd04dbdafbe005899c8b30951513..e3eb5c243aa22ac9c4cc5aa6daa7c52244ca8cb2 100644 --- a/assets/sass/_theme/blocks/datatable.sass +++ b/assets/sass/_theme/blocks/datatable.sass @@ -3,3 +3,7 @@ white-space: nowrap caption color: $color-text-alt + @include media-breakpoint-up(desktop) + .top + p + width: col(8) diff --git a/assets/sass/_theme/blocks/image.sass b/assets/sass/_theme/blocks/image.sass index 4e186ab582b19c5199b226b0d4ed61095e9e5884..74c3817e018f973c74712b448ae5246befa3d0f1 100644 --- a/assets/sass/_theme/blocks/image.sass +++ b/assets/sass/_theme/blocks/image.sass @@ -33,7 +33,7 @@ // max-height: calc(100vh - var(--header-height)) width: auto max-width: 100% - &.image-portrait + &.image-portrait, &.image-square .block-content position: relative .top @@ -56,9 +56,13 @@ display: block text-align: right &.image-landscape + picture - margin-left: 0 - margin-right: 0 + margin-left: -$grid-gutter + margin-right: -$grid-gutter + @media screen and (min-width: 1400px) + margin-left: 0 + margin-right: 0 figcaption display: flex justify-content: space-between diff --git a/assets/sass/_theme/blocks/pages.sass b/assets/sass/_theme/blocks/pages.sass index 851d2b3f590676412d1cff3315d9ff1826301f38..328a64b3ca5b51ce03d53281f865f50248d4fc82 100644 --- a/assets/sass/_theme/blocks/pages.sass +++ b/assets/sass/_theme/blocks/pages.sass @@ -137,7 +137,6 @@ + li margin-top: $spacing0 a - @include meta @include icon(arrow, before, true) padding-right: $spacing0 @include hover-translate-icon(before, 5) diff --git a/assets/sass/_theme/blocks/partners.sass b/assets/sass/_theme/blocks/partners.sass index 692a80b49e69f180a21d5f1f8e83956aa7df09cb..68eb9842bdc6b17e96b6be9c242725a6b3cb673f 100644 --- a/assets/sass/_theme/blocks/partners.sass +++ b/assets/sass/_theme/blocks/partners.sass @@ -5,5 +5,13 @@ max-width: col(8) @include in-page-with-sidebar .organizations + @include grid(2, md) + @include grid(3, lg) @include grid(4, xl) grid-column-gap: half($grid-gutter) !important + .organization + a[target="_blank"] + @include stretched-link(before) + @include icon(link-blank, after, true) + position: relative + diff --git a/assets/sass/_theme/blocks/posts.sass b/assets/sass/_theme/blocks/posts.sass index 0fe62a5ac282abaa7757ecca8cf6523f1522acba..50e9fd89f9cffd317c74432a2f885b02ee038ad5 100644 --- a/assets/sass/_theme/blocks/posts.sass +++ b/assets/sass/_theme/blocks/posts.sass @@ -17,6 +17,8 @@ margin-top: $spacing0 .media margin-top: 0 + @include post-time-author-flex + &--grid @include media-breakpoint-down(desktop) article + article @@ -40,25 +42,21 @@ article position: relative padding-bottom: half($spacing3) - // display: flex - // flex-direction: row + article margin-top: half($spacing3) .post-content display: flex flex-direction: column - // width: 70% + padding-top: $spacing0 h3 margin-bottom: 0 - time - margin-top: half($spacing0) - order: 2 - p + .post-categories + margin-bottom: 0 + p[itemprop="articleBody"] margin-top: half($spacing0) - order: 4 .media - display: none - order: 3 + order: -1 + max-width: 33% @include in-page-with-sidebar article @@ -88,7 +86,7 @@ margin-left: $grid-gutter + article margin-top: $spacing3 - time + .post-meta position: absolute right: 0 top: 0 @@ -131,19 +129,24 @@ grid-column: 1 / 7 .post-categories grid-column: 1 / 7 - time + .post-meta grid-row: 1 grid-column: 7 / 9 text-align: right order: 2 + display: block margin-top: 0 - p + .post-author p::before + content: '' + p[itemprop="articleBody"] grid-column: 1 / 7 order: 3 @include media-breakpoint-down(desktop) .list border-top: 1px solid $color-border + p[itemprop="articleBody"] + margin-top: 0 @include media-breakpoint-up(desktop) .highlight diff --git a/assets/sass/_theme/blocks/video.sass b/assets/sass/_theme/blocks/video.sass index 4052c1745aa36aaced47235e3fefa4cdc276b6db..79806ff4e8f783efc00c7388c77d6a5228f030d2 100644 --- a/assets/sass/_theme/blocks/video.sass +++ b/assets/sass/_theme/blocks/video.sass @@ -6,10 +6,11 @@ min-height: 400px iframe background: black - @include in-page-without-sidebar - .transcription - width: col(7) - margin-left: auto + @include media-breakpoint-up(desktop) + @include in-page-without-sidebar + .transcription + width: col(7) + margin-left: auto @include media-breakpoint-down(desktop) .video margin-left: half(-$grid-gutter-sm) diff --git a/assets/sass/_theme/design-system/form.sass b/assets/sass/_theme/design-system/form.sass new file mode 100644 index 0000000000000000000000000000000000000000..9c25792eb4bb904d834fc7bebd62f701bc9ad184 --- /dev/null +++ b/assets/sass/_theme/design-system/form.sass @@ -0,0 +1,27 @@ +form + fieldset + border: none + padding: 0 + margin-bottom: $spacing1 + label + @include meta + .control--radio + @include body-text + + label + margin-left: half($spacing0) + @include body-text + .radio + .radio + margin-left: $spacing0 + input[type="text"], input[type="search"], input[type="email"], input[type="tel"], input[type="password"] + @include body-text + border: 1px solid rgba(0, 0, 0, 0.3) + border-radius: $form-input-border-radius + padding: half($spacing0) + input[type="submit"], button + @include button-reset + @include btn + @include meta + background: $form-btn-background-color + color: $form-btn-color + label + input + margin-bottom: $spacing3 \ No newline at end of file diff --git a/assets/sass/_theme/design-system/header.sass b/assets/sass/_theme/design-system/header.sass index 18d59951a754b18f8247a033a3168446be60c562..7b19cb5323c6b63701c1e9e600cc35e6a53c4438 100644 --- a/assets/sass/_theme/design-system/header.sass +++ b/assets/sass/_theme/design-system/header.sass @@ -24,8 +24,6 @@ header#document-header a:focus, a:active color: inherit - a:not(:hover) - text-decoration-color: transparent span color: $header-sticky-color @if $header-sticky-invert-logo @@ -50,6 +48,7 @@ header#document-header html.has-menu-opened & nav padding-bottom: 0 + // TODO : Est-ce au bon endroit ? body &::after @@ -63,14 +62,18 @@ body z-index: $zindex-body-overlay html.has-menu-opened &, - html.has-offcanvas-opened &, html.has-modal-opened & + html.has-offcanvas-opened & + overflow: hidden + height: 100% + min-height: -webkit-fill-available &::after display: block opacity: 1 pointer-events: inherit html.has-offcanvas-opened & &::after + background-color: $toc-overlay-color z-index: $zindex-header + 1 html.has-modal-opened & &::after diff --git a/assets/sass/_theme/design-system/hero.sass b/assets/sass/_theme/design-system/hero.sass index 5162b4768c1b431718d4b73091edf2c75bf17992..28833f74a895687e32394e82c660311c4b10ce8f 100644 --- a/assets/sass/_theme/design-system/hero.sass +++ b/assets/sass/_theme/design-system/hero.sass @@ -13,7 +13,6 @@ min-height: $hero-height-desktop *:focus-visible outline-color: $hero-color - .content align-items: start padding-top: $spacing3 @@ -35,7 +34,8 @@ padding-top: 0 .content + .breadcrumb-nav margin-top: $spacing3 - + &--no-margin + margin-bottom: 0 @include media-breakpoint-down(desktop) .breadcrumb-nav margin-left: half(-$grid-gutter-sm) @@ -48,9 +48,10 @@ > h1, > hgroup margin-bottom: $spacing2 &--image-landscape - figure - margin-left: half(-$grid-gutter-sm) - margin-right: half(-$grid-gutter-sm) + .content + figure + margin-left: half(-$grid-gutter-sm) + margin-right: half(-$grid-gutter-sm) &--image-portrait, &--image-square .container display: flex @@ -84,4 +85,6 @@ width: col(8) figure width: col(3) + + .breadcrumb-container + margin-top: 0 diff --git a/assets/sass/_theme/design-system/nav.sass b/assets/sass/_theme/design-system/nav.sass index 44755c444ca2fab33f42e8f4df9cea512c24722e..104527e036e960a8f95ffec4601eb789fdc6336f 100644 --- a/assets/sass/_theme/design-system/nav.sass +++ b/assets/sass/_theme/design-system/nav.sass @@ -12,12 +12,12 @@ display: none flex-basis: 100vw margin-top: $spacing1 - max-height: calc(100vh - var(--header-height) - #{$spacing1}) + max-height: calc(100vh - var(--header-height) - #{$spacing4}) overflow: auto a, a:focus, a:active - @include link($header-color) + @include link($header-color, false) span color: $header-color ul @@ -30,8 +30,8 @@ cursor: pointer transition: text-decoration 0.15s display: block - &:not(:hover) - text-decoration-color: transparent + // &:not(:hover) + // text-decoration-color: transparent &[aria-expanded] @include icon(caret, after) margin-left: px2rem(5) @@ -53,8 +53,11 @@ @include media-breakpoint-up(desktop) padding: $spacing1 position: absolute + max-height: calc(100vh - var(--header-height)) + max-height: calc(-webkit-fill-available - var(--header-height)) + overflow: auto a - color: $header-dropdown-color + color: $header-dropdown-color &:hover, &:focus text-decoration-color: $header-dropdown-color diff --git a/assets/sass/_theme/design-system/table.sass b/assets/sass/_theme/design-system/table.sass index 98f688dab045b6250508d26acb3b7d2304cfa899..f4fdd19732c0a98188b0b53709510ea65eb9a777 100644 --- a/assets/sass/_theme/design-system/table.sass +++ b/assets/sass/_theme/design-system/table.sass @@ -4,6 +4,7 @@ table vertical-align: top width: 100% text-align: left + empty-cells: hide caption @include meta padding: $spacing0 0 @@ -29,10 +30,11 @@ table font-size: $table-body-size @include media-breakpoint-up(desktop) font-size: $table-body-size-desktop - tr - border-bottom: 1px solid $color-border - tr:first-child + td, + th border-top: 1px solid $color-border + &:empty + border-top: none .table-responsive overflow-x: auto diff --git a/assets/sass/_theme/design-system/typography.sass b/assets/sass/_theme/design-system/typography.sass index d80a093d7a250add3c87f8bacd2b106e4eacae4e..b85b2be26a50b0650259833c7dca1431154357d7 100644 --- a/assets/sass/_theme/design-system/typography.sass +++ b/assets/sass/_theme/design-system/typography.sass @@ -118,12 +118,16 @@ h2, .h2 .lead @include lead -.p, -.li +@mixin body-text + font-family: $body-font-family font-size: $body-size @include media-breakpoint-up(desktop) font-size: $body-size-desktop +.p, +.li + @include body-text + @mixin meta font-family: $meta-font-family font-size: $meta-size @@ -220,6 +224,7 @@ a, overflow-wrap: break-word &[target="_blank"]:not(.icon) @include icon(link-blank, after, true) + vertical-align: baseline &[href^="mailto"] &::after content: none diff --git a/assets/sass/_theme/hugo-osuny.sass b/assets/sass/_theme/hugo-osuny.sass index 6878b684cd7863407d37b590c0f83338e68ab35d..6d508a41e030b7eed0932e7f8fc628dc3cca5a42 100644 --- a/assets/sass/_theme/hugo-osuny.sass +++ b/assets/sass/_theme/hugo-osuny.sass @@ -21,6 +21,7 @@ @import "design-system/button" @import "design-system/contacts" @import "design-system/footer" +@import "design-system/form" @import "design-system/header" @import "design-system/hero" @import "design-system/image" diff --git a/assets/sass/_theme/sections/diplomas.sass b/assets/sass/_theme/sections/diplomas.sass index c5b2d68c5dd83fbc8aa7a5e8080d1885869f8763..45cddaa3979ee283544df60b9184f0d9db053eed 100644 --- a/assets/sass/_theme/sections/diplomas.sass +++ b/assets/sass/_theme/sections/diplomas.sass @@ -38,14 +38,30 @@ ul.diplomas @include media-breakpoint-down(desktop) margin-top: $spacing1 li - @include h3 display: block border-bottom: 0 padding: 0 - + li - margin-top: $spacing1 + + li, > ol + margin-top: $spacing0 + @include media-breakpoint-up(sm) + margin-top: $spacing1 a:hover color: $color-accent + ol li a + @include inherit-text + @include icon(list-hyphen, before) + margin-left: 1px + margin-right: half($spacing0) + margin-top: 6px + @include media-breakpoint-up(sm) + margin-right: $spacing0 + @include media-breakpoint-up(md) + margin-top: 8px + display: flex + ol + margin-left: $spacing1 + > li a + @include h3 .program div @@ -149,4 +165,17 @@ ul.diplomas ol.programs li @include grid(2, desktop) - align-items: start \ No newline at end of file + align-items: start + position: relative + a + @include stretched-link(before) + position: initial + @include media-breakpoint-down(desktop) + margin-right: $spacing0 + &::after + align-self: center + bottom: unset + position: relative + margin-left: half($spacing0) + + p + margin-top: $spacing0 \ No newline at end of file diff --git a/assets/sass/_theme/sections/organizations.sass b/assets/sass/_theme/sections/organizations.sass index 19b8db695408f11ecc135b2b30ebb8a4d8521b01..c732d67c15d78c203c922c6126a8180edc2c1a7f 100644 --- a/assets/sass/_theme/sections/organizations.sass +++ b/assets/sass/_theme/sections/organizations.sass @@ -1,23 +1,31 @@ .organization @include article position: relative - h2 + h2, h3 @include meta a @include stretched-link text-decoration: none + display: block .media background: $color-background-alt padding: $spacing1 margin-bottom: half($spacing0) picture - aspect-ratio: 1/1 + aspect-ratio: 1 display: block img width: 100% height: 100% object-fit: contain object-position: center + &:empty + position: relative + &::after + content: '' + display: block + padding-bottom: 100% + .organizations max-width: 100% diff --git a/assets/sass/_theme/sections/persons.sass b/assets/sass/_theme/sections/persons.sass index 87709e0f3898dfa940d73c12e5fcfe4be58c4bae..2553546c8aa292139787f4369abff2446df8da02 100644 --- a/assets/sass/_theme/sections/persons.sass +++ b/assets/sass/_theme/sections/persons.sass @@ -63,6 +63,7 @@ order: 2 margin-left: $spacing0 margin-bottom: 0 + width: 100px @include media-breakpoint-up(desktop) @include in-page-without-sidebar text-align: center @@ -169,6 +170,11 @@ ol.persons--list margin-left: auto transform: translateY(100px) margin-top: calc(#{$spacing1} - 100px) + @include media-breakpoint-down(sm) + margin-bottom: $spacing4 + .avatar + transform: translateY(18vw) + margin-top: calc(#{$spacing1} - 18vw) @include media-breakpoint-up(desktop) .content align-items: center @@ -186,8 +192,20 @@ ol.persons--list @include small .blocks margin-top: $spacing3 - .person-programs + .person-programs, + .person-objects, + .person-publications margin-top: $spacing4 + .publication + border-bottom: 1px solid $color-border + padding-bottom: $spacing1 + padding-top: $spacing0 + .title + margin-bottom: calc(#{$spacing0}/2) + .ref + color: $color-text-alt + margin-top: 0 + @include small @include media-breakpoint-down(lg) .roles margin-top: $spacing2 diff --git a/assets/sass/_theme/sections/posts.sass b/assets/sass/_theme/sections/posts.sass index cbf241a8a7dc8909b72717475a7cdc564ac7648e..ad38b5a8fc56f240c04a1ae0fac2e2f0579930cc 100644 --- a/assets/sass/_theme/sections/posts.sass +++ b/assets/sass/_theme/sections/posts.sass @@ -2,6 +2,8 @@ @include article($post-media-background) time color: $post-time-color + display: inline-block + vertical-align: middle .post-categories @include meta margin-top: $spacing0 @@ -15,12 +17,14 @@ @include link($color-accent) li margin: 0 + .post-author + @include meta + color: $color-text-alt .posts__section, .authors__term, .categories__term, .persons__page - .posts--list article border-bottom: 1px solid $color-border @@ -34,7 +38,7 @@ @include grid margin-bottom: $spacing3 padding-bottom: $spacing3 - div:not(.media) + .post-content grid-column: 4/13 @include media-breakpoint-down(desktop) flex: 1 @@ -52,19 +56,25 @@ &, img aspect-ratio: auto @include media-breakpoint-up(desktop) - time - font-size: $h5-size + .post-meta position: absolute right: 0 + text-align: right top: 0 - div:not(.media) + time + font-size: $h5-size + .post-content h2, h3, - p + > p max-width: col(6, 9) .posts--grid @include grid(1) @include grid(2, desktop) @include grid($posts-grid-columns, xxl) + .post + @include post-time-author-flex + .post-meta + margin-top: $spacing0 .posts__page @include media-breakpoint-down(desktop) diff --git a/assets/sass/_theme/sections/programs.sass b/assets/sass/_theme/sections/programs.sass index cee274383e3067218ae558e0e20fd35185d16c94..076fa264a174891e236ea66c3c96d7c6f4b4bb11 100644 --- a/assets/sass/_theme/sections/programs.sass +++ b/assets/sass/_theme/sections/programs.sass @@ -10,6 +10,7 @@ ol.programs @include list-section li a:nth-child(2) + margin-top: unset white-space: nowrap @include media-breakpoint-up(desktop) margin-left: $spacing1 @@ -30,6 +31,8 @@ ol.programs ol.programs margin-bottom: $spacing3 + li + line-height: 1 .dropdown-share position: relative > button @@ -175,26 +178,30 @@ ol.programs position: relative padding-bottom: $spacing0 padding-top: $spacing0 - @include media-breakpoint-up(desktop) + @include media-breakpoint-up(sm) @include grid(2) - @include icon(arrow-right, after, true) - color: inherit - position: absolute - right: 0 - top: $spacing0 - margin-top: px2rem(12) a + align-items: center + display: flex color: inherit text-decoration: none @include stretched-link(before) @include media-breakpoint-down(desktop) margin-right: $spacing1 + @include icon(arrow-right, after, true) + color: inherit + position: absolute + right: 0 + @include media-breakpoint-down(sm) + width: 100% p align-self: center margin-top: unset @include small @include media-breakpoint-up(desktop) margin-right: $spacing1 + @include media-breakpoint-down(sm) + display: block &:hover color: $color-accent &:first-child diff --git a/config.yaml b/config.yaml index f926a8e11fe05a84832e11318a2c4517b92a9f61..c634a5e60c72c77fa03062fdaa2189a59ab1ddab 100644 --- a/config.yaml +++ b/config.yaml @@ -7,8 +7,10 @@ params: breadcrumb: position: hero-start # hero-start | hero-end | after-hero posts: + default_image: false index: show_categories: false + show_author: false truncate_description: 200 # Set to 0 to disable truncate layout: list # grid | list pages: @@ -17,13 +19,17 @@ params: persons: index: layout: list # grid | list + programs: + related_posts: + quantity: 4 home: toc: disabled: true logo: header: "/assets/images/logo.svg" footer: "/assets/images/logo.svg" - + organizations: + dark_logo_background: false image_sizes: design_system: lightbox: diff --git a/i18n/en.yml b/i18n/en.yml index 90f5e8f3f106b546243c14c023452583fbd37cd2..c77712b5272cfe16c5d3921bd026ea169a2b017b 100644 --- a/i18n/en.yml +++ b/i18n/en.yml @@ -150,6 +150,7 @@ pages: persons: posts: News programs: Programs + papers: Papers publications: Publications posts: author: Author diff --git a/i18n/fr.yml b/i18n/fr.yml index 9ceee926ff0f08284d4204492f0f32d21cde7ae2..1a8dce2a542b1a318413023d78dcd197ef351b2a 100644 --- a/i18n/fr.yml +++ b/i18n/fr.yml @@ -150,6 +150,7 @@ pages: persons: posts: Actualités publiées récemment programs: Enseignements + papers: Papiers publications: Publications papers: Papiers publiés récemment posts: diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index a9459f1b2ec1d509dac4b959f384955c09a06d6f..8dd9d91db41e715f57aca9ba2af5741c1cacc9dc 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -15,7 +15,7 @@ {{ $body_class = printf "%s %s" $body_class $pageclass }} <body class="{{ $body_class }}"> {{- partial "header/accessibility.html" -}} - {{- partial "header/header.html" -}} + {{- partial "header/header.html" . -}} <main{{ if .Params.blocks }} class="page-with-blocks"{{ end }} id="main" tabindex="-1"> {{- block "main" . }}{{- end }} {{- partial "hooks/before-main-end" . -}} diff --git a/layouts/categories/term.html b/layouts/categories/term.html index 861797356883e6a1ce363513419d332cfcc77281..eeaa72e7fc8541cc1a806a2a54925b4f04ab9cc0 100644 --- a/layouts/categories/term.html +++ b/layouts/categories/term.html @@ -9,7 +9,7 @@ ) }} - {{ partial "posts/summary.html" (dict + {{ partial "categories/summary.html" (dict "context" . "block_wrapped" true ) }} diff --git a/layouts/diplomas/term.html b/layouts/diplomas/term.html index 6e518d4f47056245898355502807edfae5657258..807600e004d965ff28e56ef214cb0b84a2e45e2f 100644 --- a/layouts/diplomas/term.html +++ b/layouts/diplomas/term.html @@ -8,13 +8,15 @@ {{- range .Pages -}} <li> {{- $title := partial "PrepareHTML" .Title -}} + {{/* TODO: check title class relevance */}} <a href="{{ .Permalink }}" class="title" title="{{ safeHTML (i18n "commons.more_aria" (dict "Title" $title)) }}"> {{- $title -}} </a> - <p class="description"> - {{/* TODO: replace with description_short */}} - {{- partial "PrepareHTML" .Params.presentation -}} - </p> + {{ if .Params.summary }} + <p class="description"> + {{- partial "PrepareHTML" .Params.summary -}} + </p> + {{ end }} </li> {{- end -}} </ol> diff --git a/layouts/index.html b/layouts/index.html index 1c7b0e34b339b63c08514e5912ad63ba69e31b97..ee48d39ae32f4e591c01bf3ca6f59fe9412d35de 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -32,6 +32,4 @@ </section> {{ end }} </div> - {{ end }} -{{/* TODO: refacto avec pages/list.html */}} \ No newline at end of file diff --git a/layouts/partials/FilterIframeLazy b/layouts/partials/FilterIframeLazy new file mode 100644 index 0000000000000000000000000000000000000000..8c0fbf22c6b3ebb27b2a864f4231f3a4ed72cd92 --- /dev/null +++ b/layouts/partials/FilterIframeLazy @@ -0,0 +1,5 @@ +{{ $chunks := split . "<iframe" }} +{{ $text := delimit $chunks "<iframe loading=\"lazy\"" }} +{{ $chunks = split $text "</iframe>" }} +{{ $text = delimit $chunks "</iframe>" }} +{{ return $text }} diff --git a/layouts/partials/FixIframeRatio b/layouts/partials/FixIframeRatio deleted file mode 100644 index cc0e13398fa046df1b169ecb70fcf5357e4289a9..0000000000000000000000000000000000000000 --- a/layouts/partials/FixIframeRatio +++ /dev/null @@ -1,5 +0,0 @@ -{{ $chunks := split . "<iframe" }} -{{ $text := delimit $chunks "<div class=\"ratio ratio-16x9\"><iframe loading=\"lazy\" title=\"\"" }} -{{ $chunks = split $text "</iframe>" }} -{{ $text = delimit $chunks "</iframe></div>" }} -{{ return $text }} diff --git a/layouts/partials/GetMenu b/layouts/partials/GetMenu new file mode 100644 index 0000000000000000000000000000000000000000..5408d56b535001be29e7ffe04ed6494a5ef96b19 --- /dev/null +++ b/layouts/partials/GetMenu @@ -0,0 +1,20 @@ +{{ $kind := . }} +{{ $menus := index site.Data.menus (printf "%s" site.Language) }} +{{ $menu := "" }} +{{/* Try to get menus from the data/menus/<lang> directory */}} +{{ if (and $menus (isset $menus $kind)) }} + {{/* Menu found in data/menus/<lang> */}} + {{ $menu = index $menus $kind }} +{{ else }} + {{/* Fallback to menu in the data/menus directory */}} + {{ $menu = index site.Data.menus $kind }} +{{ end }} + +{{ if reflect.IsSlice $menu }} + {{/* LEGACY */}} + {{ $menu = (dict + "items" $menu + ) }} +{{ end }} + +{{ return $menu }} \ No newline at end of file diff --git a/layouts/partials/PrepareHTML b/layouts/partials/PrepareHTML index 796c3fbd2f9d461382302962f86eb86dc50b5dea..2d3f25ddfb724d20fa61e92c060b353106bed059 100644 --- a/layouts/partials/PrepareHTML +++ b/layouts/partials/PrepareHTML @@ -2,7 +2,7 @@ safeHTML ( chomp ( partial "CorrectPunctuation" ( - partial "FixIframeRatio" ( + partial "FilterIframeLazy" ( . ) ) diff --git a/layouts/partials/blocks/templates/contact.html b/layouts/partials/blocks/templates/contact.html index 41e3fd30c2d235337f2163e7d41c40c98a71de57..5a7c81d4149464747a2fcccf0438d0aaec3aa523 100644 --- a/layouts/partials/blocks/templates/contact.html +++ b/layouts/partials/blocks/templates/contact.html @@ -44,7 +44,7 @@ </span> {{ end }} {{ if .country }} - <span itemprop="postalCode"> + <span itemprop="addressCountry"> {{ partial "PrepareHTML" .country }} </span> {{ end }} diff --git a/layouts/partials/blocks/templates/datatable.html b/layouts/partials/blocks/templates/datatable.html index c8c19a3716ef3e98dd5995f99bdd9fff97ca0e7c..54153fabd852343f13c6464b306e653b620a87e1 100644 --- a/layouts/partials/blocks/templates/datatable.html +++ b/layouts/partials/blocks/templates/datatable.html @@ -11,6 +11,11 @@ {{ else }} <div class="top"> <h2>{{ partial "PrepareHTML" $title }}</h2> + {{ with .description }} + <div class="description"> + {{ partial "PrepareHTML" . }} + </div> + {{ end }} </div> {{ end -}} <div class="table-responsive"> @@ -40,4 +45,4 @@ </div> </div> </section> -{{- end -}} +{{- end -}} \ No newline at end of file diff --git a/layouts/partials/blocks/templates/pages.html b/layouts/partials/blocks/templates/pages.html index 33dbefd8e83b39bb5d307b2419e407829b154cb6..e749a50fe1f1c82f90c5d371c163d081a4358a9f 100644 --- a/layouts/partials/blocks/templates/pages.html +++ b/layouts/partials/blocks/templates/pages.html @@ -37,8 +37,7 @@ {{ $title = .Title }} {{ end }} {{ if .Params.bodyclass }} - {{- $page_class = partial "GetBodyclass" . }} - {{- $page_class = printf "block-%s" $page_class }} + {{- $page_class = printf "block-page-%s" .Params.bodyclass }} {{ end }} {{ if site.Params.pages.index.truncate_description }} {{- $main_description = partial "GetTruncateContent" ( dict @@ -46,7 +45,7 @@ "length" site.Params.pages.index.truncate_description ) -}} {{ else }} - {{- $main_description = partial "PrepareHTML" .Params.summary -}} + {{- $main_description = partial "PrepareText" .Params.summary -}} {{ end }} {{ end -}} diff --git a/layouts/partials/blocks/templates/pages/cards.html b/layouts/partials/blocks/templates/pages/cards.html index f6bf4e3bc28f8e6363842d9f6314324bb3a0e809..30ee5e70794a3149523e0e88c1cff9b91a469a55 100644 --- a/layouts/partials/blocks/templates/pages/cards.html +++ b/layouts/partials/blocks/templates/pages/cards.html @@ -4,10 +4,6 @@ <div class="cards"> {{ range .pages }} {{- $page := partial "GetPageByUrl" .page -}} - {{- if .slug -}} - {{/* LEGACY */}} - {{- $page = partial "GetPageByUrl" .slug -}} - {{- end -}} {{ with $page }} <article class="card"> <h3> @@ -23,7 +19,7 @@ "length" site.Params.pages.index.truncate_description ) }}</p> {{ else }} - <p>{{ partial "PrepareHTML" .Params.summary }}</p> + <p>{{ partial "PrepareText" .Params.summary }}</p> {{ end }} {{ end }} diff --git a/layouts/partials/blocks/templates/pages/grid.html b/layouts/partials/blocks/templates/pages/grid.html index fd28a25a403dea8157e9582023d2319389e4eb3c..54c096d8c0fc39f816de0ef79d91589aa05a4c3a 100644 --- a/layouts/partials/blocks/templates/pages/grid.html +++ b/layouts/partials/blocks/templates/pages/grid.html @@ -4,15 +4,9 @@ <div class="grid"> {{ range .pages }} {{- $page := false -}} - - {{/* Check if . is a map or page url */}} + {{/* Check if . is a map or page url, necessary when pages/grid is called outside block context */}} {{ if reflect.IsMap . }} - {{- if .page -}} - {{- $page = partial "GetPageByUrl" .page -}} - {{- else if .slug -}} - {{/* LEGACY */}} - {{- $page = partial "GetPageByUrl" .slug -}} - {{ end }} + {{- $page = partial "GetPageByUrl" .page -}} {{ else }} {{- $page = partial "GetPageByUrl" . -}} {{ end }} @@ -31,7 +25,7 @@ "length" site.Params.pages.index.truncate_description ) }}</p> {{ else }} - <p>{{ partial "PrepareHTML" .Params.summary }}</p> + <p>{{ partial "PrepareText" .Params.summary }}</p> {{ end }} {{ end }} {{ if $show_images }} diff --git a/layouts/partials/blocks/templates/pages/list.html b/layouts/partials/blocks/templates/pages/list.html index f30cb416d2672df18b51fb0562d2d89c035478ed..7f1d103b3fedf403763491f425289418622a9ddc 100644 --- a/layouts/partials/blocks/templates/pages/list.html +++ b/layouts/partials/blocks/templates/pages/list.html @@ -1,10 +1,6 @@ <ul> {{ range .pages }} {{- $page := partial "GetPageByUrl" .page -}} - {{- if .slug -}} - {{/* LEGACY */}} - {{- $page = partial "GetPageByUrl" .slug -}} - {{- end -}} {{ with $page }} <li> <a href="{{- .Permalink -}}"> diff --git a/layouts/partials/blocks/templates/partners.html b/layouts/partials/blocks/templates/partners.html index 20ce1f6c01183be94956f2b12f22242848de2fe3..167f0bcd101e8f170a80d38ad98c557beb4c20c1 100644 --- a/layouts/partials/blocks/templates/partners.html +++ b/layouts/partials/blocks/templates/partners.html @@ -1,6 +1,10 @@ {{- $template := .block.template -}} {{- $position := .block.position -}} {{- $title := .block.title -}} +{{ $logo_index := "logo" }} +{{ if site.Params.organizations.dark_logo_background }} + {{ $logo_index = "logo_on_dark_background" }} +{{ end }} {{- with .block.data -}} <section class="block block-partners{{ if $title }} block-with-title{{ end }}" id="block-{{ $position }}"> <div class="container"> @@ -22,45 +26,53 @@ <div class="organizations"> {{- range .partners }} - <div> - {{- if .slug }} - {{ with (site.GetPage (printf "/organizations/%s" .slug )) }} - {{- partial "organizations/organization.html" . -}} - {{ end }} - {{- else -}} - <article class="organization"> - {{- $title := "" -}} - {{ if .name }} - <div> - {{ $title = partial "PrepareHTML" .name -}} - <h3> - {{- if .url }} - <a href="{{ .url }}" title="{{ safeHTML (i18n "commons.link.blank_aria" (dict "Title" $title)) }}"> - {{ end }} - {{- $title -}} - {{ if .url }} - </a> - {{ end -}} - </h3> - </div> - {{ end -}} - <div class="media"> - {{- if .logo -}} - {{- partial "commons/image.html" - (dict - "image" .logo - "alt" $title - "sizes" site.Params.image_sizes.blocks.partners - ) -}} - {{- end -}} - </div> - </article> - {{ end -}} - - </div> + {{ if .slug }} + {{ with (site.GetPage (printf "/organizations/%s" .slug )) }} + {{ template "partner" (dict + "title" .Title + "url" .Permalink + "logo" (index .Params $logo_index) + )}} + {{ end }} + {{ else }} + {{ template "partner" (dict + "title" .name + "url" .url + "external" true + "logo" .logo + )}} + {{ end }} {{ end -}} </div> </div> </div> </section> {{- end -}} + +{{- define "partner" -}} +<article class="organization"> + {{ $title := "" }} + {{ if .title }} + {{ $title = partial "PrepareHTML" .title -}} + <h3> + {{- if .url }} + <a href="{{ .url }}" {{ if .external }} target="_blank" rel="noopener" {{ end }} title="{{ safeHTML (i18n "commons.link.blank_aria" (dict "Title" $title)) }}"> + {{ end -}} + {{- $title -}} + {{- if .url }} + </a> + {{ end -}} + </h3> + {{ end -}} + <div class="media"> + {{- if .logo -}} + {{- partial "commons/image.html" + (dict + "image" .logo + "alt" $title + "sizes" site.Params.image_sizes.blocks.partners + ) -}} + {{- end -}} + </div> +</article> +{{- end -}} \ No newline at end of file diff --git a/layouts/partials/blocks/templates/posts.html b/layouts/partials/blocks/templates/posts.html index 89509900b746ce775a1977a30950d64da3e942cd..922dc01ce7ad65dc0c07eb2a8494b729b9d4d731 100644 --- a/layouts/partials/blocks/templates/posts.html +++ b/layouts/partials/blocks/templates/posts.html @@ -28,7 +28,6 @@ "link" $title_link ) }} {{ end -}} - </div> {{- end }} diff --git a/layouts/partials/blocks/templates/posts/highlight.html b/layouts/partials/blocks/templates/posts/highlight.html index aea4626d2e2c380278d141e8f9ea1bc3dd6b3284..9a2cc62ff41f977a36dbe0f6bdf29ea54b1adf27 100644 --- a/layouts/partials/blocks/templates/posts/highlight.html +++ b/layouts/partials/blocks/templates/posts/highlight.html @@ -31,10 +31,16 @@ "length" site.Params.posts.index.truncate_description ) }}</p> {{ else }} - <p itemprop="articleBody">{{ partial "PrepareHTML" .Params.summary }}</p> + <p itemprop="articleBody">{{ partial "PrepareText" .Params.summary }}</p> {{ end }} {{- end -}} - <time itemprop="datePublished" datetime="{{ .Date.Format "2006-01-02T15:04" }}">{{ .Date | time.Format ":date_long" }}</time> + + <div class="post-meta"> + <time itemprop="datePublished" datetime="{{ .Date.Format "2006-01-02T15:04" }}">{{ .Date | time.Format ":date_long" }}</time> + {{ if site.Params.posts.index.show_author }} + {{- partial "posts/author" . -}} + {{ end }} + </div> </article> {{ end }} {{ end }} diff --git a/layouts/partials/commons/lang-switch.html b/layouts/partials/commons/lang-switch.html new file mode 100644 index 0000000000000000000000000000000000000000..7c95fe1fd1e1b58d0c0aab1df2ca4d38054b6eef --- /dev/null +++ b/layouts/partials/commons/lang-switch.html @@ -0,0 +1,18 @@ +{{ $page := . }} +{{ $siteLang := "" }} +{{ $url := "" }} +{{ with site.Languages }} + <ul> + {{ range site.Languages }} + {{/* .Lang */}} + {{ $siteLang := . }} + {{ $url = printf "/%s/" .Lang }} + {{ range $page.Translations }} + {{ if eq .Lang $siteLang.Lang }} + {{ $url = .Permalink }} + {{ end }} + {{ end }} + <li><a href="{{ $url }}">{{ $siteLang.LanguageName }}</a></li> + {{ end }} + </ul> +{{ end }} diff --git a/layouts/partials/commons/menu.html b/layouts/partials/commons/menu.html index 767c06198974698a0b7d258c95fbfa6f82b01cdb..531f292ed865f4fd0c5774873782ab493ddfaefd 100644 --- a/layouts/partials/commons/menu.html +++ b/layouts/partials/commons/menu.html @@ -1,3 +1,10 @@ +{{- $kind := .kind -}} +{{ $items := .items }} +{{ $context := .context }} +{{ if $kind }} + {{ $menu := partial "GetMenu" $kind }} + {{ $items = $menu.items }} +{{ end }} {{- $level := .level -}} {{- $stop := .stop -}} {{- $dropdown := .dropdown }} @@ -7,13 +14,16 @@ {{- end -}} {{ $extern_link := i18n "commons.link.blank" }} <ul class="{{ $ulClass }}{{ if $level }}nav-level-{{ $level }}{{ end }}"> - {{ range .items -}} + {{ range $items -}} {{- $slug := urlize .title -}} {{- $itemClass := "" -}} {{- $linkClass := "" -}} {{- $attr := "" -}} {{- $attr_title := "" -}} {{- $hasDropdown := false -}} + {{ if eq $context.RelPermalink .target }} + {{ $linkClass = "active" }} + {{ end }} {{- if gt (len .children) 0 -}} {{- $itemClass = printf "%shas-children" $itemClass -}} {{- end -}} @@ -42,6 +52,7 @@ (dict "items" .children "level" $nextLevel + "context" $context ) -}} {{- end -}} {{- if $hasDropdown -}} diff --git a/layouts/partials/commons/summary.html b/layouts/partials/commons/summary.html index 62f87cd003bffc307ed2745f7939b7e47b3df415..ba373dae0ab485522d315405e034689c36c3c5c1 100644 --- a/layouts/partials/commons/summary.html +++ b/layouts/partials/commons/summary.html @@ -10,9 +10,9 @@ <div class="container"> {{- end -}} - <p class="lead" role="heading" aria-level="2"> - {{ partial "PrepareHTML" .context.Params.summary }} - </p> + <p class="lead" role="heading" aria-level="2"> + {{ partial "PrepareText" .context.Params.summary }} + </p> {{- if .block_wrapped -}} </div> diff --git a/layouts/partials/diplomas/diplomas.html b/layouts/partials/diplomas/diplomas.html index aa7c86ce5d780de048d1b0768fa34873128c0d53..aed223f94b3b370eb0c20090d28b0cf16419c2fe 100644 --- a/layouts/partials/diplomas/diplomas.html +++ b/layouts/partials/diplomas/diplomas.html @@ -11,20 +11,35 @@ </a> <div class="content"> <div class="description"> - {{- partial "PrepareHTML" .Params.summary -}} + {{- partial "PrepareText" .Params.summary -}} </div> <ol class="programs"> - {{- range .Pages -}} - <li> - <a href="{{ .Permalink }}" title="{{ safeHTML (i18n "commons.more_aria" (dict "Title" .Title)) }}"> - {{- partial "PrepareHTML" .Title -}} - </a> - </li> + {{- range .Params.programs -}} + {{- template "programsList" . -}} {{- end -}} </ol> - </div> </li> {{ end }} </ul> + +{{- define "programsList" -}} + <li> + <a href="{{ .path }}" title="{{ safeHTML (i18n "commons.more_aria" (dict "Title" .label)) }}"> + {{- partial "PrepareHTML" .label -}} + </a> + <ol> + {{- range .children -}} + <li> + <a href="{{ .path }}" title="{{ safeHTML (i18n "commons.more_aria" (dict "Title" .label)) }}"> + {{- partial "PrepareHTML" .label -}} + </a> + {{ if .children }} + {{- template "programsList" . -}} + {{ end }} + </li> + {{ end }} + </ol> + </li> +{{- end -}} \ No newline at end of file diff --git a/layouts/partials/footer/footer-simple.html b/layouts/partials/footer/footer-simple.html index 01a5b6e083a726ef62af92d8bf930c8fa19bd452..40f8d28809f71acfc48a40e80154b05198405d20 100644 --- a/layouts/partials/footer/footer-simple.html +++ b/layouts/partials/footer/footer-simple.html @@ -6,6 +6,7 @@ {{ partial "footer/site.html" }} </div> </div> +{{ partial "footer/i18n.html" . }} <div class="container"> <div class="footer-social"> {{ partial "footer/social.html" }} diff --git a/layouts/partials/footer/footer.html b/layouts/partials/footer/footer.html index 21183ce4fba865f7ba6c361de74049d086968d96..c736c8a8ae42a3d5189070e3571a2bbafb64164a 100644 --- a/layouts/partials/footer/footer.html +++ b/layouts/partials/footer/footer.html @@ -1,3 +1,3 @@ <footer id="document-footer"> - {{ partial "footer/footer-simple.html" }} + {{ partial "footer/footer-simple.html" . }} </footer> diff --git a/layouts/partials/footer/i18n.html b/layouts/partials/footer/i18n.html new file mode 100644 index 0000000000000000000000000000000000000000..2419989bd94135de099090b87e98b0e82b0d01de --- /dev/null +++ b/layouts/partials/footer/i18n.html @@ -0,0 +1,24 @@ +{{ $page := . }} +{{ $pageWithTranslations := $page.Translations | append $page }} +{{ $siteLang := "" }} +{{ $url := "" }} +{{ if gt (len site.Languages) 1 }} +<div class="container"> + <div class="footer-i18n"> + {{ with site.Languages }} + <ul class="small"> + {{ range site.Languages }} + {{ $siteLang := . }} + {{ $url = printf "/%s/" .Lang }} + {{ range $pageWithTranslations }} + {{ if eq .Lang $siteLang.Lang }} + {{ $url = .Permalink }} + {{ end }} + {{ end }} + <li><a href="{{ $url }}">{{ $siteLang.LanguageName }}</a></li> + {{ end }} + </ul> + {{ end }} + </div> +</div> +{{ end }} \ No newline at end of file diff --git a/layouts/partials/footer/legals.html b/layouts/partials/footer/legals.html index 2338c9d862d5a2a9cf8400cddf86436a0dee9bb0..9faf4ad75385d6e74eda00c3da605e35719f1969 100644 --- a/layouts/partials/footer/legals.html +++ b/layouts/partials/footer/legals.html @@ -1,11 +1,10 @@ -<div class="footer-legal"> - {{ if site.Data.menus.legal }} - {{ partial "commons/menu.html" - (dict - "items" site.Data.menus.legal - "level" 1 - "class" "nav-legal" - )}} - {{ end }} - {{ partial "footer/credit.html" }} -</div> \ No newline at end of file +{{ $menu := partial "GetMenu" "legal" }} +{{ if $menu }} + {{ partial "commons/menu.html" + (dict + "kind" "legal" + "level" 1 + "class" "nav-legal" + )}} +{{ end }} +{{ partial "footer/credit.html" }} diff --git a/layouts/partials/footer/social.html b/layouts/partials/footer/social.html index a591f5e5cee997ea3fe7e5518ca32222e0f2631c..4b7cb175f65b328a081e31a50adbe295f0e4c890 100644 --- a/layouts/partials/footer/social.html +++ b/layouts/partials/footer/social.html @@ -1,10 +1,10 @@ -<div class="footer-social"> - {{ if site.Data.menus.social }} - {{ partial "commons/menu.html" - (dict - "items" site.Data.menus.social - "level" 1 - "class" "nav-social" - )}} - {{ end }} -</div> +{{ $menu := partial "GetMenu" "social" }} +{{ if $menu }} + {{ partial "commons/menu.html" + (dict + "kind" "social" + "level" 1 + "class" "nav-social" + )}} +{{ end }} + diff --git a/layouts/partials/head/seo.html b/layouts/partials/head/seo.html index 1a4694524eead60fee5462b39ccaf5e3ef0a3a75..93ad3f2eb3ea8913e27db9c6a28168623771e057 100644 --- a/layouts/partials/head/seo.html +++ b/layouts/partials/head/seo.html @@ -8,7 +8,7 @@ {{- else if .Params.description -}} {{- $seoDescription = partial "PrepareHTML" .Params.description -}} {{/* LEGACY */}} {{- else if .Params.summary -}} - {{- $seoDescription = partial "PrepareHTML" .Params.summary -}} + {{- $seoDescription = partial "PrepareText" .Params.summary -}} {{- else if .Content -}} {{- $seoDescription = partial "GetTruncateContent" ( dict "text" .Content ) -}} {{- else if .Params.legacy_text -}} diff --git a/layouts/partials/header/header.html b/layouts/partials/header/header.html index a37e6b1fd9f9681a3bf26540c4770d2acdd7c543..f0ab7dce143b4e88d003861bd9cff212c7f9dda6 100644 --- a/layouts/partials/header/header.html +++ b/layouts/partials/header/header.html @@ -1,18 +1,18 @@ +{{ $context := . }} <header id="document-header"> <nav aria-label="{{ i18n "commons.menu.main" }}"> <div class="container"> {{ partial "header/logo.html" }} - {{ if isset site.Data.menus "primary"}} - {{ partial "header/button.html" }} - <div class="menu" id="navigation"> - {{ partial "commons/menu.html" - (dict - "items" site.Data.menus.primary - "dropdown" true - "level" 1 - )}} - </div> - {{ end }} + {{ partial "header/button.html" }} + <div class="menu" id="navigation"> + {{ partial "commons/menu.html" + (dict + "kind" "primary" + "dropdown" true + "level" 1 + "context" . + ) }} + </div> </div> </nav> </header> diff --git a/layouts/partials/header/hero.html b/layouts/partials/header/hero.html index 45be3537a1e573cdda176e5593423074eb0519b7..cb14b4bce0bb5c8b80ab2d2a34cc33cf94f0ab3d 100644 --- a/layouts/partials/header/hero.html +++ b/layouts/partials/header/hero.html @@ -1,9 +1,10 @@ {{- $direction := "" -}} +{{- $breadcrumb_is_after_hero := eq site.Params.breadcrumb.position "after-hero" -}} {{ if .image }} {{- $direction = partial "GetImageDirection" .image -}} {{ end }} -<header class="hero {{ if .image -}}hero--with-image hero--image-{{- $direction -}}{{- end -}}"> +<header class="hero {{ if .image -}}hero--with-image hero--image-{{- $direction -}}{{- end }} {{ if $breadcrumb_is_after_hero -}} hero--no-margin {{- end }}"> <div class="container"> {{- if eq site.Params.breadcrumb.position "hero-start" -}} {{- if .breadcrumb | default true -}} @@ -32,7 +33,7 @@ "sizes" ( .sizes | default site.Params.image_sizes.design_system.hero ) "lazy" false ) }} - {{ if .image.credit }} + {{ if partial "GetTextFromHTML" .image.credit }} <figcaption tabindex="0"> <p> {{- partial "GetTextFromHTML" .image.credit -}} @@ -51,9 +52,9 @@ </div> </header> -{{- if eq site.Params.breadcrumb.position "after-hero" -}} +{{- if $breadcrumb_is_after_hero -}} {{- if .breadcrumb | default true -}} - <div class="container"> + <div class="container breadcrumb-container"> {{ partial "header/breadcrumbs.html" .context }} </div> {{- end -}} diff --git a/layouts/partials/organizations/logo.html b/layouts/partials/organizations/logo.html index 9d919c1b310b8e669e67e5af867acd0002428ccd..586ead648b88f877a43f76e02e459d2a5e8db316 100644 --- a/layouts/partials/organizations/logo.html +++ b/layouts/partials/organizations/logo.html @@ -1,10 +1,14 @@ {{- if .Params.logo -}} + {{ $logo_index := "logo" }} + {{ if site.Params.organizations.dark_logo_background }} + {{ $logo_index = "logo_on_dark_background" }} + {{ end }} <figure class="logo"> {{- partial "commons/image.html" - (dict - "image" .Params.logo - "alt" .Title - "sizes" site.Params.image_sizes.sections.organizations.logo - ) -}} + (dict + "image" (index .Params $logo_index) + "alt" .Title + "sizes" site.Params.image_sizes.sections.organizations.logo + ) -}} </figure> {{- end -}} diff --git a/layouts/partials/organizations/organization.html b/layouts/partials/organizations/organization.html index a82c6cc2991269d6327df5c96d3137d61d2d24e0..a2d88bc418f25facee2ef920df1d9a3768f35297 100644 --- a/layouts/partials/organizations/organization.html +++ b/layouts/partials/organizations/organization.html @@ -1,13 +1,21 @@ <article class="organization"> <div> {{ $title := partial "PrepareHTML" .Title }} - <h2><a href="{{ .Permalink }}" title="{{ safeHTML (i18n "commons.more_aria" (dict "Title" $title)) }}">{{ $title }}</a></h2> + <h2> + <a href="{{ .Permalink }}" title="{{ safeHTML (i18n "commons.more_aria" (dict "Title" $title)) }}"> + {{ $title }} + </a> + </h2> </div> <div class="media"> {{- if .Params.logo -}} + {{ $logo_index := "logo" }} + {{ if site.Params.organizations.dark_logo_background }} + {{ $logo_index = "logo_on_dark_background" }} + {{ end }} {{- partial "commons/image.html" (dict - "image" .Params.logo + "image" (index .Params $logo_index) "alt" $title "sizes" site.Params.image_sizes.sections.organizations.item ) -}} diff --git a/layouts/partials/pages/page.html b/layouts/partials/pages/page.html index d2836679ee130bb6c47f718093b99d730d795c81..d3ecfcf867cfed43f13ebcba2891b9fa42c25f64 100644 --- a/layouts/partials/pages/page.html +++ b/layouts/partials/pages/page.html @@ -17,7 +17,7 @@ </a> {{- partial "PrepareHTML" (printf "</%s>" $heading) -}} {{- if .Params.summary }} - <p>{{ partial "PrepareHTML" .Params.summary }}</p> + <p>{{ partial "PrepareText" .Params.summary }}</p> {{ end -}} </div> </article> diff --git a/layouts/partials/persons/list-item.html b/layouts/partials/persons/list-item.html index 327244c7b3c7a14308f218752105c61f0b9cdd65..8f004ecad97f163238cfcac35d618fd13c9a17e9 100644 --- a/layouts/partials/persons/list-item.html +++ b/layouts/partials/persons/list-item.html @@ -1,6 +1,6 @@ <li itemscope itemtype="https://schema.org/Person"> <p itemprop="name"><a href="{{ .Permalink }}">{{ partial "PrepareHTML" .Title }}</a></p> {{- if partial "GetTextFromHTML" .Params.summary }} - <p itemprop="jobTitle">{{- partial "PrepareHTML" .Params.summary -}}</p> + <p itemprop="jobTitle">{{- partial "PrepareText" .Params.summary -}}</p> {{ end -}} </li> \ No newline at end of file diff --git a/layouts/partials/persons/papers.html b/layouts/partials/persons/papers.html index 904b50f6fcb52be859b577685125093f2afd3c27..a0c9bac3de6145f2bf359fa4537d1ad5f03767bd 100644 --- a/layouts/partials/persons/papers.html +++ b/layouts/partials/persons/papers.html @@ -1,7 +1,8 @@ {{ $researchers := site.GetPage (printf "/researchers/%s" .slug) }} <section> <div class="top"> - <h2><a href="{{ $researchers.Permalink }}">{{ i18n "persons.papers" }}</a></h2> + <h2>{{ i18n "persons.papers" }}</h2> + <a href="{{ $researchers.Permalink }}" class="link">{{ i18n "persons.papers" }}</a> </div> <ul class="papers"> {{ range first 3 .papers }} diff --git a/layouts/partials/persons/person.html b/layouts/partials/persons/person.html index 6d48c7f950269ccceb868168f5f82d08f365b20b..2b709098481da6ad98ff1ab8d8c67670776f97a6 100644 --- a/layouts/partials/persons/person.html +++ b/layouts/partials/persons/person.html @@ -3,7 +3,7 @@ {{- $title := partial "PrepareHTML" .Title }} <p class="name"><a href="{{ .Permalink }}">{{- $title -}}</a></p> {{- if partial "GetTextFromHTML" .Params.summary }} - <p>{{- partial "PrepareHTML" .Params.summary -}}</p> + <p>{{- partial "PrepareText" .Params.summary -}}</p> {{ else if (partial "GetTextFromHTML" .Content) }} <p>{{- partial "GetTruncateContent" ( dict "text" .Content ) -}}</p> {{ end -}} diff --git a/layouts/partials/persons/publications.html b/layouts/partials/persons/publications.html new file mode 100644 index 0000000000000000000000000000000000000000..1d6bda5fc96420180680e0d9ccce0f8383d32bb5 --- /dev/null +++ b/layouts/partials/persons/publications.html @@ -0,0 +1,10 @@ +<section class="person-publications"> + <div class="top"> + <h2 class="h5">{{ i18n "persons.publications" }}</h2> + </div> + <div class="publications"> + {{ range . }} + {{ partial "publications/publication.html" . }} + {{ end }} + </div> +</section> diff --git a/layouts/partials/posts/author.html b/layouts/partials/posts/author.html new file mode 100644 index 0000000000000000000000000000000000000000..f0766546acc949643375f77b8c2218d66ddd53e4 --- /dev/null +++ b/layouts/partials/posts/author.html @@ -0,0 +1,8 @@ +{{ range .GetTerms "authors" }} + {{- $person := site.GetPage (printf "/persons/%s" .Slug) -}} + {{ with $person }} + <div class="post-author" itemscope itemtype="https://schema.org/Person" itemprop="author"> + <p itemprop="name">{{ partial "PrepareText" .Title }}</p> + </div> + {{ end }} +{{ end }} \ No newline at end of file diff --git a/layouts/partials/posts/post.html b/layouts/partials/posts/post.html index 10cdc4cb563b993e03bf929606d4cc6953992840..df3fbd9a69246688e9ee3edf6383dfe4fcf6205d 100644 --- a/layouts/partials/posts/post.html +++ b/layouts/partials/posts/post.html @@ -14,32 +14,42 @@ <a href="{{ .Permalink }}" title="{{ safeHTML (i18n "commons.more_aria" (dict "Title" $title)) }}">{{ $title }}</a> {{ $heading_tag.close }} - {{ if $.Site.Params.posts.index.show_categories }} + {{ if site.Params.posts.index.show_categories }} {{- partial "posts/categories" . -}} {{ end }} + {{- if (partial "GetTextFromHTML" .Params.summary) -}} - {{ if $.Site.Params.posts.index.truncate_description }} + {{ if site.Params.posts.index.truncate_description }} <p itemprop="articleBody">{{ partial "GetTruncateContent" ( dict "text" .Params.summary - "length" $.Site.Params.posts.index.truncate_description + "length" site.Params.posts.index.truncate_description ) }}</p> {{ else }} - <p itemprop="articleBody">{{ partial "PrepareHTML" .Params.summary }}</p> + <p itemprop="articleBody">{{ partial "PrepareText" .Params.summary }}</p> {{ end }} {{- end -}} - <time itemprop="datePublished" datetime="{{ .Date.Format "2006-01-02T15:04" }}">{{ .Date | time.Format ":date_long" }}</time> + <div class="post-meta"> + <time itemprop="datePublished" datetime="{{ .Date.Format "2006-01-02T15:04" }}">{{ .Date | time.Format ":date_long" }}</time> + {{ if site.Params.posts.index.show_author }} + {{- partial "posts/author" . -}} + {{ end }} + </div> + + </div> - <div class="media"> - {{- if .Params.image -}} + {{- if .Params.image -}} + <div class="media"> {{- partial "commons/image.html" (dict "image" .Params.image "sizes" site.Params.image_sizes.sections.posts.item ) -}} - {{- else -}} + </div> + {{- else if site.Params.posts.default_image -}} + <div class="media"> {{- partial "commons/image-default.html" -}} - {{- end -}} - </div> + </div> + {{- end -}} </article> {{ end }} \ No newline at end of file diff --git a/layouts/partials/programs/presentation.html b/layouts/partials/programs/presentation.html index 2d3893b74e62307847a64d7e2e33f795f90e06a8..a3076eda67e4911aeed3ee047343230e6f201afe 100644 --- a/layouts/partials/programs/presentation.html +++ b/layouts/partials/programs/presentation.html @@ -29,21 +29,21 @@ {{- $diploma := site.GetPage (printf "/diplomas/%s" .) -}} {{- with $diploma.Params.ects -}} <tr> - <th>{{ i18n "programs.ects_credits" }}</th> + <th scope="row">{{ i18n "programs.ects_credits" }}</th> <td>{{ partial "PrepareHTML" . }}</td> </tr> {{- end -}} {{- end -}} <tr> - <th>{{ i18n "programs.type.initial" }}</th> + <th scope="row">{{ i18n "programs.type.initial" }}</th> <td>{{ if .Params.initial }}{{ i18n "commons.true" }}{{ else }}{{ i18n "commons.false" }}{{ end }}</td> </tr> <tr> - <th>{{ i18n "programs.type.continuing" }}</th> + <th scope="row">{{ i18n "programs.type.continuing" }}</th> <td>{{ if .Params.continuing }}{{ i18n "commons.true" }}{{ else }}{{ i18n "commons.false" }}{{ end }}</td> </tr> <tr> - <th>{{ i18n "programs.type.apprenticeship" }}</th> + <th scope="row">{{ i18n "programs.type.apprenticeship" }}</th> <td>{{ if .Params.apprenticeship }}{{ i18n "commons.true" }}{{ else }}{{ i18n "commons.false" }}{{ end }}</td> </tr> {{- if partial "GetTextFromHTML" .Params.capacity -}} diff --git a/layouts/partials/programs/related.html b/layouts/partials/programs/related.html index 0c0dd60f2f63bcb9444e64fcac2ecdece1e2d607..7a284027a0f2a55670faec061794f0763da766cb 100644 --- a/layouts/partials/programs/related.html +++ b/layouts/partials/programs/related.html @@ -7,9 +7,14 @@ {{ $category_name := safeHTML .Title | truncate 30 }} {{ i18n "posts.see_all_in_program" (dict "Title" $category_name) }} </a> - <div class="blocks"> - {{ partial "posts/block-posts-layout.html" (dict "posts" .Pages ) }} - </div> + + {{/* Related posts */}} + {{ $posts := first site.Params.programs.related_posts.quantity .Pages }} + {{ if gt (len $posts) 0 }} + <div class="blocks"> + {{ partial "posts/block-posts-layout.html" (dict "posts" $posts ) }} + </div> + {{ end }} </div> </div> </section> diff --git a/layouts/partials/programs/toc.html b/layouts/partials/programs/toc.html index 42a04f3a6432fbda54fdb92640d39db13838d21f..2a0746a92db9ca4bf80c5a44bc6a92e50412c671 100644 --- a/layouts/partials/programs/toc.html +++ b/layouts/partials/programs/toc.html @@ -42,7 +42,7 @@ </ol> </li> <li> - <a href="#pedagogy">{{ i18n "programs.toc.pedagogy" }}</a> + <a href="#{{ urlize (i18n "programs.toc.pedagogy") }}">{{ i18n "programs.toc.pedagogy" }}</a> {{- if or $content $pedagogy $evaluation $teachers }} <ol> {{- if $content -}} @@ -61,7 +61,7 @@ {{ end -}} </li> <li> - <a href="#results">{{ i18n "programs.toc.results" }}</a> + <a href="#{{ urlize (i18n "programs.toc.results") }}">{{ i18n "programs.toc.results" }}</a> {{- if or $opportunities $results }} <ol> {{- if $opportunities -}} @@ -74,7 +74,7 @@ {{ end -}} </li> <li> - <a href="#admission">{{ i18n "programs.toc.admission" }}</a> + <a href="#{{ urlize (i18n "programs.toc.admission") }}">{{ i18n "programs.toc.admission" }}</a> {{- if or $prerequisites $pricing $registration $accessibility $other $roles $contacts }} <ol> {{- if $prerequisites -}} diff --git a/layouts/partials/publications/publication.html b/layouts/partials/publications/publication.html new file mode 100644 index 0000000000000000000000000000000000000000..f2dc59dab000f61e7192656c5d6cb835f5bd83db --- /dev/null +++ b/layouts/partials/publications/publication.html @@ -0,0 +1,8 @@ +<article class="publication"> + <p class="title"> + {{ partial "PrepareHTML" .title }} + </p> + <p class="ref"> + {{ partial "PrepareHTML" .ref }} + </p> +</article> diff --git a/layouts/persons/single.html b/layouts/persons/single.html index af7ba655f7def355827d4da56049be80cdfad625..eb83802839dffd17220a57d263f4a561d18d6064 100644 --- a/layouts/persons/single.html +++ b/layouts/persons/single.html @@ -13,6 +13,7 @@ {{ $papersForResearcher = index site.Taxonomies.researchers $slug}} {{ end }} {{ $author := site.GetPage (printf "/authors/%s" $slug) }} + {{ $publications := .Params.publications }} {{ partial "persons/hero-single.html" . }} @@ -37,7 +38,7 @@ <div> {{ if (partial "GetTextFromHTML" .Params.summary) }} <div class="lead" itemprop="description"> - {{ partial "PrepareHTML" .Params.summary }} + {{ partial "PrepareText" .Params.summary }} </div> {{ end }} {{ if (partial "GetTextFromHTML" .Content) }} @@ -68,7 +69,7 @@ {{ partial "blocks/list.html" . }} - <div class="container"> + <div class="container person-objects"> {{ if $programsForTeacher }} {{ partial "persons/programs.html" (dict "programs" $programsForTeacher "slug" $slug) }} {{ end }} @@ -80,6 +81,10 @@ {{ if $papersForResearcher }} {{ partial "persons/papers.html" (dict "papers" $papersForResearcher "slug" $slug) }} {{ end }} + + {{ if $publications }} + {{ partial "persons/publications.html" $publications }} + {{ end }} </div> </div> {{ end }} diff --git a/layouts/posts/single.html b/layouts/posts/single.html index 4be3de9bad1ff5bb728b164ace32720386f5ac90..75f978ef76ba4b6b1e6353cf0314affbff9f4f30 100644 --- a/layouts/posts/single.html +++ b/layouts/posts/single.html @@ -5,8 +5,8 @@ <meta itemprop="headline" content="{{ partial "PrepareHTML" .Title }}"> <meta itemprop="url" content="{{ .Permalink }}"> {{ if .Date }}<meta itemprop="datePublished" content="{{ .Date.Format "2006-01-02T15:04" }}">{{ end }} - {{ if .Params.summary }}<meta itemprop="abstract" content="{{ partial "PrepareHTML" .Params.summary }}">{{ end }} - {{ if .Summary }}<meta itemprop="description" content="{{ partial "PrepareHTML" .Summary }}">{{ end }} + {{ if .Params.summary }}<meta itemprop="abstract" content="{{ partial "PrepareText" .Params.summary }}">{{ end }} + {{ if .Summary }}<meta itemprop="description" content="{{ partial "PrepareText" .Summary }}">{{ end }} {{ partial "posts/sidebar.html" . }} diff --git a/static/assets/fonts/fonticons/IconFont.ttf b/static/assets/fonts/fonticons/IconFont.ttf index 330990416174df467bdf918ebf4dd4c201897499..2a33ea9c7378a8b278b92fc9e09539e2844537a0 100644 Binary files a/static/assets/fonts/fonticons/IconFont.ttf and b/static/assets/fonts/fonticons/IconFont.ttf differ diff --git a/static/assets/fonts/fonticons/IconFont.woff b/static/assets/fonts/fonticons/IconFont.woff index 32131224ecaa0733a8eca9ac87e4ba81e1464926..7d97eb6a063b9d56851a64216c87f2bb070c0452 100644 Binary files a/static/assets/fonts/fonticons/IconFont.woff and b/static/assets/fonts/fonticons/IconFont.woff differ diff --git a/static/assets/fonts/fonticons/IconFont.woff2 b/static/assets/fonts/fonticons/IconFont.woff2 index dcab885d075aa66e55151293d18fe34621c9cc76..c9f07b1f8586aab5f3e321e12e696bf96fa2551e 100644 Binary files a/static/assets/fonts/fonticons/IconFont.woff2 and b/static/assets/fonts/fonticons/IconFont.woff2 differ diff --git a/static/osuny-theme-version b/static/osuny-theme-version index 9539b9db87be7cb2b2d91477be31fbbd0e59ec94..745d277231e31adf21ccce1e6587be4f77a98161 100644 --- a/static/osuny-theme-version +++ b/static/osuny-theme-version @@ -1 +1 @@ -v3.0.12 \ No newline at end of file +v3.1.9 \ No newline at end of file