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 && (
<a
class="text-inherit text-sm"
href={`/category/${post.data.category}/${post.slug}`}>
href={`/${post.data.category}/${post.slug}`}>
Devamını Oku
</a>
)}

View File

@ -1,4 +1,5 @@
---
import type { Page } from "astro";
import { getCollection } from "astro:content";
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 posts = page.data as Array<any>;
const posts = page.data;
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
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
gezgin olarak tanımlayan bu şahıs bana uzun uzun geliş amacından, geldiği
gezegenden bahsettikten sonra elime eski püskü bir deri çanta tutuşturdu ve
esrarengiz, arabaya benzer aracıyla kaybolup gitti. Eve döndüğümde çantanın
içerisinde üzerlerine yayın tarihleri iliştirilmiş yüzlerce yazı olduğunu
gördüm. Bunlar çoğunlukla, programlamaya, bilgisayarlara dair kısa, bir-iki
sayfalık denemelerdi. Aralarında edebi, felsefi metinlere de rastladım. Bir
de "Babür'ün Serüvenleri" vardı, kalın, kara kapaklı bir roman. Romanın
sayfalarını karıştırırken kucağıma bir not kağıdı düştü. Kağıdın üzerinde
içe içe geçmiş birbirini kesen çemberler vardı, köşesinde de bir şiir.
Sebebini anlamasam da benden bu yazıları yayınlamamı istediklerini anladım,
işte bu genel ağ sayfası da böyle ortaya çıktı.
gezgin olarak tanımlayan bu şahıs bana uzun uzun ziyaret maksadından,
geldiği yerden bahsettikten sonra elime eski püskü bir deri çanta tutuşturdu
ve esrarengiz, arabaya benzer aracıyla kaybolup gitti. Eve döndüğümde
çantanın içerisinde üzerlerine yayın tarihleri iliştirilmiş yüzlerce yazı
olduğunu gördüm. Bunlar çoğunlukla, programlamaya, bilgisayarlara dair kısa,
bir-iki sayfalık denemelerdi. Aralarında edebi, felsefi metinlere de
rastladım. Bir de "Babür'ün Serüvenleri" vardı, kalın, kara kapaklı bir
roman. Romanın sayfalarını karıştırırken kucağıma bir not kağıdı düştü.
Kağıdın üzerinde içe içe geçmiş birbirini kesen çemberler vardı, köşesinde
de bir şiir. Sebebini anlamasam da benden bu yazıları yayınlamamı
istediklerini anladım, işte bu genel ağ sayfası da böyle ortaya çıktı.
</p>
<p>
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" />)
}
</div>
<a class="text-inherit" href="#">Tüm Yayınlar</a>
<a class="text-inherit" href="/posts/1">Tüm Yayınlar</a>
<Footer />
</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>