Compare commits

...

7 Commits
2.0.1 ... 2.0.4

Author SHA1 Message Date
f92f911360 release 2.0.4
Some checks failed
renovate / renovate (push) Successful in 46s
test-build / build (push) Failing after 47s
release-image / release (push) Failing after 1m26s
2025-08-11 19:34:59 -05:00
1cdbbd4a11 use double quotes
Some checks failed
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2025-08-11 19:34:43 -05:00
da7c5c4a58 release 2.0.3
Some checks failed
renovate / renovate (push) Successful in 26s
test-build / build (push) Failing after 33s
release-image / release (push) Failing after 1m18s
2025-08-11 19:29:43 -05:00
931d1009ed support published value
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-08-11 19:29:26 -05:00
43ff986963 release 2.0.2
Some checks failed
renovate / renovate (push) Successful in 34s
test-build / build (push) Failing after 35s
release-image / release (push) Failing after 1m11s
2025-08-11 19:11:27 -05:00
b9d85a5520 fix layout
Some checks failed
renovate / renovate (push) Successful in 31s
test-build / build (push) Failing after 39s
2025-08-11 19:10:46 -05:00
9836b40531 fix height 2025-08-11 18:48:08 -05:00
12 changed files with 24 additions and 35 deletions

View File

@@ -1,7 +1,7 @@
ARG REGISTRY=docker.io ARG REGISTRY=docker.io
FROM ${REGISTRY}/node:22.18.0-alpine3.22 AS base FROM ${REGISTRY}/node:22.18.0-alpine3.22 AS base
LABEL version="2.0.1" LABEL version="2.0.4"
LABEL description="Astro based personal website" LABEL description="Astro based personal website"
ENV PNPM_HOME="/pnpm" ENV PNPM_HOME="/pnpm"

View File

