From bb7481670eedd4693f8e698261dc87243fd29448 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Tue, 10 Jun 2025 13:44:56 +0000 Subject: feat: add header component and update blog layout - Introduced a new Header component for site navigation. - Integrated Header into BaseLayout for consistent site structure. - Updated blog post layout to include the post title in a dedicated section. - Minor update to README for license clarity. --- src/pages/blog/[...slug].astro | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'src/pages/blog') diff --git a/src/pages/blog/[...slug].astro b/src/pages/blog/[...slug].astro index 41b0f5c..c4e542c 100644 --- a/src/pages/blog/[...slug].astro +++ b/src/pages/blog/[...slug].astro @@ -32,11 +32,13 @@ const formattedDate = dayjs(post.data.pubDate.toString()).format("MMMM DD, YYYY"
+
+

{post.data.title}

+
+

- < Home -  •  Posted by {post.data.author} @@ -46,10 +48,6 @@ const formattedDate = dayjs(post.data.pubDate.toString()).format("MMMM DD, YYYY"

-
-

{post.data.title}

-
-
-- cgit v1.2.3 From 4e8c17a6eadebf847e497752a6f0bda25cd29f49 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Tue, 10 Jun 2025 14:05:48 +0000 Subject: chore: update blog routing and header link - Removed the redirects for the blog route in the configuration. - Updated the blog link in the Header component to include a trailing slash. - Added a new index page for the blog to display all posts. --- astro.config.mjs | 6 ------ src/components/Header.astro | 2 +- src/pages/blog/index.astro | 17 +++++++++++++++++ 3 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 src/pages/blog/index.astro (limited to 'src/pages/blog') diff --git a/astro.config.mjs b/astro.config.mjs index d8e7708..07e5d30 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -15,10 +15,4 @@ export default defineConfig({ theme: "vitesse-dark", }, }, - redirects: { - "/blog": { - destination: "/", - status: 301, - }, - }, }); diff --git a/src/components/Header.astro b/src/components/Header.astro index b371be6..4571a5c 100644 --- a/src/components/Header.astro +++ b/src/components/Header.astro @@ -18,5 +18,5 @@
Home - Blog + Blog
diff --git a/src/pages/blog/index.astro b/src/pages/blog/index.astro new file mode 100644 index 0000000..210a7a1 --- /dev/null +++ b/src/pages/blog/index.astro @@ -0,0 +1,17 @@ +--- +import { getCollection } from "astro:content"; +import Layout from "../../layouts/BaseLayout.astro"; +import PostSummary from "../../components/PostSummary.astro"; + +const posts = await getCollection("blog", ({ data }) => { + return data.draft !== true; +}); + +posts.sort((a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime()); +--- + + +
+ {posts.map((post) => )} +
+
-- cgit v1.2.3 From 9ebcd40f60ffa393a56db850b6a6d0cf15ef4211 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Tue, 10 Jun 2025 14:17:48 +0000 Subject: feat: create PostElement component for blog post display - Added a new PostElement component to render individual blog posts with title, publication date, and reading time. - Updated the blog index page to utilize PostElement instead of PostSummary for improved post presentation. --- src/components/PostElement.astro | 32 ++++++++++++++++++++++++++++++++ src/pages/blog/index.astro | 6 ++++-- 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 src/components/PostElement.astro (limited to 'src/pages/blog') diff --git a/src/components/PostElement.astro b/src/components/PostElement.astro new file mode 100644 index 0000000..703189e --- /dev/null +++ b/src/components/PostElement.astro @@ -0,0 +1,32 @@ +--- +import { type CollectionEntry } from "astro:content"; +import dayjs from "dayjs"; + +type Props = { + readonly post: CollectionEntry<"blog">; +}; + +const { post } = Astro.props; +const { remarkPluginFrontmatter } = await post.render(); +const formattedDate = dayjs(post.data.pubDate.toString()).format("MMMM DD, YYYY"); +--- + + + +
  • + {post.data.title} +
    + + + + {remarkPluginFrontmatter.minutesRead} + +
    +
  • diff --git a/src/pages/blog/index.astro b/src/pages/blog/index.astro index 210a7a1..48d33e8 100644 --- a/src/pages/blog/index.astro +++ b/src/pages/blog/index.astro @@ -1,7 +1,7 @@ --- import { getCollection } from "astro:content"; import Layout from "../../layouts/BaseLayout.astro"; -import PostSummary from "../../components/PostSummary.astro"; +import PostElement from "../../components/PostElement.astro"; const posts = await getCollection("blog", ({ data }) => { return data.draft !== true; @@ -12,6 +12,8 @@ posts.sort((a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime());
    - {posts.map((post) => )} +
      + {posts.map((post) => )} +
    -- cgit v1.2.3