From 1758dc3153b883de82589566bb050b3f5cf49e5b Mon Sep 17 00:00:00 2001 From: Timothy Pidashev Date: Fri, 22 Aug 2025 23:08:39 -0700 Subject: [PATCH] Fixed --- .../presentation/Presentation.astro | 373 ------------------ .../components/resources/presentation.astro | 326 +++++++++++++++ .../Slide.astro => resources/slide.astro} | 3 +- .../curriculum/python/intro-to-python.mdx | 9 +- .../{presentation.astro => resource.astro} | 35 +- src/src/pages/projects/[...slug].astro | 1 + src/src/pages/resources/[...slug].astro | 50 +-- 7 files changed, 385 insertions(+), 412 deletions(-) delete mode 100644 src/src/components/presentation/Presentation.astro create mode 100644 src/src/components/resources/presentation.astro rename src/src/components/{presentation/Slide.astro => resources/slide.astro} (77%) rename src/src/layouts/{presentation.astro => resource.astro} (54%) diff --git a/src/src/components/presentation/Presentation.astro b/src/src/components/presentation/Presentation.astro deleted file mode 100644 index 62bc0c5..0000000 --- a/src/src/components/presentation/Presentation.astro +++ /dev/null @@ -1,373 +0,0 @@ ---- -// src/components/presentation/Presentation.astro -export interface Props { - autoStart?: boolean; - title?: string; -} - -const { autoStart = false, title = "Start Presentation" } = Astro.props; ---- - - - -
- - - - diff --git a/src/src/components/resources/presentation.astro b/src/src/components/resources/presentation.astro new file mode 100644 index 0000000..302b9f9 --- /dev/null +++ b/src/src/components/resources/presentation.astro @@ -0,0 +1,326 @@ + + +
+ + + + diff --git a/src/src/components/presentation/Slide.astro b/src/src/components/resources/slide.astro similarity index 77% rename from src/src/components/presentation/Slide.astro rename to src/src/components/resources/slide.astro index 5e3a1c6..53c07d5 100644 --- a/src/src/components/presentation/Slide.astro +++ b/src/src/components/resources/slide.astro @@ -4,8 +4,7 @@ export interface Props { highlight?: boolean large?: boolean } - -const { centered, highlight, large} = Astro.props +const { centered = true, highlight, large } = Astro.props ---
diff --git a/src/src/content/resources/curriculum/python/intro-to-python.mdx b/src/src/content/resources/curriculum/python/intro-to-python.mdx index 73a35c7..1ef4695 100644 --- a/src/src/content/resources/curriculum/python/intro-to-python.mdx +++ b/src/src/content/resources/curriculum/python/intro-to-python.mdx @@ -6,9 +6,12 @@ duration: "2 hours" tags: ["python", "programming", "beginner", "fundamentals"] --- -import Slide from "@/components/presentation/Slide.astro"; +import Slide from "@/components/resources/slide.astro"; +import Presentation from "@/components/resources/presentation.astro"; - + + + # Welcome to Python! 🐍 **A beginner-friendly programming language** @@ -250,7 +253,7 @@ print(calculator()) ``` - + ## 🎉 Congratulations! You've learned the basics of Python programming! diff --git a/src/src/layouts/presentation.astro b/src/src/layouts/resource.astro similarity index 54% rename from src/src/layouts/presentation.astro rename to src/src/layouts/resource.astro index dceccfe..adfcda3 100644 --- a/src/src/layouts/presentation.astro +++ b/src/src/layouts/resource.astro @@ -1,8 +1,11 @@ --- -// src/layouts/presentation.astro import "@/style/globals.css"; import { ClientRouter } from "astro:transitions"; +import Header from "@/components/header"; +import Footer from "@/components/footer"; +import Background from "@/components/background"; + export interface Props { title: string; description: string; @@ -34,10 +37,34 @@ const ogImage = "https://timmypidashev.dev/og-image.jpg"; defaultTransition={false} handleFocus={false} /> + - -
- + +
+
+ +
+ +
+ +
+ diff --git a/src/src/pages/projects/[...slug].astro b/src/src/pages/projects/[...slug].astro index 61c46c0..dab9d6a 100644 --- a/src/src/pages/projects/[...slug].astro +++ b/src/src/pages/projects/[...slug].astro @@ -2,6 +2,7 @@ export const prerender = true; import { getCollection } from "astro:content"; + import ContentLayout from "@/layouts/content.astro"; import { Comments } from "@/components/blog/comments"; diff --git a/src/src/pages/resources/[...slug].astro b/src/src/pages/resources/[...slug].astro index d04b40b..5f02c29 100644 --- a/src/src/pages/resources/[...slug].astro +++ b/src/src/pages/resources/[...slug].astro @@ -1,41 +1,31 @@ --- +export const prerender = true; + import { getCollection } from "astro:content"; -import ContentLayout from "@/layouts/content.astro"; -import PresentationLayout from "@/layouts/presentation.astro"; -import Presentation from "@/components/presentation/Presentation.astro"; -const { slug } = Astro.params; +import ResourceLayout from "@/layouts/resource.astro"; -const resources = await getCollection("resources"); -const resource = resources.find(item => item.slug === slug); - -if (!resource) { - return new Response(null, { - status: 404, - statusText: 'Not found' - }); +export async function getStaticPaths() { + const resources = await getCollection("resources"); + return resources.map(resource => ({ + params: { slug: resource.slug }, + props: { resource }, + })); } +const { resource } = Astro.props; const { Content } = await resource.render(); - -const formattedDate = new Date(resource.data.date).toLocaleDateString("en-US", { - year: "numeric", - month: "long", - day: "numeric" -}); - -// Check if this is a curriculum resource to auto-start presentation -const isCurriculum = resource.slug.includes('curriculum'); -const LayoutComponent = isCurriculum ? PresentationLayout : ContentLayout; --- - - - -
+ +
+
+

+ {resource.data.title} +

+
+
- +
+