feat: add url to site config, add webp support, change image sizing
All checks were successful
Build / build (push) Successful in 4m4s
Build / deploy-stage (push) Successful in 2m40s
Build / switch-stage (push) Successful in 1m56s

This commit is contained in:
2024-12-15 01:27:03 +01:00
parent a967366a9b
commit af66646775
7 changed files with 64 additions and 14 deletions

View File

@@ -1,4 +1,10 @@
base: / base: https://lena-schilling.at
baseVariants:
- base: https://lena-schilling.ddev.site
condition: 'applicationContext == "Development/Ddev"'
- base: https://lena-schilling.cloonar.dev
condition: 'applicationContext == "Production/Staging"'
dependencies: dependencies:
- georgringer/news - georgringer/news
- typo3/redirects - typo3/redirects

View File

@@ -8,7 +8,7 @@
} }
.frame-type-cloonar_hero + .frame { .frame-type-cloonar_hero + .frame {
margin-top: -10rem; margin-top: -10.4rem;
} }
.frame-type-cloonar_hero .container { .frame-type-cloonar_hero .container {
padding-bottom: 3rem; padding-bottom: 3rem;
@@ -81,6 +81,7 @@
.frame-type-cloonar_hero .hero-image-wrapper { .frame-type-cloonar_hero .hero-image-wrapper {
margin-top: 1rem; margin-top: 1rem;
align-self: flex-end; align-self: flex-end;
width: 100%;
} }
.frame-type-cloonar_hero .hero-image { .frame-type-cloonar_hero .hero-image {

View File

@@ -21,11 +21,23 @@
<f:if condition="{data.image}"> <f:if condition="{data.image}">
<f:then> <f:then>
<picture> <picture>
<!-- WEBP source -->
<source
type="image/webp"
srcset="
{f:uri.image(image:data.image.0, width:'320c', cropVariant:'default', fileExtension:'webp')} 320w,
{f:uri.image(image:data.image.0, width:'768c', cropVariant:'default', fileExtension:'webp')} 768w,
{f:uri.image(image:data.image.0, width:'430c', cropVariant:'default', fileExtension:'webp')} 1024w"
sizes="(max-width: 320px) 80vw,
(max-width: 768px) 80px,
430px" />
<!-- Fallback source -->
<source <source
srcset=" srcset="
{f:uri.image(image:data.image.0, width:'320c', cropVariant:'default')} 320w, {f:uri.image(image:data.image.0, width:'320c', cropVariant:'default')} 320w,
{f:uri.image(image:data.image.0, width:'600c', cropVariant:'default')} 600w, {f:uri.image(image:data.image.0, width:'600c', cropVariant:'default')} 600w,
{f:uri.image(image:data.image.0, width:'430c', cropVariant:'default')} 430w" {f:uri.image(image:data.image.0, width:'430c', cropVariant:'default')} 1024w"
sizes="(max-width: 320px) 80vw, sizes="(max-width: 320px) 80vw,
(max-width: 768px) 80vw, (max-width: 768px) 80vw,
430px" /> 430px" />

View File

@@ -46,11 +46,9 @@
/* Size classes apply at all viewports */ /* Size classes apply at all viewports */
.textimage-image-wrapper.size-25 .textimage-picture { .textimage-image-wrapper.size-25 .textimage-picture {
max-width: 300px;
} }
.textimage-image-wrapper.size-50 .textimage-picture { .textimage-image-wrapper.size-50 .textimage-picture {
max-width: 600px;
} }
/* On larger screens, arrange horizontally for image position settings */ /* On larger screens, arrange horizontally for image position settings */
@@ -63,7 +61,15 @@
flex-direction: row-reverse; flex-direction: row-reverse;
} }
.textimage-wrapper { .textimage-image-wrapper.size-25 {
flex: 0 0 25%;
}
.textimage-image-wrapper.size-50 {
flex: 0 0 50%;
}
.textimage-wrapper {
flex: 1; flex: 1;
} }
} }

View File

@@ -14,7 +14,7 @@ fields:
- identifier: image - identifier: image
type: File type: File
properties: properties:
allowed: [jpg, jpeg, png, gif] allowed: [jpg, jpeg, png, gif, webp]
useExistingField: true useExistingField: true
- identifier: imageorient - identifier: imageorient
useExistingField: true useExistingField: true
@@ -26,4 +26,4 @@ fields:
- label: 25% - label: 25%
value: 1 value: 1
- label: 50% - label: 50%
value: 2 value: 2

View File

@@ -18,6 +18,18 @@
<f:if condition="{data.image}"> <f:if condition="{data.image}">
<f:then> <f:then>
<picture class="textimage-picture"> <picture class="textimage-picture">
<!-- WEBP source -->
<source
type="image/webp"
srcset="
{f:uri.image(image:data.image.0, width:'320c', cropVariant:'default', fileExtension:'webp')} 320w,
{f:uri.image(image:data.image.0, width:'768c', cropVariant:'default', fileExtension:'webp')} 768w,
{f:uri.image(image:data.image.0, width:'1024c', cropVariant:'default', fileExtension:'webp')} 1024w"
sizes="(max-width: 320px) 90vw,
(max-width: 768px) 600px,
600px" />
<!-- Fallback source -->
<source <source
srcset=" srcset="
{f:uri.image(image:data.image.0, width:'320c', cropVariant:'default')} 320w, {f:uri.image(image:data.image.0, width:'320c', cropVariant:'default')} 320w,
@@ -26,6 +38,7 @@
sizes="(max-width: 320px) 90vw, sizes="(max-width: 320px) 90vw,
(max-width: 768px) 600px, (max-width: 768px) 600px,
600px" /> 600px" />
<f:image <f:image
image="{data.image.0}" image="{data.image.0}"
treatIdAsReference="1" treatIdAsReference="1"

View File

@@ -3,7 +3,19 @@
<f:if condition="{newsItem.media}"> <f:if condition="{newsItem.media}">
<f:then> <f:then>
<picture> <picture>
<source <!-- WEBP source -->
<source
type="image/webp"
srcset="
{f:uri.image(image:newsItem.media.0, width:'320c', cropVariant:'default', fileExtension:'webp')} 320w,
{f:uri.image(image:newsItem.media.0, width:'768c', cropVariant:'default', fileExtension:'webp')} 768w,
{f:uri.image(image:newsItem.media.0, width:'1024c', cropVariant:'default', fileExtension:'webp')} 1024w"
sizes="(max-width: 320px) 100vw,
(max-width: 768px) 50px,
400px" />
<!-- Fallback source -->
<source
srcset=" srcset="
{f:uri.image(image:newsItem.media.0, width:'320c', cropVariant:'default')} 320w, {f:uri.image(image:newsItem.media.0, width:'320c', cropVariant:'default')} 320w,
{f:uri.image(image:newsItem.media.0, width:'768c', cropVariant:'default')} 768w, {f:uri.image(image:newsItem.media.0, width:'768c', cropVariant:'default')} 768w,
@@ -11,12 +23,12 @@
sizes="(max-width: 320px) 100vw, sizes="(max-width: 320px) 100vw,
(max-width: 768px) 50vw, (max-width: 768px) 50vw,
400px" /> 400px" />
<f:image <f:image
image="{newsItem.media.0}" image="{newsItem.media.0}"
treatIdAsReference="1" treatIdAsReference="1"
cropVariant="default" cropVariant="default"
width="1024c" width="1024c"
alt="{newsItem.title}" alt="{newsItem.title}"
class="news-item-grid-image" /> class="news-item-grid-image" />
</picture> </picture>
</f:then> </f:then>