1
0
mirror of https://github.com/Damillora/Yuika synced 2024-11-22 17:27:32 +00:00
Yuika/partials/post-background.hbs
2019-11-09 04:03:25 +07:00

48 lines
1.8 KiB
Handlebars

{{!--
Wow what the hell is going on in here even?
Ok so, several templates use this big header with a giant BG image. Nice idea, but big images
have a heavy impact on performance, so it's a good idea to make them responsive. Because we
can only get the image dynamically using Handlebars, and we can only set the image to properly
be a background image using CSS, we end up with a handful of inline styles.
If the template in question has a background image, then we render responsive image styles
for it, and apply those styles to the <header> tag. Else, we just output a <header> tag
with a `no-image` class so we can style it accordingly.
--}}
{{#if feature_image}}
<style type="text/css">
.responsive-{{slug}}-img {
background-image: url({{img_url feature_image size='xl'}});
}
@media(max-width: 1000px) {
.responsive-{{slug}}-img {
background-image: url({{img_url feature_image size='l'}});
background-image: -webkit-image-set(url({{img_url feature_image size='l'}}) 1x,
url({{img_url feature_image size='xl'}}) 2x);
background-image: image-set(url({{img_url feature_image size='l'}}) 1x,
url({{img_url feature_image size='xl'}}) 2x);
}
}
@media(max-width: 600px) {
.responsive-{{slug}}-img {
background-image: url({{img_url feature_image size='m'}});
background-image: -webkit-image-set(url({{img_url feature_image size='m'}}) 1x,
url({{img_url feature_image size='l'}}) 2x);
background-image: image-set(url({{img_url feature_image size='m'}}) 1x,
url({{img_url feature_image size='l'}}) 2x);
}
}
</style>
<div class="h-40 md:h-64 responsive-{{slug}}-img bg-cover bg-center">
{{else}}
<div class="h-40 md:h-64 bg-black">
{{/if}}