diff --git a/src/main/handlebars/feed.handlebars b/src/main/handlebars/feed.handlebars index f233b1b..6455a76 100755 --- a/src/main/handlebars/feed.handlebars +++ b/src/main/handlebars/feed.handlebars @@ -42,7 +42,20 @@ {{> partials/weather in=.}} - {{> partials/images in=. first=@first}} + + {{#with images.0}} +
+ {{title}}, {{date meta.dateTime format='d.m.Y H:i'}} +
+ {{/with}} +
+ {{#each images}} + {{#unless (equals @index 0)}} + {{title}}, {{date meta.dateTime format='d.m.Y H:i'}} + {{/unless}} + {{/each}} +
+
{{& content}} diff --git a/src/main/handlebars/layout.handlebars b/src/main/handlebars/layout.handlebars index 142d0d9..92c9be5 100755 --- a/src/main/handlebars/layout.handlebars +++ b/src/main/handlebars/layout.handlebars @@ -543,21 +543,27 @@ } .images { + position: relative; margin-top: 1rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; + overflow: hidden; &.overview { grid-template-columns: 1fr 1fr 1fr 1fr; padding-bottom: 1rem; } - &.all, &.is-single { + &.all, &.is-single, &.is-preview { grid-template-columns: 1fr; } - &.is-single video { + &.is-single .image :is(img, video) { + aspect-ratio: auto; + } + + &.is-preview .image :is(img, video) { aspect-ratio: auto; } @@ -565,12 +571,52 @@ grid-column: 1 / 3; } - .image img, .image video { + .image :is(img, video) { aspect-ratio: 15 / 10; object-fit: cover; border-radius: .25rem; box-shadow: .25rem .25rem 1rem rgb(0 0 0 / .2); } + + .is-video::after { + content: url('/static/play.svg'); + position: absolute; + inset: 0; + margin: auto; + width: max(5%, 2rem); + aspect-ratio: 1 / 1; + filter: drop-shadow(.25rem .25rem .25rem rgb(0 0 0 / .5)); + } + + .more { + --_size: 10rem; + --_overlap: 8rem; + + position: absolute; + bottom: 1.5rem; + left: 1.5rem; + display: flex; + isolation: isolate; + + img { + display: block; + border: .25rem solid white; + border-radius: .35rem; + width: var(--_size); + aspect-ratio: 1 / 1; + object-fit: cover; + box-shadow: .5rem .5rem 1rem rgb(0 0 0 / .2); + transition: margin ease-in-out 150ms; + } + + img:not(:first-child) { + margin-left: calc(-1 * var(--_overlap)); + } + + &:hover img:not(:first-child) { + margin-left: 1rem; + } + } } .marker { @@ -751,6 +797,17 @@ } @media (max-width: 619px) { + .images .more { + --_size: 5rem; + --_overlap: 4rem; + bottom: 1rem; + left: 1rem; + + img { + border-width: .15rem; + } + } + #lightbox { margin-left: 0; margin-right: 0; diff --git a/src/main/handlebars/partials/images.handlebars b/src/main/handlebars/partials/images.handlebars index 9a26320..56dcf55 100755 --- a/src/main/handlebars/partials/images.handlebars +++ b/src/main/handlebars/partials/images.handlebars @@ -2,7 +2,7 @@ {{#each in.images}}
{{#if is.video}} -