From faadb0f6ced9ad9407d33ff5a7d8b0b7eb66c774 Mon Sep 17 00:00:00 2001 From: enjidev Date: Thu, 15 Dec 2022 10:20:52 +0700 Subject: [PATCH] feat: use next-seo --- package.json | 1 + src/components/layouts/PostContentsLayout.tsx | 49 +++++++------------ yarn.lock | 5 ++ 3 files changed, 25 insertions(+), 30 deletions(-) diff --git a/package.json b/package.json index 84687ba2..e1d4f178 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "framer-motion": "^7.6.6", "front-matter": "^4.0.2", "next": "13.0.0", + "next-seo": "^5.15.0", "next-themes": "^0.2.1", "react": "18.2.0", "react-dom": "18.2.0", diff --git a/src/components/layouts/PostContentsLayout.tsx b/src/components/layouts/PostContentsLayout.tsx index 607ae1ca..cd929570 100644 --- a/src/components/layouts/PostContentsLayout.tsx +++ b/src/components/layouts/PostContentsLayout.tsx @@ -1,11 +1,12 @@ import clsx from 'clsx'; +import { ArticleJsonLd } from 'next-seo'; import Head from '@/components/meta/Head'; -import StructuredData from '@/components/meta/StructuredData'; import PageHeader from '@/components/shared/Header/PageHeader'; import TableOfContents from '@/components/shared/TableOfContents'; import { formatDateISO, getPostOgImageUrl } from '@/helpers/post'; +import { getBaseUrl } from '@/helpers/url'; import type { TPostFrontMatter, TTableOfContents } from '@/types'; @@ -28,38 +29,26 @@ function PostContentsLayout({ tags, }); - const structuredData = JSON.stringify({ - '@context': 'https://schema.org', - '@type': 'BlogPosting', - headline: title, - image: [ - { - '@type': 'ImageObject', - contentUrl: ogImage, - creditText: 'enji.dev', - creator: { - '@type': 'Person', - name: 'Enji Kusnadi', - url: 'https://twitter.com/enjidev', - }, - copyrightNotice: 'Enji Kusnadi', - }, - ], - datePublished: formatDateISO(date), - dateModified: formatDateISO(date), - author: [ - { - '@type': 'Person', - name: 'Enji Kusnadi', - url: 'https://twitter.com/enjidev', - }, - ], - }); - return ( <> - +