feat: fill empty anchor tags
This commit is contained in:
parent
82af925f46
commit
d6aa507e1a
|
@ -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>
|
||||
)}
|
||||
|
|
|
@ -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);
|
||||
---
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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>
|
||||
|
|
74
src/pages/posts/[page].astro
Normal file
74
src/pages/posts/[page].astro
Normal 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>
|
Loading…
Reference in New Issue
Block a user