From 65ebab416fd153592188a6eef97023296b409cbd Mon Sep 17 00:00:00 2001 From: log101 Date: Sat, 11 May 2024 20:08:36 +0300 Subject: [PATCH] chore: add path alias feat: add category page --- src/components/Header.astro | 23 +++-- src/components/Post.astro | 90 ++++++++++++++----- .../blog/ataturk-ve-demokratik-turkiye.md | 3 +- .../blog/babur-5-bolum-kaptan-ile-mucadele.md | 3 +- src/content/blog/bir-componentin-seruveni.md | 3 +- src/content/config.ts | 10 +-- src/pages/category/[category].astro | 32 ++++++- src/pages/index.astro | 10 +-- tsconfig.json | 8 +- 9 files changed, 136 insertions(+), 46 deletions(-) diff --git a/src/components/Header.astro b/src/components/Header.astro index 35af193..e591509 100644 --- a/src/components/Header.astro +++ b/src/components/Header.astro @@ -1,5 +1,5 @@ --- -import { CATEGORIES } from "../content/config"; + ---
- -

{data.title}

- -

{data.summary}

+ +

{post.data.title}

+
+ + + +
+ + {shortSummary &&

{post.data.summary}

} + {longSummary &&

{post.body.slice(0, 500)}

} + {fullText &&

{post.body}

}
diff --git a/src/content/blog/ataturk-ve-demokratik-turkiye.md b/src/content/blog/ataturk-ve-demokratik-turkiye.md index fd5c66c..f805c78 100644 --- a/src/content/blog/ataturk-ve-demokratik-turkiye.md +++ b/src/content/blog/ataturk-ve-demokratik-turkiye.md @@ -1,7 +1,8 @@ --- title: "Atatürk ve Demokratik Türkiye" summary: Halil İnalcık'ın kaleminden Türkiye Cumhuriyet'nin kuruluş hikayesi ve Atatürk inkılaplarının toplumdaki akisleri. -category: Kitap İncelemesi +category: fikir +subcategory: Kitap İncelemesi date: 2024-03-15 tags: - kitap diff --git a/src/content/blog/babur-5-bolum-kaptan-ile-mucadele.md b/src/content/blog/babur-5-bolum-kaptan-ile-mucadele.md index 66aeb46..8746693 100644 --- a/src/content/blog/babur-5-bolum-kaptan-ile-mucadele.md +++ b/src/content/blog/babur-5-bolum-kaptan-ile-mucadele.md @@ -1,7 +1,8 @@ --- title: "5. Bölüm: Kaptan ile Mücadele" summary: "Babür'ün önünde yalnızca tek bir engel kalmıştır: Komutan." -category: Öykü +category: edebiyat +subcategory: Öykü date: 2024-03-03 tags: - babür diff --git a/src/content/blog/bir-componentin-seruveni.md b/src/content/blog/bir-componentin-seruveni.md index 6fb6dd5..f8504a2 100644 --- a/src/content/blog/bir-componentin-seruveni.md +++ b/src/content/blog/bir-componentin-seruveni.md @@ -1,7 +1,8 @@ --- title: "Bir Komponentin Serüveni: Astro" summary: Yazdığınız komponentlere ne olur? Bu yazıda Astro komponentlerinin serüvenlerine göz atıyoruz! -category: Teknik Yazı +category: teknik +subcategory: Teknik Yazı date: 2024-04-01 tags: - astro diff --git a/src/content/config.ts b/src/content/config.ts index ac195a4..f21da5d 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -1,11 +1,6 @@ import { z, defineCollection } from "astro:content"; -export const CATEGORIES = { - fikir: "Fikir", - teknik: "Teknik", - edebiyat: "Babür'ün Serüvenleri", - ansiklopedi: "Ansiklopedi", -}; +export const CATEGORIES = ["fikir", "teknik", "edebiyat", "ansiklopedi"]; const blogCollection = defineCollection({ type: "content", @@ -14,7 +9,8 @@ const blogCollection = defineCollection({ tags: z.array(z.string()), summary: z.string(), date: z.date(), - category: z.enum(["Kitap İncelemesi", "Teknik Yazı", "Öykü"]), + category: z.enum(["fikir", "teknik", "edebiyat", "ansiklopedi"]), + subcategory: z.string(), }), }); diff --git a/src/pages/category/[category].astro b/src/pages/category/[category].astro index 57db597..70cb068 100644 --- a/src/pages/category/[category].astro +++ b/src/pages/category/[category].astro @@ -1,15 +1,41 @@ --- +import { getCollection } from "astro:content"; import { CATEGORIES } from "../../content/config"; +import Header from "@/components/Header.astro"; +import Footer from "@/components/Footer.astro"; +import Layout from "@/layouts/Layout.astro"; +import Post from "@/components/Post.astro"; + +import "@/styles/home.css"; + export function getStaticPaths() { - return Object.keys(CATEGORIES).map((k) => { + return CATEGORIES.map((c) => { return { - params: { category: k }, + params: { category: c }, }; }); } const { category } = Astro.params; + +const allTeknikPosts = await getCollection( + "blog", + (post) => post.data.category === category +); --- -
Catakulli, {category}!
+ +
+
+
+ { + allTeknikPosts + .sort((p1, p2) => p2.data.date.getTime() - p1.data.date.getTime()) + .map((p) => ) + } +
+ Tüm Yayınlar +
+
diff --git a/src/pages/index.astro b/src/pages/index.astro index 713f22e..cc151fe 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,11 +1,11 @@ --- -import Header from "../components/Header.astro"; -import Footer from "../components/Footer.astro"; -import Layout from "../layouts/Layout.astro"; -import "../styles/home.css"; +import Header from "@/components/Header.astro"; +import Footer from "@/components/Footer.astro"; +import Layout from "@/layouts/Layout.astro"; +import "@/styles/home.css"; import { getCollection } from "astro:content"; -import Post from "../components/Post.astro"; +import Post from "@/components/Post.astro"; const allTeknikPosts = await getCollection("blog"); --- diff --git a/tsconfig.json b/tsconfig.json index bcbf8b5..a997d74 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,3 +1,9 @@ { - "extends": "astro/tsconfigs/strict" + "extends": "astro/tsconfigs/strict", + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + } }