Add some slugify to permalinks
This commit is contained in:
@ -4,7 +4,7 @@ import { fetchPosts } from "~/utils/fetchPosts";
|
||||
import Layout from "~/layouts/BlogLayout.astro";
|
||||
import BlogList from "~/components/widgets/BlogList.astro";
|
||||
import Pagination from "~/components/widgets/Pagination.astro";
|
||||
import { getCanonical, getPermalink } from "~/utils/permalinks";
|
||||
import { getCanonical, getPermalink, BLOG_BASE } from "~/utils/permalinks";
|
||||
|
||||
|
||||
export async function getStaticPaths({ paginate }) {
|
||||
@ -13,7 +13,7 @@ export async function getStaticPaths({ paginate }) {
|
||||
const posts = await fetchPosts();
|
||||
|
||||
return paginate(posts, {
|
||||
params: { blog: BLOG?.slug || undefined },
|
||||
params: { blog: BLOG_BASE || undefined },
|
||||
pageSize: BLOG.postsPerPage,
|
||||
});
|
||||
}
|
||||
|
@ -1,10 +1,11 @@
|
||||
---
|
||||
|
||||
import { SITE, BLOG } from "~/config.mjs";
|
||||
import { fetchPosts } from "~/utils/fetchPosts";
|
||||
import Layout from "~/layouts/BlogLayout.astro";
|
||||
import BlogList from "~/components/widgets/BlogList.astro";
|
||||
import Pagination from "~/components/widgets/Pagination.astro";
|
||||
import { getCanonical, getPermalink } from "~/utils/permalinks";
|
||||
import { getCanonical, getPermalink, getSlug, CATEGORY_BASE } from "~/utils/permalinks";
|
||||
|
||||
|
||||
export async function getStaticPaths({ paginate }) {
|
||||
@ -19,19 +20,19 @@ export async function getStaticPaths({ paginate }) {
|
||||
|
||||
return Array.from(categories).map((category) => (
|
||||
paginate(posts.filter((post) => typeof post.category === "string" && category === post.category.toLowerCase()), {
|
||||
params: { category, categories: BLOG?.category?.slug || undefined },
|
||||
params: { category: getSlug(category), categories: CATEGORY_BASE || undefined },
|
||||
pageSize: BLOG.postsPerPage,
|
||||
props: { category }
|
||||
})
|
||||
))
|
||||
}
|
||||
|
||||
const { page } = Astro.props;
|
||||
const { category } = Astro.params;
|
||||
const { page, category } = Astro.props;
|
||||
|
||||
const currentPage = page.currentPage ?? 1;
|
||||
|
||||
const meta = {
|
||||
title: `Category ${category} ${currentPage > 1 ? `— Page ${currentPage} ` : ""}— ${SITE.name}`,
|
||||
title: `Category '${category}' ${currentPage > 1 ? `— Page ${currentPage} ` : ""}— ${SITE.name}`,
|
||||
description: SITE.description,
|
||||
canonical: getCanonical(getPermalink(page.url.current))
|
||||
}
|
||||
@ -39,7 +40,7 @@ const meta = {
|
||||
|
||||
<Layout meta={{ ...meta, noindex: true }}>
|
||||
<Fragment slot="title">
|
||||
Category {category}
|
||||
Category: {category}
|
||||
</Fragment>
|
||||
<BlogList page={page} />
|
||||
<Pagination prevUrl={page.url.prev} nextUrl={page.url.next} />
|
||||
|
@ -4,7 +4,7 @@ import { fetchPosts } from "~/utils/fetchPosts";
|
||||
import Layout from "~/layouts/BlogLayout.astro";
|
||||
import BlogList from "~/components/widgets/BlogList.astro";
|
||||
import Pagination from "~/components/widgets/Pagination.astro";
|
||||
import { getCanonical, getPermalink } from "~/utils/permalinks";
|
||||
import { getCanonical, getPermalink, getSlug, TAG_BASE } from "~/utils/permalinks";
|
||||
|
||||
|
||||
export async function getStaticPaths({ paginate }) {
|
||||
@ -19,14 +19,14 @@ export async function getStaticPaths({ paginate }) {
|
||||
|
||||
return Array.from(tags).map((tag) => (
|
||||
paginate(posts.filter((post) => Array.isArray(post.tags) && post.tags.includes(tag)), {
|
||||
params: { tag, tags: BLOG?.tag?.slug || undefined },
|
||||
params: { tag: getSlug(tag), tags: TAG_BASE || undefined },
|
||||
pageSize: BLOG.postsPerPage,
|
||||
props: { tag },
|
||||
})
|
||||
))
|
||||
}
|
||||
|
||||
const { page } = Astro.props;
|
||||
const { tag } = Astro.params;
|
||||
const { page, tag } = Astro.props;
|
||||
|
||||
const currentPage = page.currentPage ?? 1;
|
||||
|
||||
@ -39,7 +39,7 @@ const meta = {
|
||||
|
||||
<Layout meta={{ ...meta, noindex: true }}>
|
||||
<Fragment slot="title">
|
||||
Tag {tag}
|
||||
Tag: {tag}
|
||||
</Fragment>
|
||||
<BlogList page={page} />
|
||||
<Pagination prevUrl={page.url.prev} nextUrl={page.url.next} />
|
||||
|
Reference in New Issue
Block a user