forked from CaliCastle/cali.so
-
Notifications
You must be signed in to change notification settings - Fork 0
/
layout.tsx
96 lines (91 loc) · 2.29 KB
/
layout.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import './globals.css'
import './clerk.css'
import './prism.css'
import { ClerkProvider } from '@clerk/nextjs'
import type { Metadata, Viewport } from 'next'
import { ThemeProvider } from '~/app/(main)/ThemeProvider'
import { url } from '~/lib'
import { zhCN } from '~/lib/clerkLocalizations'
import { sansFont } from '~/lib/font'
import { seo } from '~/lib/seo'
export const metadata: Metadata = {
metadataBase: seo.url,
title: {
template: '%s | lemondy',
default: seo.title,
},
description: seo.description,
keywords: 'lemondy,张云,,开发者,数据挖掘工程师,设计师,细节控,创新',
themeColor: [
{ media: '(prefers-color-scheme: dark)', color: '#000212' },
{ media: '(prefers-color-scheme: light)', color: '#fafafa' },
],
manifest: '/site.webmanifest',
robots: {
index: true,
follow: true,
googleBot: {
index: true,
follow: true,
'max-video-preview': -1,
'max-image-preview': 'large',
'max-snippet': -1,
},
},
openGraph: {
title: {
default: seo.title,
template: '%s | lemondy',
},
description: seo.description,
siteName: 'lemondy',
locale: 'zh_CN',
type: 'website',
url: 'https://lemondy.org',
},
twitter: {
site: '@thecalicastle',
creator: '@thecalicastle',
card: 'summary_large_image',
title: seo.title,
description: seo.description,
},
alternates: {
canonical: url('/'),
types: {
'application/rss+xml': [{ url: 'rss', title: 'RSS 订阅' }],
},
},
}
export const viewport: Viewport = {
themeColor: [
{ media: '(prefers-color-scheme: dark)', color: '#000212' },
{ media: '(prefers-color-scheme: light)', color: '#fafafa' },
],
}
export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<ClerkProvider localization={zhCN}>
<html
lang="zh-CN"
className={`${sansFont.variable} m-0 h-full p-0 font-sans antialiased`}
suppressHydrationWarning
>
<body className="flex h-full flex-col">
<ThemeProvider
attribute="class"
defaultTheme="system"
enableSystem
disableTransitionOnChange
>
{children}
</ThemeProvider>
</body>
</html>
</ClerkProvider>
)
}