diff --git a/src/assets/bubble-static.svg b/src/assets/bubble-static.svg new file mode 100644 index 0000000..b24d3e9 --- /dev/null +++ b/src/assets/bubble-static.svg @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/bubble.svg b/src/assets/bubble.svg index 29d8ff6..3c31f1a 100644 --- a/src/assets/bubble.svg +++ b/src/assets/bubble.svg @@ -13,7 +13,7 @@ - + diff --git a/src/assets/dual-ripples-static.svg b/src/assets/dual-ripples-static.svg new file mode 100644 index 0000000..6b419e9 --- /dev/null +++ b/src/assets/dual-ripples-static.svg @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/ripple-line-static.svg b/src/assets/ripple-line-static.svg new file mode 100644 index 0000000..8ea35a8 --- /dev/null +++ b/src/assets/ripple-line-static.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/speedline-static.svg b/src/assets/speedline-static.svg new file mode 100644 index 0000000..033c08e --- /dev/null +++ b/src/assets/speedline-static.svg @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/speedline.svg b/src/assets/speedline.svg index 52620ed..fa1ae04 100644 --- a/src/assets/speedline.svg +++ b/src/assets/speedline.svg @@ -3,15 +3,8 @@ 0% { transform: translate(0,-4235.551275463989px); } 100% { transform: translate(0,4235.551275463989px); } } - .ld.ld-speed-dash { - animation: ld-speed-dash 1s linear infinite; - } - - @media (prefers-reduced-motion: reduce) { - .ld.ld-speed-dash { - animation-play-state: paused; - } + animation: ld-speed-dash 100s linear infinite; } diff --git a/src/assets/valley-static.svg b/src/assets/valley-static.svg new file mode 100644 index 0000000..1399fc3 --- /dev/null +++ b/src/assets/valley-static.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/components/bits/BackgroundGradient.astro b/src/components/bits/BackgroundGradient.astro new file mode 100644 index 0000000..a0524d8 --- /dev/null +++ b/src/components/bits/BackgroundGradient.astro @@ -0,0 +1,17 @@ +--- +--- + +
+ + \ No newline at end of file diff --git a/src/components/bits/BlogCard.astro b/src/components/bits/BlogCard.astro index 6245203..1226e7a 100644 --- a/src/components/bits/BlogCard.astro +++ b/src/components/bits/BlogCard.astro @@ -9,7 +9,7 @@ const { blogPost } = Astro.props; --- -
+

{blogPost.data.title}


{blogPost.body?.substring(0, 150)}{blogPost.body && blogPost.body.length > 150 ? "..." : ""}

@@ -17,7 +17,7 @@ const { blogPost } = Astro.props;
Tags:
    {blogPost.data.tags.map(tag =>
  • { tag }
  • )}
