Update slug url with new function's slugified url

This commit is contained in:
Sat Naing
2022-09-25 19:07:47 +06:30
parent 013a3299d6
commit 6e79189afd
4 changed files with 11 additions and 7 deletions
+2 -1
View File
@@ -8,6 +8,7 @@ import Card from "@components/Card";
import LinkButton from "@components/LinkButton.astro";
import type { MarkdownInstance } from "astro";
import type { Frontmatter } from "src/types";
import slugify from "@utils/slugify";
export interface Props {
pageNum: number;
@@ -28,7 +29,7 @@ const next = pageNum < totalPages ? "" : "disabled";
{
posts.map(({ frontmatter }) => {
return (
<Card href={`/posts/${frontmatter.slug}`} post={frontmatter} />
<Card href={`/posts/${slugify(frontmatter)}`} post={frontmatter} />
);
})
}
+4 -3
View File
@@ -1,4 +1,5 @@
---
import { SOCIALS } from "src/config";
import Layout from "@layouts/Layout.astro";
import Header from "@components/Header.astro";
import Footer from "@components/Footer.astro";
@@ -6,8 +7,8 @@ import LinkButton from "@components/LinkButton.astro";
import Hr from "@components/Hr.astro";
import Card from "@components/Card";
import getSortedPosts from "@utils/getSortedPosts";
import { SOCIALS } from "src/config";
import socialIcons from "@assets/socialIcons";
import slugify from "@utils/slugify";
import type { Frontmatter } from "src/types";
const posts = await Astro.glob<Frontmatter>("../contents/*.md");
@@ -70,7 +71,7 @@ const sortedPosts = getSortedPosts(posts);
({ frontmatter }) =>
frontmatter.featured && (
<Card
href={`/posts/${frontmatter.slug}`}
href={`/posts/${slugify(frontmatter)}`}
post={frontmatter}
secHeading={false}
/>
@@ -90,7 +91,7 @@ const sortedPosts = getSortedPosts(posts);
({ frontmatter }, index) =>
index < 4 && (
<Card
href={`/posts/${frontmatter.slug}`}
href={`/posts/${slugify(frontmatter)}`}
post={frontmatter}
secHeading={false}
/>
+3 -2
View File
@@ -6,6 +6,7 @@ import getSortedPosts from "@utils/getSortedPosts";
import getPageNumbers from "@utils/getPageNumbers";
import type { MarkdownInstance } from "astro";
import type { Frontmatter } from "src/types";
import slugify from "@utils/slugify";
export interface Props {
post: MarkdownInstance<Frontmatter>;
@@ -27,12 +28,12 @@ type PagePaths = {
}[];
export async function getStaticPaths() {
const posts = await Astro.glob("../../contents/*.md");
const posts = await Astro.glob<Frontmatter>("../../contents/*.md");
let postResult: PostResult = posts.map((post) => {
return {
params: {
slug: post.frontmatter.slug,
slug: slugify(post.frontmatter),
},
props: {
post,
+2 -1
View File
@@ -9,6 +9,7 @@ import getUniqueTags from "@utils/getUniqueTags";
import getPostsByTag from "@utils/getPostsByTag";
import type { MarkdownInstance } from "astro";
import type { Frontmatter } from "src/types";
import slugify from "@utils/slugify";
export interface Props {
post: MarkdownInstance<Frontmatter>;
@@ -52,7 +53,7 @@ const tagPosts = getPostsByTag(posts, tag);
<ul>
{
tagPosts.map(({ frontmatter }) => (
<Card href={`/posts/${frontmatter.slug}`} post={frontmatter} />
<Card href={`/posts/${slugify(frontmatter)}`} post={frontmatter} />
))
}
</ul>