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 && (
|
{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>
|
||||||
)}
|
)}
|
||||||
|
|
|
@ -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);
|
||||||
---
|
---
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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>
|
||||||
|
|
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