: null } -
+
\ No newline at end of file diff --git a/src/components/bits/SlideContainer.astro b/src/components/bits/SlideContainer.astro deleted file mode 100644 index 2079866..0000000 --- a/src/components/bits/SlideContainer.astro +++ /dev/null @@ -1,34 +0,0 @@ ---- -interface Props { - anchorLink: string; - background?: string; - bgImageUrl?: string; -} - -const { anchorLink, background, bgImageUrl } = Astro.props; - -const backgroundColor =background ?? "transparent"; -const backgroundImage = bgImageUrl ? `url(${bgImageUrl})` : "none"; ---- - -
- - -
- - \ No newline at end of file diff --git a/src/components/bits/WritingCard.astro b/src/components/bits/WritingCard.astro index 913e644..1f0962b 100644 --- a/src/components/bits/WritingCard.astro +++ b/src/components/bits/WritingCard.astro @@ -10,7 +10,7 @@ const entries = (await getCollection("writing")).filter(entry => entry.data.chap entries.sort((a, b) => a.data.part - b.data.part); --- -
+

{chapter.data.name}

{chapter.data.subtitle}

@@ -20,10 +20,10 @@ entries.sort((a, b) => a.data.part - b.data.part);
  • {entry.data.title}
  • )) } -
    + diff --git a/src/components/bytes/Projects.astro b/src/components/bytes/Projects.astro index 0f759a4..6289c15 100644 --- a/src/components/bytes/Projects.astro +++ b/src/components/bytes/Projects.astro @@ -1,26 +1,30 @@ --- import Background from "../../assets/dual-ripples.svg"; +import BackgroundStatic from "../../assets/dual-ripples-static.svg"; import ProjectCard from "../bits/ProjectCard.astro"; +import BackgroundGradient from "../bits/BackgroundGradient.astro"; import { getCollection } from "astro:content"; const projectCollection = await getCollection("projects"); projectCollection.sort((a, b) => b.data.published.valueOf() - a.data.published.valueOf()); --- -
    - +
    + + +

    Meine Projekte

    -
      +
        { projectCollection.map(project => { return (
      • ); }) }
      -
    + diff --git a/src/components/bytes/Welcome.astro b/src/components/bytes/Welcome.astro index 83ddf5d..9b487c4 100644 --- a/src/components/bytes/Welcome.astro +++ b/src/components/bytes/Welcome.astro @@ -1,7 +1,9 @@ --- import Background from '../../assets/speedline.svg'; +import BackgroundStatic from '../../assets/speedline-static.svg'; import arrowDown from '../../assets/arrow-down-indicator.svg'; import WelcomeTypewriter from '../bits/WelcomeTypewriter.astro'; +import BackgroundGradient from "../bits/BackgroundGradient.astro"; export interface Props { nextSlideAnchor: string; @@ -11,22 +13,24 @@ const { nextSlideAnchor } = Astro.props; //const backgroundImage = `url(${background.src})`; --- -
    - -
    +
    + + + +

    Hallöchen!

    Ich bin Daniel.

    -
    +
    - Runterscrollen + Runterscrollen
    \ No newline at end of file diff --git a/src/content.config.ts b/src/content.config.ts index b6e87c4..d764766 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -41,6 +41,7 @@ const blog = defineCollection({ site_title: z.string().optional(), relatedWebsite: z.string().url().optional(), published: z.date(), + summary: z.string().optional(), tags: z.array(z.string()).optional(), isDraft: z.boolean().optional(), }), diff --git a/src/layouts/BlogLayout.astro b/src/layouts/BlogLayout.astro new file mode 100644 index 0000000..fb65bd4 --- /dev/null +++ b/src/layouts/BlogLayout.astro @@ -0,0 +1,110 @@ +--- +import CommonLayout from "./CommonLayout.astro"; +import Background from "../assets/ripple-line.svg"; +import BackgroundStatic from "../assets/ripple-line-static.svg"; +import BackgroundGradient from "../components/bits/BackgroundGradient.astro"; +import "katex/dist/katex.min.css"; +import "rehype-callouts/theme/obsidian" + +export interface Props { + title: string; + backLink?: string; + breadcrumbs?: string[]; +} + +const { title, backLink, breadcrumbs } = Astro.props; +--- + + + +
    +
    + + + +
    +
    +
    +
    + + +
    +
    + +
    + + + + diff --git a/src/layouts/CommonLayout.astro b/src/layouts/CommonLayout.astro index ecdcfeb..f6011aa 100644 --- a/src/layouts/CommonLayout.astro +++ b/src/layouts/CommonLayout.astro @@ -3,11 +3,9 @@ import HTMLHead from "./HTMLHead.astro"; export interface Props { title: string; - background?: string; - bgImageUrl?: string; } -const { background, bgImageUrl, title } = Astro.props; +const { title } = Astro.props; --- @@ -16,7 +14,7 @@ const { background, bgImageUrl, title } = Astro.props; - - - \ No newline at end of file diff --git a/src/pages/blog/[post].astro b/src/pages/blog/[post].astro new file mode 100644 index 0000000..f81d818 --- /dev/null +++ b/src/pages/blog/[post].astro @@ -0,0 +1,19 @@ +--- +import { getCollection, render } from "astro:content"; +import BlogLayout from "../../layouts/BlogLayout.astro"; + +export async function getStaticPaths() { + const blogPosts = await getCollection("blog"); + + return blogPosts.map(post => ({ + params: { post: post.id }, props: { post } + })); +} + +const { post } = Astro.props; +const { Content } = await render(post); +--- + + + + \ No newline at end of file diff --git a/src/pages/index.astro b/src/pages/index.astro index 03c7596..13a94e8 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -8,7 +8,7 @@ import Blog from '../components/bytes/Blog.astro'; --- - + diff --git a/src/pages/test.astro b/src/pages/test.astro index fefed58..26215e5 100644 --- a/src/pages/test.astro +++ b/src/pages/test.astro @@ -16,6 +16,6 @@ const { Content } = await render(anfang); --- - + \ No newline at end of file