Fix image size in Blogs

This commit is contained in:
itsfinniii
2026-04-05 22:39:35 +02:00
parent 36004bddb0
commit a0473094cf
2 changed files with 28 additions and 21 deletions

View File

@@ -2,7 +2,7 @@
import { getAllPaginatedBlogs } from '@/content/blogs/blogs'; import { getAllPaginatedBlogs } from '@/content/blogs/blogs';
import { getSettings } from '@/content/settings/settings'; import { getSettings } from '@/content/settings/settings';
import CalendarIcon from '@/icons/CalendarIcon.astro'; import CalendarIcon from '@/icons/CalendarIcon.astro';
import { getImageUrl } from '@/lib/images'; import { getImageSize, getImageUrl } from '@/lib/images';
import { markdownToHtml } from '@/lib/markdown'; import { markdownToHtml } from '@/lib/markdown';
import { getBlogRoute } from '@/lib/routing'; import { getBlogRoute } from '@/lib/routing';
import { Image } from 'astro:assets'; import { Image } from 'astro:assets';
@@ -30,23 +30,28 @@ const blogs = await getAllPaginatedBlogs(settings, pageNumber);
</div> </div>
<div class="grid grid-cols-2 gap-6"> <div class="grid grid-cols-2 gap-6">
{ blogs.map((blog) => ( { blogs.map((blog) => {
<a href={getBlogRoute(settings.blog, blog)} class={`flex flex-col gap-2`}> const imageSize = getImageSize(blog.searchEngine.thumbnail.width, blog.searchEngine.thumbnail.height, 0.5);
<Image
src={getImageUrl(blog.searchEngine.thumbnail.url)} return (
alt={blog.title} <a href={getBlogRoute(settings.blog, blog)} class={`flex flex-col gap-2`}>
class="flex rounded-2xl shadow-md w-full" <Image
width={600} src={getImageUrl(blog.searchEngine.thumbnail.url)}
height={315} alt={blog.title}
/> class="flex rounded-2xl shadow-md w-full"
<div class="flex flex-col gap-1"> width={imageSize.width}
<h4 class="font-semibold text-[28px]">{blog.title}</h4> height={imageSize.height}
<div class="flex flex-row items-center gap-1.5 text-neutral-900 text-sm"> />
<CalendarIcon width={20} height={20} /> <div class="flex flex-col gap-1">
<div>{blog.date}</div> <h4 class="font-semibold text-[28px]">{blog.title}</h4>
<div class="flex flex-row items-center gap-1.5 text-neutral-900 text-sm">
<CalendarIcon width={20} height={20} />
<div>{blog.date}</div>
</div>
</div> </div>
</div> </a>
</a> )
)) }
}) }
</div> </div>
</div> </div>

View File

@@ -1,6 +1,6 @@
--- ---
import CalendarIcon from '@/icons/CalendarIcon.astro'; import CalendarIcon from '@/icons/CalendarIcon.astro';
import { getImageUrl } from '@/lib/images'; import { getImageSize, getImageUrl } from '@/lib/images';
import { markdownToHtml } from '@/lib/markdown'; import { markdownToHtml } from '@/lib/markdown';
import { getTypographyClasses } from '@/styles/markdownClasses'; import { getTypographyClasses } from '@/styles/markdownClasses';
import { Image } from 'astro:assets'; import { Image } from 'astro:assets';
@@ -10,6 +10,8 @@ interface Props {
} }
const { blog } = Astro.props; const { blog } = Astro.props;
const imageSize = getImageSize(blog.searchEngine.thumbnail.width, blog.searchEngine.thumbnail.height, 1);
--- ---
<div <div
@@ -29,8 +31,8 @@ const { blog } = Astro.props;
<div class="w-full h-full rounded-2xl shadow-md object-cover"> <div class="w-full h-full rounded-2xl shadow-md object-cover">
<Image <Image
src={getImageUrl(blog.searchEngine.thumbnail.url)} src={getImageUrl(blog.searchEngine.thumbnail.url)}
width="1200" width={imageSize.width}
height="630" height={imageSize.height}
alt={blog.title} alt={blog.title}
class="rounded-2xl" class="rounded-2xl"
/> />