Ajoute un mode de centrage des figures et améliore les légendes
This commit is contained in:
@@ -1,6 +1,9 @@
|
|||||||
goldmark:
|
goldmark:
|
||||||
parser:
|
parser:
|
||||||
wrapStandAloneImageWithinParagraph: false
|
wrapStandAloneImageWithinParagraph: false
|
||||||
|
attribute:
|
||||||
|
block: true
|
||||||
|
title: true
|
||||||
renderer:
|
renderer:
|
||||||
unsafe: true
|
unsafe: true
|
||||||
tableOfContents:
|
tableOfContents:
|
||||||
|
|||||||
@@ -671,14 +671,14 @@ main > article figure.figure-media {
|
|||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
}
|
}
|
||||||
|
|
||||||
main > article > figure.figure-media.figure-media-with-meta:nth-of-type(odd) {
|
main > article > figure.figure-media.figure-media-with-meta:not(.figure-media-centered):nth-of-type(odd) {
|
||||||
--figure-media-column: 2;
|
--figure-media-column: 2;
|
||||||
--figure-meta-column: 1;
|
--figure-meta-column: 1;
|
||||||
--figure-media-justify: start;
|
--figure-media-justify: start;
|
||||||
grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr);
|
grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr);
|
||||||
}
|
}
|
||||||
|
|
||||||
main > article > figure.figure-media.figure-media-with-meta:nth-of-type(odd) > figcaption.figure-media-meta {
|
main > article > figure.figure-media.figure-media-with-meta:not(.figure-media-centered):nth-of-type(odd) > figcaption.figure-media-meta {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
border-left: 0;
|
border-left: 0;
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
@@ -726,16 +726,33 @@ main > article figure.figure-media.figure-media-without-meta > :is(video, img, a
|
|||||||
grid-column: 1;
|
grid-column: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
main > article figure.figure-media.figure-media-centered {
|
||||||
|
--figure-media-column: 1;
|
||||||
|
--figure-meta-column: 1;
|
||||||
|
--figure-media-justify: center;
|
||||||
|
grid-template-columns: minmax(0, 1fr);
|
||||||
|
gap: var(--space-2);
|
||||||
|
}
|
||||||
|
|
||||||
|
main > article figure.figure-media.figure-media-centered > :is(video, img, a) {
|
||||||
|
grid-column: 1;
|
||||||
|
grid-row: 1;
|
||||||
|
}
|
||||||
|
|
||||||
main > article figure.figure-media > figcaption.figure-media-meta {
|
main > article figure.figure-media > figcaption.figure-media-meta {
|
||||||
grid-column: var(--figure-meta-column);
|
grid-column: var(--figure-meta-column);
|
||||||
grid-row: 1;
|
grid-row: 1;
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
|
border-top: 1px solid var(--color-border-strong);
|
||||||
border-left: 1px solid var(--color-border-strong);
|
border-left: 1px solid var(--color-border-strong);
|
||||||
padding-left: var(--space-6);
|
padding-left: var(--space-6);
|
||||||
|
padding-top: var(--space-2);
|
||||||
|
padding-bottom: var(--space-2);
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
min-height: 100%;
|
min-height: 100%;
|
||||||
gap: var(--space-2);
|
gap: var(--space-2);
|
||||||
|
background: color-mix(in srgb, var(--color-background-alt) 82%, transparent);
|
||||||
}
|
}
|
||||||
|
|
||||||
main > article figure.figure-media > figcaption.figure-media-meta > .figure-media-meta-main {
|
main > article figure.figure-media > figcaption.figure-media-meta > .figure-media-meta-main {
|
||||||
@@ -752,19 +769,62 @@ main > article figure.figure-media > figcaption.figure-media-meta > .figure-medi
|
|||||||
gap: var(--space-2);
|
gap: var(--space-2);
|
||||||
}
|
}
|
||||||
|
|
||||||
main > article figure.figure-media > figcaption.figure-media-meta > .figure-media-meta-extra > p.cover-attribution {
|
|
||||||
border-top: var(--border-width-regular) solid var(--color-accent-2);
|
|
||||||
padding-top: var(--space-4);
|
|
||||||
}
|
|
||||||
|
|
||||||
main > article figure.figure-media > figcaption.figure-media-meta p {
|
main > article figure.figure-media > figcaption.figure-media-meta p {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
main > article > figure.figure-media.figure-media-with-meta:nth-of-type(odd) > figcaption.figure-media-meta > .figure-media-meta-extra > p.cover-attribution {
|
main > article figure.figure-media > figcaption.figure-media-meta .cover-title {
|
||||||
|
font-size: clamp(0.98rem, 1.15vw, 1.06rem);
|
||||||
|
letter-spacing: 0.03em;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
main > article figure.figure-media > figcaption.figure-media-meta .cover-description {
|
||||||
|
font-size: 0.95rem;
|
||||||
|
color: var(--color-text-muted);
|
||||||
|
}
|
||||||
|
|
||||||
|
main > article figure.figure-media > figcaption.figure-media-meta > .figure-media-meta-extra > p.cover-attribution {
|
||||||
|
border-top: 1px solid var(--color-border);
|
||||||
|
padding-top: var(--space-2);
|
||||||
|
}
|
||||||
|
|
||||||
|
main > article > figure.figure-media.figure-media-with-meta:not(.figure-media-centered):nth-of-type(odd) > figcaption.figure-media-meta > .figure-media-meta-extra > p.cover-attribution {
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
main > article figure.figure-media.figure-media-centered > figcaption.figure-media-meta {
|
||||||
|
grid-column: 1;
|
||||||
|
grid-row: 2;
|
||||||
|
width: min(100%, 72ch);
|
||||||
|
margin-inline: auto;
|
||||||
|
min-height: 0;
|
||||||
|
text-align: center;
|
||||||
|
border-left: 0;
|
||||||
|
border-right: 0;
|
||||||
|
padding-left: var(--space-2);
|
||||||
|
padding-right: var(--space-2);
|
||||||
|
}
|
||||||
|
|
||||||
|
main > article figure.figure-media.figure-media-centered > figcaption.figure-media-meta > .figure-media-meta-main,
|
||||||
|
main > article figure.figure-media.figure-media-centered > figcaption.figure-media-meta > .figure-media-meta-extra {
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
main > article figure.figure-media.figure-media-centered > figcaption.figure-media-meta > .figure-media-meta-main > :is(.cover-title, .cover-description),
|
||||||
|
main > article figure.figure-media.figure-media-centered > figcaption.figure-media-meta > .figure-media-meta-extra > :is(.cover-attribution, details) {
|
||||||
|
width: min(100%, 68ch);
|
||||||
|
}
|
||||||
|
|
||||||
|
main > article figure.figure-media.figure-media-centered > figcaption.figure-media-meta > .figure-media-meta-extra > p.cover-attribution {
|
||||||
|
width: min(100%, 68ch);
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
main > article figure.figure-media.figure-media-centered > figcaption.figure-media-meta > .figure-media-meta-extra > details {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
main > article figure.figure-media > figcaption.figure-media-meta > .figure-media-meta-extra > details {
|
main > article figure.figure-media > figcaption.figure-media-meta > .figure-media-meta-extra > details {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
@@ -981,13 +1041,17 @@ body:has(> header.article-header) > main > aside.article-toc nav[aria-label="Som
|
|||||||
gap: var(--space-2);
|
gap: var(--space-2);
|
||||||
}
|
}
|
||||||
|
|
||||||
main > article > figure.figure-media.figure-media-with-meta:nth-of-type(odd) {
|
main > article > figure.figure-media.figure-media-with-meta:not(.figure-media-centered):nth-of-type(odd) {
|
||||||
--figure-media-column: 1;
|
--figure-media-column: 1;
|
||||||
--figure-meta-column: 1;
|
--figure-meta-column: 1;
|
||||||
--figure-media-justify: start;
|
--figure-media-justify: start;
|
||||||
grid-template-columns: minmax(0, 1fr);
|
grid-template-columns: minmax(0, 1fr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
main > article figure.figure-media.figure-media-centered {
|
||||||
|
--figure-media-justify: center;
|
||||||
|
}
|
||||||
|
|
||||||
main > article figure.figure-media > :is(video, img, a),
|
main > article figure.figure-media > :is(video, img, a),
|
||||||
main > article figure.figure-media > figcaption.figure-media-meta {
|
main > article figure.figure-media > figcaption.figure-media-meta {
|
||||||
grid-column: 1;
|
grid-column: 1;
|
||||||
@@ -1006,11 +1070,11 @@ body:has(> header.article-header) > main > aside.article-toc nav[aria-label="Som
|
|||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
main > article > figure.figure-media.figure-media-with-meta:nth-of-type(odd) > figcaption.figure-media-meta {
|
main > article > figure.figure-media.figure-media-with-meta:not(.figure-media-centered):nth-of-type(odd) > figcaption.figure-media-meta {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
main > article > figure.figure-media.figure-media-with-meta:nth-of-type(odd) > figcaption.figure-media-meta > .figure-media-meta-extra > p.cover-attribution {
|
main > article > figure.figure-media.figure-media-with-meta:not(.figure-media-centered):nth-of-type(odd) > figcaption.figure-media-meta > .figure-media-meta-extra > p.cover-attribution {
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,11 +19,46 @@
|
|||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- $metaTitle := index $data "title" -}}
|
{{- $metaTitle := index $data "title" -}}
|
||||||
{{- $hasMeta := or $metaTitle (or $description (or $data.attribution $data.prompt)) -}}
|
{{- $hasMeta := or $metaTitle (or $description (or $data.attribution $data.prompt)) -}}
|
||||||
<figure class="figure-media{{ if $hasMeta }} figure-media-with-meta{{ else }} figure-media-without-meta{{ end }}">
|
{{- $attributes := .Attributes | default dict -}}
|
||||||
|
{{- $imageClasses := "" -}}
|
||||||
|
{{- with index $attributes "class" -}}
|
||||||
|
{{- $imageClasses = lower (trim . " ") -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- $layout := "" -}}
|
||||||
|
{{- with index $attributes "layout" -}}
|
||||||
|
{{- $layout = lower (trim . " ") -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- $hasCenterClass := gt (len (findRE `(^|\\s)(center|centered)(\\s|$)` $imageClasses)) 0 -}}
|
||||||
|
{{- $hasFullClass := gt (len (findRE `(^|\\s)(full|full-width|wide)(\\s|$)` $imageClasses)) 0 -}}
|
||||||
|
{{- $forceCentered := false -}}
|
||||||
|
{{- if or (in (slice "center" "centered") $layout) $hasCenterClass -}}
|
||||||
|
{{- $forceCentered = true -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- if or (in (slice "full" "full-width" "wide") $layout) $hasFullClass -}}
|
||||||
|
{{- $forceCentered = true -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- $forceWithoutMeta := false -}}
|
||||||
|
{{- if or (in (slice "full" "full-width" "wide") $layout) $hasFullClass -}}
|
||||||
|
{{- $forceWithoutMeta = true -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- $showMeta := and $hasMeta (not $forceWithoutMeta) -}}
|
||||||
|
{{- $figureClasses := slice "figure-media" -}}
|
||||||
|
{{- if $showMeta -}}
|
||||||
|
{{- $figureClasses = $figureClasses | append "figure-media-with-meta" -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- $figureClasses = $figureClasses | append "figure-media-without-meta" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- if $forceCentered -}}
|
||||||
|
{{- $figureClasses = $figureClasses | append "figure-media-centered" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- with $imageClasses -}}
|
||||||
|
{{- $figureClasses = $figureClasses | append . -}}
|
||||||
|
{{- end -}}
|
||||||
|
<figure class="{{ delimit $figureClasses " " }}">
|
||||||
<a href="{{ $image.RelPermalink }}" title="Cliquez pour agrandir l'image">
|
<a href="{{ $image.RelPermalink }}" title="Cliquez pour agrandir l'image">
|
||||||
<img src="{{ $display.RelPermalink }}" alt="{{ $alt }}" title="{{ $title }}">
|
<img src="{{ $display.RelPermalink }}" alt="{{ $alt }}" title="{{ $title }}">
|
||||||
</a>
|
</a>
|
||||||
{{- if $hasMeta -}}
|
{{- if $showMeta -}}
|
||||||
<figcaption class="figure-media-meta cover-meta">
|
<figcaption class="figure-media-meta cover-meta">
|
||||||
<div class="figure-media-meta-main">
|
<div class="figure-media-meta-main">
|
||||||
{{- with $metaTitle -}}
|
{{- with $metaTitle -}}
|
||||||
|
|||||||
Reference in New Issue
Block a user