From a6d81886d7c76d887be279f9416d9e9d404e7972 Mon Sep 17 00:00:00 2001
From: alexisben <alex@noesya.coop>
Date: Tue, 10 Jan 2023 15:59:25 +0100
Subject: [PATCH] organization single re-integration

---
 .../sass/_theme/sections/organizations.sass   | 88 ++++++++++---------
 i18n/en.yml                                   |  1 +
 i18n/fr.yml                                   |  1 +
 layouts/organizations/single.html             | 25 +++---
 .../organizations/contact-details.html        | 77 ++++++++++++++++
 layouts/partials/organizations/contacts.html  | 36 --------
 layouts/partials/organizations/content.html   |  9 --
 layouts/partials/organizations/logo.html      |  1 -
 layouts/persons/list.html                     |  2 +-
 9 files changed, 137 insertions(+), 103 deletions(-)
 create mode 100644 layouts/partials/organizations/contact-details.html
 delete mode 100644 layouts/partials/organizations/contacts.html
 delete mode 100644 layouts/partials/organizations/content.html

diff --git a/assets/sass/_theme/sections/organizations.sass b/assets/sass/_theme/sections/organizations.sass
index b1629855..8ed64017 100644
--- a/assets/sass/_theme/sections/organizations.sass
+++ b/assets/sass/_theme/sections/organizations.sass
@@ -44,53 +44,57 @@
         @include media-breakpoint-up(desktop)
             font-size: $lead-sidebar-size-desktop
     .document-content
-        .organization-meta
-            .logo
-                figcaption
-                    text-align: right
-                    @include meta
-                    margin-bottom: $spacing0
-                picture
-                    aspect-ratio: 1/1
-                    background: $color-background-alt
-                    display: block
-                    padding: $spacing2
-                    margin-bottom: half($spacing0)
-                img
-                    width: 100%
-                    height: 100%
-                    object-fit: contain
-                    object-position: center
+        .logo
+            figcaption
+                text-align: right
+                @include meta
+                margin-bottom: $spacing0
+            picture
+                aspect-ratio: 1/1
+                background: $color-background-alt
+                display: block
+                padding: $spacing2
+                margin-bottom: half($spacing0)
+                width: auto
+            img
+                width: 100%
+                height: 100%
+                object-fit: contain
+                object-position: center
         .blocks
             margin-top: $spacing3
-        .contacts-list
-            @include list-reset
-            padding-left: 0
-            text-align: right
-            margin-top: $spacing1
-            li
-                list-style-type: none
-                + li
-                    margin-top: $spacing1
-                span
-                    @include meta
-                    display: block
-    @include media-breakpoint-down(desktop)
+        .contacts-details
+            @include grid(2, md)
+            margin-top: $spacing3
+            width: col(8)
+            ul
+                @include list-reset
+                padding-left: 0
+                li
+                    list-style-type: none
+                    + li
+                        margin-top: $spacing1
+                    address
+                        @extend .p
+                    > span
+                        @include meta
+                        display: block
+    @include media-breakpoint-down(md)
         .document-content
-            .organization-meta
+            .logo
                 margin-top: $spacing3
-                .logo
+                display: flex
+                justify-content: space-between
+            .contacts-details
+                width: auto
+                ul + ul
+                    margin-top: $spacing1
+                li
                     display: flex
                     justify-content: space-between
-                    picture
-                        width: 66.6%
-                .contacts-list
-                    li
-                        display: flex
-                        justify-content: space-between
-                        align-items: baseline
+                    align-items: baseline
                         
-    @include media-breakpoint-up(desktop)
+    @include media-breakpoint-up(md)
         .document-content
             > .container
                 display: flex
@@ -98,5 +102,5 @@
                 gap: $grid-gutter
             [itemprop="articleBody"]
                 width: col(8)
-            .organization-meta
-                width: col(3)
\ No newline at end of file
+            .logo
+                width: col(3)
diff --git a/i18n/en.yml b/i18n/en.yml
index a3dddf19..d7f0d7ba 100644
--- a/i18n/en.yml
+++ b/i18n/en.yml
@@ -23,6 +23,7 @@ commons:
     slideX: Go to slide %s
   close: Close
   contact:
