Files
lixiyu-net/components/utils/SEO.tsx
2024-08-12 11:09:58 +08:00

27 lines
1.2 KiB
TypeScript

import { RSSFeedURL } from "@/consts/consts";
import { Config } from "@/data/config";
import Head from "next/head";
type TSEOProps = { title: string; description?: string | null; coverURL?: string | null; smallTwitterCard?: boolean };
export const SEO = (props: TSEOProps) => {
return (
<Head>
<title>{props.title}</title>
<link href={RSSFeedURL} rel="alternate" type="application/rss+xml" />
<meta content={props.coverURL ?? Config.PageCovers.websiteCoverURL} name="twitter:image" />
<meta content={props.smallTwitterCard ? "summary" : "summary_large_image"} name="twitter:card" />
<meta content={`@${Config.SocialLinks.twitter}`} name="twitter:site" />
<meta content={`@${Config.SocialLinks.twitter}`} name="twitter:creator" />
<meta content={props.title} name="twitter:title" />
<meta content={props.description ?? props.title} name="twitter:description" />
<meta content={props.coverURL ?? Config.PageCovers.websiteCoverURL} name="og:image" />
<meta content={props.description ?? props.title} name="og:image:alt" />
<meta content={props.title} name="og:title" />
<meta content={props.description ?? props.title} name="og:description" />
</Head>
);
};