import Image from "next/image"; import Link from "next/link"; import { notFound } from "next/navigation"; import { ContactSection } from "../../../components/contact-section"; import { DemoCta } from "../../../components/demo-cta"; import { FaqSection } from "../../../components/faq-section"; import { PageSchema } from "../../../components/page-schema"; import { SiteFooter } from "../../../components/site-footer"; import { SiteHeader } from "../../../components/site-header"; import { blogPosts } from "../../../data/blog"; import { defaultFaqs } from "../../../data/faq"; import { siteInfo } from "../../../data/site"; type PageProps = { params: { slug: string }; }; export function generateStaticParams() { return blogPosts.map((post) => ({ slug: post.slug })); } export function generateMetadata({ params }: PageProps) { const post = blogPosts.find((item) => item.slug === params.slug); if (!post) { return { title: "Blog Post" }; } return { title: post.title, description: post.excerpt, keywords: [...siteInfo.keywords, "finance blog", "ledger insights"] }; } export default function BlogPostPage({ params }: PageProps) { const post = blogPosts.find((item) => item.slug === params.slug); if (!post) { notFound(); } const schema = [ { "@context": "https://schema.org", "@type": "Article", headline: post.title, description: post.excerpt, datePublished: post.date, author: { "@type": "Organization", name: siteInfo.name }, image: post.image, mainEntityOfPage: `${siteInfo.url}/blog/${post.slug}` }, { "@context": "https://schema.org", "@type": "FAQPage", mainEntity: defaultFaqs.map((item) => ({ "@type": "Question", name: item.question, acceptedAnswer: { "@type": "Answer", text: item.answer } })) } ]; return (
<- Back to blog

{post.date} - {post.readTime}

{post.title}

{post.excerpt}

{post.title}
{post.content.map((paragraph) => (

{paragraph}

))}
); }