---
// Cspell:words astro imhoff fullsize webp pagefind
import type { CollectionEntry } from 'astro:content';
type JournalType = CollectionEntry<'journal'>;
import { getCollection } from 'astro:content';
import { formatPosts, isProduction, sortMarkdownByDate } from '../utils';
import { site } from '../data/site';
import GridLayout from '../layouts/GridLayout.astro';
import PageTitle from '../components/PageTitle.astro';
import Image from '../components/Image.astro';
import JournalList from '../components/JournalList.astro';
/* FIXME: Remove hack as soon as this issue is resolved:
* Issue: https://github.com/withastro/roadmap/issues/533
* Proposal: https://github.com/withastro/roadmap/discussions/419
*/
import WriteFile from '../components/WriteFile.astro';
import RssXml from '../components/RssXml.astro';
import Headline from '../components/Headline.astro';
import MoreLink from '../components/MoreLink.astro';
import { Content as AboutMe } from '../text/homepage/about-me.mdx';
import { Content as WhatIDo } from '../text/homepage/what-i-do.mdx';
import { Content as Journal } from '../text/homepage/journal.mdx';
import { mapping } from '../mdx-components';
const allPosts = await getCollection('journal', ({ data }: JournalType) => !data.draft);
const formattedLatest = formatPosts(allPosts, { limit: 6 });
const title = 'Stefan Imhoff';
const description = 'Web UI Engineer from Hamburg, Germany';
const rssPosts = await Astro.glob('../content/journal/**/*.mdx');
rssPosts.sort(sortMarkdownByDate);
---
{site.title}
{site.tagline}
About Me
What I Do
Journal