+    address: Address
     email: Email
     phone: Téléphone
     website: Site web
diff --git a/i18n/fr.yml b/i18n/fr.yml
index fc87aba0..714b5380 100644
--- a/i18n/fr.yml
+++ b/i18n/fr.yml
@@ -23,6 +23,7 @@ commons:
     slideX: Aller au slide %s
   close: Fermer
   contact:
+    address: Adresse
     email: Email
     phone: Téléphone
     website: Site web
diff --git a/layouts/organizations/single.html b/layouts/organizations/single.html
index 5c3a2803..f6248961 100644
--- a/layouts/organizations/single.html
+++ b/layouts/organizations/single.html
@@ -1,14 +1,12 @@
 {{ define "main" }}
   {{ partial "organizations/hero.html" . }}
 
-  <div class="document-content">
+  <div class="document-content" itemscope itemtype="https://schema.org/Organization">
 
-    {{ partial "toc/container.html"
-      (dict
-            "toc" "toc/default.html"
-            "context" .
-        )
-      }}
+    {{ partial "toc/container.html" (dict
+          "toc" "toc/default.html"
+          "context" .
+        ) }}
 
     <div class="container">
       <div itemprop="articleBody" class="rich-text">
@@ -18,15 +16,14 @@
 
         {{ if (partial "GetTextFromHTML" .Content) }}
           {{ partial "PrepareHTML" (
-                partial "H2AddId" .Content
-              ) }}
+              partial "H2AddId" .Content
+            ) }}
         {{ end }}
       </div>
-
-      <div class="organization-meta">
-        {{ partial "organizations/logo.html" . }}
-        {{ partial "organizations/contacts.html" . }}
-      </div>
+      {{ partial "organizations/logo.html" . }}
+    </div>
+    <div class="container">
+      {{ partial "organizations/contact-details.html" . }}
     </div>
     {{ partial "blocks/list.html" . }}
   </div>
