feat: fill empty anchor tags

This commit is contained in:
log101 2024-06-22 18:28:25 +03:00
parent 82af925f46
commit d6aa507e1a
5 changed files with 93 additions and 14 deletions

View File

@ -107,7 +107,7 @@ import calendar from "@/images/calendar.svg";
{post.body.length > 500 && ( {post.body.length > 500 && (
<a <a
class="text-inherit text-sm" class="text-inherit text-sm"
href={`/category/${post.data.category}/${post.slug}`}> href={`/${post.data.category}/${post.slug}`}>
Devamını Oku Devamını Oku
</a> </a>
)} )}

View File

@ -1,4 +1,5 @@
--- ---
import type { Page } from "astro";
import { getCollection } from "astro:content"; import { getCollection } from "astro:content";
import { CATEGORIES } from "@/content/config"; import { CATEGORIES } from "@/content/config";
@ -21,9 +22,13 @@ export async function getStaticPaths({ paginate }: { paginate: any }) {
}); });
} }
interface Props {
page: Page;
}
const { page } = Astro.props; const { page } = Astro.props;
const posts = page.data as Array<any>; const posts = page.data;
const pages = Array.from({ length: page.lastPage }, (_, i) => i + 1); const pages = Array.from({ length: page.lastPage }, (_, i) => i + 1);
--- ---

View File

@ -11,17 +11,17 @@ import Layout from "@/layouts/Layout.astro";
yalnızca eğlence amaçlı kullanılıyor. Programlama ise orada bir spor yalnızca eğlence amaçlı kullanılıyor. Programlama ise orada bir spor
sayılıyor, hatta bir olimpiyat sporu! Bunları, yıllar önce benimle iletişime sayılıyor, hatta bir olimpiyat sporu! Bunları, yıllar önce benimle iletişime
geçen Merhume isimli bir şahıstan öğrendim. Kendisini gezegenlerarası bir geçen Merhume isimli bir şahıstan öğrendim. Kendisini gezegenlerarası bir
gezgin olarak tanımlayan bu şahıs bana uzun uzun geliş amacından, geldiği gezgin olarak tanımlayan bu şahıs bana uzun uzun ziyaret maksadından,
gezegenden bahsettikten sonra elime eski püskü bir deri çanta tutuşturdu ve geldiği yerden bahsettikten sonra elime eski püskü bir deri çanta tutuşturdu
esrarengiz, arabaya benzer aracıyla kaybolup gitti. Eve döndüğümde çantanın ve esrarengiz, arabaya benzer aracıyla kaybolup gitti. Eve döndüğümde
içerisinde üzerlerine yayın tarihleri iliştirilmiş yüzlerce yazı olduğunu çantanın içerisinde üzerlerine yayın tarihleri iliştirilmiş yüzlerce yazı
gördüm. Bunlar çoğunlukla, programlamaya, bilgisayarlara dair kısa, bir-iki olduğunu gördüm. Bunlar çoğunlukla, programlamaya, bilgisayarlara dair kısa,
sayfalık denemelerdi. Aralarında edebi, felsefi metinlere de rastladım. Bir bir-iki sayfalık denemelerdi. Aralarında edebi, felsefi metinlere de
de "Babür'ün Serüvenleri" vardı, kalın, kara kapaklı bir roman. Romanın rastladım. Bir de "Babür'ün Serüvenleri" vardı, kalın, kara kapaklı bir
sayfalarını karıştırırken kucağıma bir not kağıdı düştü. Kağıdın üzerinde roman. Romanın sayfalarını karıştırırken kucağıma bir not kağıdı düştü.
içe içe geçmiş birbirini kesen çemberler vardı, köşesinde de bir şiir. Kağıdın üzerinde içe içe geçmiş birbirini kesen çemberler vardı, köşesinde
Sebebini anlamasam da benden bu yazıları yayınlamamı istediklerini anladım, de bir şiir. Sebebini anlamasam da benden bu yazıları yayınlamamı
işte bu genel ağ sayfası da böyle ortaya çıktı. istediklerini anladım, işte bu genel ağ sayfası da böyle ortaya çıktı.
</p> </p>
<p> <p>
Tüm bu yazılar veya bu yaşadıklarım ne anlama geliyor, inanın bilmiyorum. Tüm bu yazılar veya bu yaşadıklarım ne anlama geliyor, inanın bilmiyorum.

View File

@ -18,6 +18,6 @@ const allTeknikPosts = await getCollection("blog");
.map((p) => <Post post={p} componentType="short" />) .map((p) => <Post post={p} componentType="short" />)
} }
</div> </div>
<a class="text-inherit" href="#">Tüm Yayınlar</a> <a class="text-inherit" href="/posts/1">Tüm Yayınlar</a>
<Footer /> <Footer />
</Layout> </Layout>

View File

@ -0,0 +1,74 @@
---
import type { Page } from "astro";
import { getCollection } from "astro:content";
import Header from "@/components/Header.astro";
import Footer from "@/components/Footer.astro";
import Layout from "@/layouts/Layout.astro";
import Post from "@/components/Post.astro";
export async function getStaticPaths({ paginate }: { paginate: any }) {
const blogEntries = await getCollection("blog");
return paginate(blogEntries, {
pageSize: 3,
});
}
interface Props {
page: Page;
}
const { page } = Astro.props;
const posts = page.data;
const pages = Array.from({ length: page.lastPage }, (_, i) => i + 1);
---
<Layout title="log101">
<Header />
<div class="posts">
{
posts.length > 0 ? (
posts
.sort((p1, p2) => p2.data.date.getTime() - p1.data.date.getTime())
.map((p) => <Post post={p} componentType="long" />)
) : (
<p>
Henüz bu kategoride bir yazı yayınlanmadı. Yazarımızın ilhama veya
teşviğe ihtiyacı olabilir!
</p>
)
}
</div>
{
page.lastPage != 1 && (
<>
<div id="pagination-container" class="flex gap-2">
<a href={page.url.prev} class="no-underline text-inherit">
<button class="cursor-pointer">geri git</button>
</a>
{pages.map((pageNumber) => {
switch (pageNumber) {
case page.currentPage:
return <a>{pageNumber}</a>;
default:
return (
<a
href={`${page.url.current.slice(0, -1)}${pageNumber}`}
class="text-inherit">
{pageNumber}
</a>
);
}
})}
<a href={page.url.next} class="no-underline text-inherit">
<button class="cursor-pointer">ileri git</button>
</a>
</div>
</>
)
}
<Footer />
</Layout>