@@ -1,7 +1,7 @@
{ {
"name": "site-profile", "name": "site-profile",
"type": "module", "type": "module",
"version": "2.0.1", "version": "2.0.4",
"homepage": "https://www.alexlebens.dev", "homepage": "https://www.alexlebens.dev",
"bugs": { "bugs": {
"url": "https://gitea.alexlebens.dev/alexlebens/site-profile/issues", "url": "https://gitea.alexlebens.dev/alexlebens/site-profile/issues",

View File

@@ -5,21 +5,9 @@ interface Props {
description: string; description: string;
count: number; count: number;
publishDate: string; publishDate: string;
layoutPattern?: {
smCol: number;
mdCol: number;
row: number;
index: number;
};
} }
const { slug, layoutPattern, title, description, count, publishDate } = Astro.props; const { slug, title, description, count, publishDate } = Astro.props;
const isSingleItem =
layoutPattern &&
layoutPattern.row === 1 &&
(layoutPattern.smCol === 1 || layoutPattern.mdCol === 1);
const formatedDescription = isSingleItem ? `No description available` : description;
const baseClasses = const baseClasses =
'group group-hover rounded-xl flex h-full min-h-[220px] cursor-pointer flex-col overflow-hidden'; 'group group-hover rounded-xl flex h-full min-h-[220px] cursor-pointer flex-col overflow-hidden';
@@ -32,17 +20,17 @@ const bgColorClasses =
<div <div
class={`relative min-h-0 flex-grow overflow-hidden transition-all duration-300 ${bgColorClasses}`} class={`relative min-h-0 flex-grow overflow-hidden transition-all duration-300 ${bgColorClasses}`}
> >
<div class="absolute inset-1 flex flex-col justify-end p-3 md:p-4 lg:p-5"> <div class="absolute inset-1 flex flex-col p-3 md:p-4 lg:p-5">
<h2 <div class="overflow-hidden">
class="group-hover:text-steel dark:group-hover:text-bermuda transition-text mb-4 text-4xl font-extrabold tracking-tight text-balance text-neutral-800 duration-300 dark:text-neutral-200" <h2
> class="group-hover:text-steel dark:group-hover:text-bermuda transition-text mb-4 text-4xl font-extrabold tracking-tight text-balance whitespace-nowrap text-neutral-800 duration-300 dark:text-neutral-200"
{title} >
</h2> {title}
<p </h2>
class=`mb-4 ${isSingleItem ? 'hidden lg:block' : ''} max-w-prose text-pretty font-light text-neutral-600 dark:text-neutral-400 sm:text-lg` <p class="mb-4 font-light text-neutral-600 sm:text-lg dark:text-neutral-400">
> {description}
{formatedDescription} </p>
</p> </div>
<div <div
class="mt-auto flex items-center justify-between pt-1 text-xs text-neutral-600 md:pt-2 dark:text-neutral-300" class="mt-auto flex items-center justify-between pt-1 text-xs text-neutral-600 md:pt-2 dark:text-neutral-300"
> >

View File

@@ -10,7 +10,7 @@ interface Props {
const { title, description, url, icon } = Astro.props; const { title, description, url, icon } = Astro.props;
const baseClasses = 'smooth-reveal-2 group group-hover flex flex-col'; const baseClasses = 'smooth-reveal-2 group group-hover flex flex-col ';
const borderClasses = 'border border-neutral-100 dark:border-stone-500/20'; const borderClasses = 'border border-neutral-100 dark:border-stone-500/20';
const bgColorClasses = const bgColorClasses =
'bg-neutral-100/80 hover:bg-neutral-100 dark:bg-neutral-800/60 dark:hover:bg-neutral-800/90'; 'bg-neutral-100/80 hover:bg-neutral-100 dark:bg-neutral-800/60 dark:hover:bg-neutral-800/90';
@@ -19,7 +19,7 @@ const shadowClasses = 'shadow-xs hover:shadow-md dark:shadow-md dark:hover:shado
<div class={`${baseClasses}`}> <div class={`${baseClasses}`}>
<a <a
class={`rounded-xl duration-300 transition-all ${borderClasses} ${bgColorClasses} ${shadowClasses}`} class={`rounded-xl duration-300 transition-all h-30 ${borderClasses} ${bgColorClasses} ${shadowClasses}`}
href={url} href={url}
data-astro-prefetch data-astro-prefetch
> >

View File

@@ -7,6 +7,7 @@ import BlogCard from '@components/blog/BlogCard.astro';
const posts = await directus.request( const posts = await directus.request(
readItems('posts', { readItems('posts', {
filter: { published: { _eq: true } },
fields: ['*'], fields: ['*'],
sort: ['-published_date'], sort: ['-published_date'],
}) })

5
src/env.d.ts vendored
View File

@@ -1,8 +1,3 @@
<<<<<<< HEAD
/// <reference path="../.astro/types.d.ts" /> /// <reference path="../.astro/types.d.ts" />
/// <reference types="astro/client" /> /// <reference types="astro/client" />
/// <reference types="astro/content" /> /// <reference types="astro/content" />
=======
/// <reference types="astro/client" />
/// <reference path="../.astro/types.d.ts" />
>>>>>>> 184f0c7 (fix path)

View File

@@ -25,6 +25,7 @@ export type Post = {
tags: string[]; tags: string[];
category: string; category: string;
selected: boolean; selected: boolean;
published: boolean;
content: string; content: string;
image: string; image: string;
image_alt: string; image_alt: string;

View File

@@ -13,6 +13,7 @@ import blogImg from '@images/autumn_tree.png';
const global = await directus.request(readSingleton('site_global')); const global = await directus.request(readSingleton('site_global'));
const posts = await directus.request( const posts = await directus.request(
readItems('posts', { readItems('posts', {
filter: { status: { _eq: true } },
fields: ['*'], fields: ['*'],
sort: ['-published_date'], sort: ['-published_date'],
}) })

View File

@@ -21,6 +21,7 @@ const { category } = Astro.props;
const global = await directus.request(readSingleton('site_global')); const global = await directus.request(readSingleton('site_global'));
const posts = await directus.request( const posts = await directus.request(
readItems('posts', { readItems('posts', {
filter: { published: { _eq: true } },
fields: ['*'], fields: ['*'],
sort: ['-published_date'], sort: ['-published_date'],
}) })

View File

@@ -14,6 +14,7 @@ import categoryImg from '@images/autumn_bench.png';
const global = await directus.request(readSingleton('site_global')); const global = await directus.request(readSingleton('site_global'));
const posts = await directus.request( const posts = await directus.request(
readItems('posts', { readItems('posts', {
filter: { published: { _eq: true } },
fields: ['*'], fields: ['*'],
sort: ['-published_date'], sort: ['-published_date'],
}) })
@@ -118,7 +119,6 @@ const description =
description={category.data.description} description={category.data.description}
count={postMap.get(category.slug)?.length ?? 0} count={postMap.get(category.slug)?.length ?? 0}
publishDate={timeago(postMap.get(category.slug)?.[0]?.published_date)} publishDate={timeago(postMap.get(category.slug)?.[0]?.published_date)}
layoutPattern={category.layoutPattern}
/> />
</div> </div>
); );

View File

@@ -11,7 +11,8 @@ import homeImg from '@images/autumn_mountain.png';
const global = await directus.request(readSingleton('site_global')); const global = await directus.request(readSingleton('site_global'));
const description = 'Engineering the cloud by day, homelab by night, and exploring Minnesota in between.'; const description =
'Engineering the cloud by day, homelab by night, and exploring Minnesota in between.';
--- ---
<BaseLayout <BaseLayout

View File

@@ -23,6 +23,7 @@ export async function GET(context: APIContext) {
// Load the content collection entries to add to our RSS feed. // Load the content collection entries to add to our RSS feed.
const posts = await directus.request( const posts = await directus.request(
readItems('posts', { readItems('posts', {
filter: { published: { _eq: true } },
fields: ['*'], fields: ['*'],
sort: ['-published_date'], sort: ['-published_date'],
}) })