Compare commits

...

5 Commits

Author SHA1 Message Date
68f179456a feat: reword titles and descriptions
Some checks failed
renovate / renovate (push) Successful in 1m30s
test-build / guarddog (push) Successful in 19s
test-build / build (push) Has been cancelled
2026-03-09 16:58:34 -05:00
568220d39c feat: adjust layout of recent posts 2026-03-09 16:58:34 -05:00
9dfcf6f006 feat: make cards fixed height 2026-03-09 16:58:34 -05:00
62886ba2b3 Merge pull request 'chore(deps): update dependency shiki to v4.0.2' (#372) from renovate/shiki-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 1m9s
test-build / guarddog (push) Successful in 48s
test-build / build (push) Successful in 2m2s
2026-03-09 21:18:05 +00:00
90bc982371 chore(deps): update dependency shiki to v4.0.2
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 26s
test-build / build (pull_request) Successful in 2m4s
2026-03-09 21:17:55 +00:00
7 changed files with 58 additions and 62 deletions

82
pnpm-lock.yaml generated
View File

@@ -70,7 +70,7 @@ importers:
version: 17.0.4
marked-shiki:
specifier: ^1.2.1
version: 1.2.1(marked@17.0.4)(shiki@4.0.1)
version: 1.2.1(marked@17.0.4)(shiki@4.0.2)
mdast-util-to-string:
specifier: ^4.0.0
version: 4.0.0
@@ -97,7 +97,7 @@ importers:
version: 0.1.5
shiki:
specifier: ^4.0.1
version: 4.0.1
version: 4.0.2
tailwindcss:
specifier: ^4.2.1
version: 4.2.1
@@ -1804,47 +1804,47 @@ packages:
'@shikijs/core@3.23.0':
resolution: {integrity: sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==}
'@shikijs/core@4.0.1':
resolution: {integrity: sha512-vWvqi9JNgz1dRL9Nvog5wtx7RuNkf7MEPl2mU/cyUUxJeH1CAr3t+81h8zO8zs7DK6cKLMoU9TvukWIDjP4Lzg==}
'@shikijs/core@4.0.2':
resolution: {integrity: sha512-hxT0YF4ExEqB8G/qFdtJvpmHXBYJ2lWW7qTHDarVkIudPFE6iCIrqdgWxGn5s+ppkGXI0aEGlibI0PAyzP3zlw==}
engines: {node: '>=20'}
'@shikijs/engine-javascript@3.23.0':
resolution: {integrity: sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==}
'@shikijs/engine-javascript@4.0.1':
resolution: {integrity: sha512-DJK9NiwtGYqMuKCRO4Ip0FKNDQpmaiS+K5bFjJ7DWFn4zHueDWgaUG8kAofkrnXF6zPPYYQY7J5FYVW9MbZyBg==}
'@shikijs/engine-javascript@4.0.2':
resolution: {integrity: sha512-7PW0Nm49DcoUIQEXlJhNNBHyoGMjalRETTCcjMqEaMoJRLljy1Bi/EGV3/qLBgLKQejdspiiYuHGQW6dX94Nag==}
engines: {node: '>=20'}
'@shikijs/engine-oniguruma@3.23.0':
resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==}
'@shikijs/engine-oniguruma@4.0.1':
resolution: {integrity: sha512-oCWdCTDch3J8Kc0OZJ98KuUPC02O1VqIE3W/e2uvrHqTxYRR21RGEJMtchrgrxhsoJJCzmIciKsqG+q/yD+Cxg==}
'@shikijs/engine-oniguruma@4.0.2':
resolution: {integrity: sha512-UpCB9Y2sUKlS9z8juFSKz7ZtysmeXCgnRF0dlhXBkmQnek7lAToPte8DkxmEYGNTMii72zU/lyXiCB6StuZeJg==}
engines: {node: '>=20'}
'@shikijs/langs@3.23.0':
resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==}
'@shikijs/langs@4.0.1':
resolution: {integrity: sha512-v/mluaybWdnGJR4GqAR6zh8qAZohW9k+cGYT28Y7M8+jLbC0l4yG085O1A+WkseHTn+awd+P3UBymb2+MXFc8w==}
'@shikijs/langs@4.0.2':
resolution: {integrity: sha512-KaXby5dvoeuZzN0rYQiPMjFoUrz4hgwIE+D6Du9owcHcl6/g16/yT5BQxSW5cGt2MZBz6Hl0YuRqf12omRfUUg==}
engines: {node: '>=20'}
'@shikijs/primitive@4.0.1':
resolution: {integrity: sha512-ns0hHZc5eWZuvuIEJz2pTx3Qecz0aRVYumVQJ8JgWY2tq/dH8WxdcVM49Fc2NsHEILNIT6vfdW9MF26RANWiTA==}
'@shikijs/primitive@4.0.2':
resolution: {integrity: sha512-M6UMPrSa3fN5ayeJwFVl9qWofl273wtK1VG8ySDZ1mQBfhCpdd8nEx7nPZ/tk7k+TYcpqBZzj/AnwxT9lO+HJw==}
engines: {node: '>=20'}
'@shikijs/themes@3.23.0':
resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==}
'@shikijs/themes@4.0.1':
resolution: {integrity: sha512-FW41C/D6j/yKQkzVdjrRPiJCtgeDaYRJFEyCKFCINuRJRj9WcmubhP4KQHPZ4+9eT87jruSrYPyoblNRyDFzvA==}
'@shikijs/themes@4.0.2':
resolution: {integrity: sha512-mjCafwt8lJJaVSsQvNVrJumbnnj1RI8jbUKrPKgE6E3OvQKxnuRoBaYC51H4IGHePsGN/QtALglWBU7DoKDFnA==}
engines: {node: '>=20'}
'@shikijs/types@3.23.0':
resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==}
'@shikijs/types@4.0.1':
resolution: {integrity: sha512-EaygPEn57+jJ76mw+nTLvIpJMAcMPokFbrF8lufsZP7Ukk+ToJYEcswN1G0e49nUZAq7aCQtoeW219A8HK1ZOw==}
'@shikijs/types@4.0.2':
resolution: {integrity: sha512-qzbeRooUTPnLE+sHD/Z8DStmaDgnbbc/pMrU203950aRqjX/6AFHeDYT+j00y2lPdz0ywJKx7o/7qnqTivtlXg==}
engines: {node: '>=20'}
'@shikijs/vscode-textmate@10.0.2':
@@ -5152,8 +5152,8 @@ packages:
shiki@3.23.0:
resolution: {integrity: sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==}
shiki@4.0.1:
resolution: {integrity: sha512-EkAEhDTN5WhpoQFXFw79OHIrSAfHhlImeCdSyg4u4XvrpxKEmdo/9x/HWSowujAnUrFsGOwWiE58a6GVentMnQ==}
shiki@4.0.2:
resolution: {integrity: sha512-eAVKTMedR5ckPo4xne/PjYQYrU3qx78gtJZ+sHlXEg5IHhhoQhMfZVzetTYuaJS0L2Ef3AcCRzCHV8T0WI6nIQ==}
engines: {node: '>=20'}
side-channel-list@1.0.0:
@@ -7577,10 +7577,10 @@ snapshots:
'@types/hast': 3.0.4
hast-util-to-html: 9.0.5
'@shikijs/core@4.0.1':
'@shikijs/core@4.0.2':
dependencies:
'@shikijs/primitive': 4.0.1
'@shikijs/types': 4.0.1
'@shikijs/primitive': 4.0.2
'@shikijs/types': 4.0.2
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
hast-util-to-html: 9.0.5
@@ -7591,9 +7591,9 @@ snapshots:
'@shikijs/vscode-textmate': 10.0.2
oniguruma-to-es: 4.3.4
'@shikijs/engine-javascript@4.0.1':
'@shikijs/engine-javascript@4.0.2':
dependencies:
'@shikijs/types': 4.0.1
'@shikijs/types': 4.0.2
'@shikijs/vscode-textmate': 10.0.2
oniguruma-to-es: 4.3.4
@@ -7602,22 +7602,22 @@ snapshots:
'@shikijs/types': 3.23.0
'@shikijs/vscode-textmate': 10.0.2
'@shikijs/engine-oniguruma@4.0.1':
'@shikijs/engine-oniguruma@4.0.2':
dependencies:
'@shikijs/types': 4.0.1
'@shikijs/types': 4.0.2
'@shikijs/vscode-textmate': 10.0.2
'@shikijs/langs@3.23.0':
dependencies:
'@shikijs/types': 3.23.0
'@shikijs/langs@4.0.1':
'@shikijs/langs@4.0.2':
dependencies:
'@shikijs/types': 4.0.1
'@shikijs/types': 4.0.2
'@shikijs/primitive@4.0.1':
'@shikijs/primitive@4.0.2':
dependencies:
'@shikijs/types': 4.0.1
'@shikijs/types': 4.0.2
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
@@ -7625,16 +7625,16 @@ snapshots:
dependencies:
'@shikijs/types': 3.23.0
'@shikijs/themes@4.0.1':
'@shikijs/themes@4.0.2':
dependencies:
'@shikijs/types': 4.0.1
'@shikijs/types': 4.0.2
'@shikijs/types@3.23.0':
dependencies:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
'@shikijs/types@4.0.1':
'@shikijs/types@4.0.2':
dependencies:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
@@ -10393,10 +10393,10 @@ snapshots:
markdown-table@3.0.4: {}
marked-shiki@1.2.1(marked@17.0.4)(shiki@4.0.1):
marked-shiki@1.2.1(marked@17.0.4)(shiki@4.0.2):
dependencies:
marked: 17.0.4
shiki: 4.0.1
shiki: 4.0.2
marked@17.0.4: {}
@@ -11840,14 +11840,14 @@ snapshots:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
shiki@4.0.1:
shiki@4.0.2:
dependencies:
'@shikijs/core': 4.0.1
'@shikijs/engine-javascript': 4.0.1
'@shikijs/engine-oniguruma': 4.0.1
'@shikijs/langs': 4.0.1
'@shikijs/themes': 4.0.1
'@shikijs/types': 4.0.1
'@shikijs/core': 4.0.2
'@shikijs/engine-javascript': 4.0.2
'@shikijs/engine-oniguruma': 4.0.2
'@shikijs/langs': 4.0.2
'@shikijs/themes': 4.0.2
'@shikijs/types': 4.0.2
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4

View File

@@ -16,13 +16,13 @@ const { post } = Astro.props;
<div class="smooth-reveal-cards group flex flex-col">
<a
class="card-base border-none!"
class="card-base border-none! h-full flex flex-col"
href={`/blog/${post.slug}/`}
data-astro-prefetch
>
<div class="relative shrink-0 rounded-t-xl w-full overflow-hidden before:absolute before:inset-x-0 before:z-1 before:size-full">
<Image
class="rounded-t-xl h-auto w-full"
class="rounded-t-xl h-64 w-full object-cover"
src={getDirectusImageURL(post.image)}
alt={post.image_alt}
draggable="false"
@@ -31,11 +31,11 @@ const { post } = Astro.props;
inferSize={true}
/>
</div>
<div class="rounded-xl p-4 md:p-5">
<div class="rounded-xl p-4 md:p-5 flex flex-col flex-1">
<h3 class="card-text-title text-xl">
{post.title}
</h3>
<div class="ml-6 flex">
<div class="ml-6 flex mt-auto">
<div class="relative inline-block w-full">
<div class="card-text-title card-hover-text-title flex relative items-center mx-auto min-h-11 sm:mx-0 sm:mt-4">
<span class="relative inline-block overflow-hidden ml-2">

View File

@@ -15,7 +15,7 @@ interface Props {
const { url, title, description, logoLight, logoDark, count, publishDate } = Astro.props;
---
<div class="smooth-reveal flex flex-col mx-auto w-full">
<div class="smooth-reveal-cards flex flex-col mx-auto w-full">
<a
class="card-base flex flex-col h-full min-h-55"
href={url}

View File

@@ -19,8 +19,8 @@ const posts = await directus.request(
<section class:list={['mx-auto px-4 py-10 sm:px-6 lg:px-8 lg:py-14 lg:pt-10 2xl:max-w-full', Astro.props.className]}>
<div class="grid grid-cols-1">
<LargeCategoryCard
title="All Categories"
description="Here you can forgoe the organization and just look at everything I have posted"
title="All Posts"
description="Here you can forgoe the organization and browse everything I've posted"
url="/all"
logoLight={global.all_logoLight}
logoDark={global.all_logoDark}

View File

@@ -10,8 +10,8 @@ const global = await directus.request(readSingleton('site_global'));
<section class:list={['mx-auto px-4 py-10 sm:px-6 lg:px-8 lg:py-14 lg:pt-10 2xl:max-w-full', Astro.props.className]}>
<div class="grid grid-cols-1">
<LargeInvisibleCard
title="All Posts"
subTitle="Browse all articles from every category"
title="Read More"
subTitle="Catch up on everything I've written so far here"
url="/all"
img={global.all_image}
imgAlt={global.all_image_alt}

View File

@@ -23,11 +23,9 @@ const { posts, title, subTitle } = Astro.props;
</span>
</div>
</div>
<div class="columns-1 sm:columns-2 lg:columns-3 gap-6">
{posts.map((b) => (
<div class="break-inside-avoid mb-6">
<BlogCard post={b} />
</div>
))}
</div>
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6">
{posts.map((b) =>
<BlogCard post={b} />
)}
</div>
</section>

View File

@@ -37,18 +37,16 @@ const posts = await directus.request(
<HeaderSection
title="All Posts"
subTitle="Browse all articles from every category."
subTitle="Browse all posts from every category."
btnExists
btnTitle="To Categories"
btnURL="/categories"
/>
<section class="max-w-340 2xl:max-w-full mb-10 px-4 sm:px-6 lg:px-8 py-8 mx-auto mt-10">
<div class="columns-1 sm:columns-2 lg:columns-3 gap-6">
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6">
{posts.map((b) =>
<div class="break-inside-avoid mb-6">
<BlogCard post={b} />
</div>
<BlogCard post={b} />
)}
</div>
</section>