diff --git a/layouts/partials/organizations/contact-details.html b/layouts/partials/organizations/contact-details.html
new file mode 100644
index 00000000..c6fc4d29
--- /dev/null
+++ b/layouts/partials/organizations/contact-details.html
@@ -0,0 +1,77 @@
+{{ with .Params }}
+  {{ if or .website .linkedin .twitter .email .address .city .zipcode .country .phone }}
+    <div class="contacts-details">
+      {{ if or .website .linkedin .twitter .email }}
+        <ul>
+          {{ if .website }}
+            <li>
+              <span>{{ i18n "commons.contact.website" }}</span>
+              <a href="{{ .website }}" target="_blank" rel="noopener" itemprop="url">{{ .website }}</a>
+            </li>
+          {{ end }}
+
+          {{ if .linkedin }}
+            <li>
+              <span>LinkedIn</span>
+              <a href="{{ .linkedin }}" target="_blank" rel="noopener" itemprop="url">{{ .linkedin }}</a>
+            </li>
+          {{ end }}
+        
+          {{ if .twitter }}
+            <li>
+              <span>Twitter</span>
+              <a href="https://twitter.com/{{ .twitter }}" target="_blank" rel="noopener" itemprop="url">{{ .twitter }}</a>
+            </li>
+          {{ end }}
+
+          {{ if .email }}
+            <li>
+              <span>{{ i18n "commons.contact.email" }}</span>
+              <a href="mailto:{{ .email }}" itemprop="email">{{ .email }}</a>
+            </li>
+          {{ end }}
+        </ul>
+      {{ end }}
+
+      {{ if or .address .city .zipcode .country .phone }}
+        <ul>
+          {{ if or .address .city .zipcode .country }}
+            <li>
+              <span>{{ i18n "commons.contact.address" }}</span>
+              <address itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
+                {{ with .address }}
+                  <span itemprop="streetAddress">
+                    {{ partial "PrepareHTML" . }},
+                  </span>
+                  <br>
+                {{ end }}
+                {{ with .city }}
+                  <span itemprop="addressLocality">
+                    {{ partial "PrepareHTML" . }}
+                  </span>
+                {{ end }}
+                {{ with .zipcode }}
+                  <span itemprop="postalCode">
+                    {{ partial "PrepareHTML" . }}
+                  </span>
+                {{ end }}
+                {{ with .country }}
+                  <span itemprop="postalCode">
+                    {{ partial "PrepareHTML" . }}
+                  </span>
+                {{ end }}
+              </address>
+            </li>
+          {{ end }}
+
+          {{ if .phone }}
+            <li>
+              <span>{{ i18n "commons.contact.phone" }}</span>
+              <a href="tel:{{ .phone }}" itemprop="telephone">{{ .phone }}</a>
+            </li>
+          {{ end }}
+        </ul>
+      {{ end }}
+    </div>
+  {{ end }}
+{{ end }}
diff --git a/layouts/partials/organizations/contacts.html b/layouts/partials/organizations/contacts.html
deleted file mode 100644
index c2a6e29c..00000000
--- a/layouts/partials/organizations/contacts.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<ul class="contacts-list">
-  {{ if .Params.linkedin }}
-    <li>
-      <span>Linkedin</span>
-      <a href="mailto:{{ .Params.linkedin }}" target="_blank" rel="noopener" itemprop="url">{{ .Params.linkedin }}</a>
-    </li>
-  {{ end }}
-
-  {{ if .Params.twitter }}
-    <li>
-      <span>Twitter</span>
-      <a href="https://twitter.com/{{ .Params.twitter }}" target="_blank" rel="noopener" itemprop="url">{{ .Params.twitter }}</a>
-    </li>
-  {{ end }}
-
-  {{ if .Params.website }}
-    <li>
-      <span>{{ i18n "commons.contact.website" }}</span>
-      <a href="{{ .Params.website }}" target="_blank" rel="noopener" itemprop="url">{{ .Params.website }}</a>
-    </li>
-  {{ end }}
-
-  {{ if .Params.email }}
-    <li>
-      <span>{{ i18n "commons.contact.email" }}</span>
-      <a href="mailto:{{ .Params.email }}" itemprop="email">{{ .Params.email }}</a>
-    </li>
-  {{ end }}
-
-  {{ if .Params.phone }}
-    <li>
-      <span>{{ i18n "commons.contact.phone" }}</span>
-      <a href="tel:{{ .Params.phone }}" itemprop="telephone">{{ .Params.phone }}</a>
-    </li>
-  {{ end }}
-</ul>
diff --git a/layouts/partials/organizations/content.html b/layouts/partials/organizations/content.html
deleted file mode 100644
index ea9983dd..00000000
--- a/layouts/partials/organizations/content.html
+++ /dev/null
@@ -1,9 +0,0 @@
-{{ if (partial "GetTextFromHTML" .Content) }}
-  <div itemprop="articleBody" class="rich-text">
-  {{
-    partial "PrepareHTML" (
-      partial "H2AddId" .Content
-    )
-  }}
-  </div>
-{{ end }}
diff --git a/layouts/partials/organizations/logo.html b/layouts/partials/organizations/logo.html
index 5019960a..9d919c1b 100644
--- a/layouts/partials/organizations/logo.html
+++ b/layouts/partials/organizations/logo.html
@@ -1,6 +1,5 @@
 {{- if .Params.logo -}}
   <figure class="logo">
-    <figcaption>{{ i18n "organizations.logo" }}</figcaption>
     {{- partial "commons/image.html"
           (dict
             "image"    .Params.logo
diff --git a/layouts/persons/list.html b/layouts/persons/list.html
index e43671cf..c2396ed8 100644
--- a/layouts/persons/list.html
+++ b/layouts/persons/list.html
@@ -23,6 +23,7 @@
         {{ $chapo_block = true }}
       {{ end }}
     {{ end }}
+    
     {{ partial "persons/chapo.html" (dict
         "context" .
         "with_container" (not $chapo_block)
@@ -36,7 +37,6 @@
       {{- end -}}
     </div>
 
-  
     {{ partial "blocks/list.html" . }}
   </div>
 
-- 
GitLab