From 537fc2300a77aadcaa36d755be22b700dd557d9d Mon Sep 17 00:00:00 2001 From: log101 Date: Sun, 12 May 2024 11:45:41 +0300 Subject: [PATCH] feat: add post footer --- .prettierignore | 2 ++ src/components/Footer.astro | 1 + src/components/Post.astro | 28 ++++++++++++++++--- .../blog/bir-componentin-seruveni-2.md | 20 +++++++++++++ src/layouts/Layout.astro | 5 ++++ .../category/[category]/[slug]/index.astro | 4 +-- src/pages/category/[category]/index.astro | 1 - 7 files changed, 54 insertions(+), 7 deletions(-) create mode 100644 src/content/blog/bir-componentin-seruveni-2.md diff --git a/.prettierignore b/.prettierignore index 5c4c7ba..8ff2a8b 100644 --- a/.prettierignore +++ b/.prettierignore @@ -2,3 +2,5 @@ build coverage public + +src/content/blog/* diff --git a/src/components/Footer.astro b/src/components/Footer.astro index b08a4db..6e546bc 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -9,6 +9,7 @@ align-items: center; gap: 10px; color: gray; + font-size: var(--small-desktop); } .footer a { diff --git a/src/components/Post.astro b/src/components/Post.astro index cf49aea..0941a6b 100644 --- a/src/components/Post.astro +++ b/src/components/Post.astro @@ -8,10 +8,12 @@ interface Props { const { post, componentType } = Astro.props; -let showTags, shortSummary, longSummary, fullText; +let showTags, shortSummary, longSummary, fullText, postFooter; switch (componentType) { case "full": + postFooter = true; + showTags = true; fullText = true; break; case "long": @@ -30,6 +32,8 @@ const postDateFormatted = post.data.date.toLocaleDateString("tr-TR", { month: "long", year: "numeric", }); + +const { Content } = await post.render(); ---

{post.data.title}

- {shortSummary &&

{post.data.summary}

}
{ showTags && ( @@ -149,18 +158,29 @@ const postDateFormatted = post.data.date.toLocaleDateString("tr-TR", {
+ {shortSummary &&

{post.data.summary}

} { longSummary && ( <>

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

{post.body.length > 500 && ( - + Devamını Oku )} ) } - {fullText &&

{post.body}

} + { + fullText && ( +
+ +
+ ) + } + {postFooter &&

{postDateFormatted}

} diff --git a/src/content/blog/bir-componentin-seruveni-2.md b/src/content/blog/bir-componentin-seruveni-2.md new file mode 100644 index 0000000..b1ee34a --- /dev/null +++ b/src/content/blog/bir-componentin-seruveni-2.md @@ -0,0 +1,20 @@ +--- +title: "Bir Komponentin Serüveni: React" +summary: Yazdığınız komponentlere ne olur? Bu yazıda React komponentlerinin serüvenlerine göz atıyoruz! +category: teknik +subcategory: Teknik Yazı +date: 2024-04-01 +tags: + - react + - javascript +--- + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam ut neque sollicitudin, pretium ipsum lacinia, mattis elit. Fusce in dolor suscipit, rutrum risus vehicula, feugiat ipsum. Sed sit amet enim cursus, efficitur eros eu, dapibus lectus. In nec risus eget nisl sodales bibendum nec sit amet nisl. Nulla a dolor finibus, commodo velit et, aliquam lacus. Nunc cursus ultrices tellus, ut volutpat mauris luctus vitae. Donec tristique sollicitudin est, sed iaculis odio eleifend non. +

+Fusce posuere non elit in vehicula. Proin facilisis dignissim bibendum. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed posuere mi lectus, at eleifend mi tristique eu. Suspendisse potenti. Nam et eros velit. +

+Cras viverra sollicitudin neque et bibendum. Pellentesque ultrices mattis venenatis. Nam leo neque, tristique sed arcu vitae, semper rutrum justo. Ut porta orci nec consectetur bibendum. Etiam feugiat pretium lacus, non molestie lorem cursus sed. Nullam a vehicula turpis, nec tristique mauris. Cras euismod, lectus vitae ultricies elementum, ante dolor cursus lorem, at placerat nulla leo eget mauris. Aenean feugiat est ac sem auctor mollis. Maecenas eget interdum leo. Aenean tristique augue sapien, sit amet malesuada nisl molestie sed. Nullam volutpat pellentesque metus, ut mollis odio. Phasellus molestie iaculis lacinia. +

+Pellentesque vel massa a ipsum volutpat accumsan in vitae eros. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed porttitor non ligula eget congue. Nunc dictum augue in eros mattis, ut varius risus maximus. Etiam augue tortor, rutrum ac quam vitae, iaculis fringilla lacus. Donec ullamcorper nunc non odio eleifend, vel pulvinar neque fermentum. Cras vel cursus metus. Vestibulum volutpat porta urna, aliquam mollis sem placerat nec. Interdum et malesuada fames ac ante ipsum primis in faucibus. Praesent eu dictum odio. Nunc eleifend arcu vulputate, volutpat elit ullamcorper, feugiat sapien. Ut egestas aliquet faucibus. Fusce vitae lectus eu nunc mollis aliquet. Fusce cursus imperdiet auctor. +

+Vivamus urna arcu, bibendum vitae finibus in, fringilla ut nunc. Praesent fermentum velit non tortor porta, et commodo lectus blandit. Sed non mauris libero. Cras interdum, lorem a dignissim sagittis, diam lorem hendrerit lorem, sit amet porta sapien mauris sed augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Proin fringilla urna quis tellus hendrerit mattis. Nulla facilisi. In blandit sapien et lacus sollicitudin, ut elementum ex maximus. Integer efficitur libero eleifend luctus rutrum. Aenean a interdum leo, id blandit ante. Nulla velit dolor, euismod nec tempor ut, lobortis sed orci. Ut euismod tempor turpis ac maximus. Pellentesque odio lectus, malesuada a efficitur ac, placerat vel urna. diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 72cefab..b743a12 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -34,6 +34,11 @@ const { title } = Astro.props; sans-serif; background-color: #f5fffa; } + + * { + margin: 0; + } + body { display: flex; justify-content: center; diff --git a/src/pages/category/[category]/[slug]/index.astro b/src/pages/category/[category]/[slug]/index.astro index df5daae..be622bf 100644 --- a/src/pages/category/[category]/[slug]/index.astro +++ b/src/pages/category/[category]/[slug]/index.astro @@ -5,6 +5,7 @@ import Footer from "@/components/Footer.astro"; import Header from "@/components/Header.astro"; import Layout from "@/layouts/Layout.astro"; import "@/styles/home.css"; +import Post from "@/components/Post.astro"; export async function getStaticPaths() { const blogEntries = await getCollection("blog"); @@ -20,8 +21,7 @@ const { entry } = Astro.props;
- {entry.body} - Tüm Yayınlar +