2024-01-22 19:15:00 +08:00
|
|
|
import { GeistSans } from "geist/font/sans";
|
|
|
|
import "./globals.css";
|
|
|
|
import { GoogleAnalytics } from "@next/third-parties/google";
|
2024-02-20 22:11:02 +08:00
|
|
|
import Script from "next/script";
|
2024-01-18 15:46:18 +08:00
|
|
|
|
|
|
|
const defaultUrl = process.env.VERCEL_URL
|
|
|
|
? `https://${process.env.VERCEL_URL}`
|
2024-01-22 19:15:00 +08:00
|
|
|
: "http://localhost:3000";
|
2024-01-18 15:46:18 +08:00
|
|
|
|
|
|
|
export const metadata = {
|
2024-02-20 13:26:12 +08:00
|
|
|
manifest: "/manifest.json",
|
2024-01-18 15:46:18 +08:00
|
|
|
metadataBase: new URL(defaultUrl),
|
2024-01-22 19:15:00 +08:00
|
|
|
title: "paper ai 使用真实文献让AI完成论文",
|
|
|
|
description: "写论文最高效的方式",
|
2024-02-20 13:26:12 +08:00
|
|
|
keywords: [
|
|
|
|
"free AI",
|
|
|
|
"免费AI模型",
|
|
|
|
"AI",
|
|
|
|
"AI paper",
|
|
|
|
"true references",
|
|
|
|
"真实文献",
|
|
|
|
"真实文献引用",
|
|
|
|
],
|
|
|
|
authors: [{ name: "liuweiqing", url: "https://github.com/14790897" }],
|
|
|
|
creator: "liuweiqing",
|
|
|
|
publisher: "liuweiqing",
|
|
|
|
alternates: {
|
|
|
|
canonical: "/",
|
|
|
|
languages: {
|
|
|
|
"en-US": "/en-US",
|
|
|
|
"de-DE": "/de-DE",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
openGraph: {
|
|
|
|
images:
|
|
|
|
"https://file.liuweiqing.life/2024/02/540f3476ef43c831934ce0359c367acd.png",
|
|
|
|
},
|
|
|
|
twitter: {
|
|
|
|
card: "page",
|
|
|
|
title: "AI write",
|
|
|
|
description: "The fastest way to write paper",
|
|
|
|
creator: "@hahfrank",
|
|
|
|
images: [
|
|
|
|
"https://file.liuweiqing.life/2024/02/540f3476ef43c831934ce0359c367acd.png",
|
|
|
|
],
|
|
|
|
},
|
2024-01-22 19:15:00 +08:00
|
|
|
};
|
2024-01-18 15:46:18 +08:00
|
|
|
|
|
|
|
export default function RootLayout({
|
|
|
|
children,
|
|
|
|
}: {
|
2024-01-22 19:15:00 +08:00
|
|
|
children: React.ReactNode;
|
2024-01-18 15:46:18 +08:00
|
|
|
}) {
|
|
|
|
return (
|
|
|
|
<html lang="en" className={GeistSans.className}>
|
2024-02-20 22:11:02 +08:00
|
|
|
<Script
|
|
|
|
dangerouslySetInnerHTML={{
|
|
|
|
__html: `
|
|
|
|
// We pre-filled your app ID in the widget URL: 'https://widget.intercom.io/widget/mqoya8yp'
|
|
|
|
(function(){
|
|
|
|
var w = window;
|
|
|
|
var ic = w.Intercom;
|
|
|
|
if (typeof ic === "function") {
|
|
|
|
ic('reattach_activator');
|
|
|
|
ic('update', intercomSettings);
|
|
|
|
} else {
|
|
|
|
var d = document;
|
|
|
|
var i = function() { i.c(arguments); };
|
|
|
|
i.q = [];
|
|
|
|
i.c = function(args) { i.q.push(args); };
|
|
|
|
w.Intercom = i;
|
|
|
|
function l() {
|
|
|
|
var s = d.createElement('script');
|
|
|
|
s.type = 'text/javascript';
|
|
|
|
s.async = true;
|
|
|
|
s.src = 'https://widget.intercom.io/widget/mqoya8yp';
|
|
|
|
var x = d.getElementsByTagName('script')[0];
|
|
|
|
x.parentNode.insertBefore(s, x);
|
|
|
|
}
|
|
|
|
if (d.readyState === 'complete') {
|
|
|
|
l();
|
|
|
|
} else if (w.attachEvent) {
|
|
|
|
w.attachEvent('onload', l);
|
|
|
|
} else {
|
|
|
|
w.addEventListener('load', l, false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})();
|
|
|
|
`,
|
|
|
|
}}
|
|
|
|
/>
|
2024-01-18 15:46:18 +08:00
|
|
|
<body className="bg-background text-foreground">
|
|
|
|
<main className="min-h-screen flex flex-col items-center">
|
|
|
|
{children}
|
|
|
|
</main>
|
|
|
|
</body>
|
2024-01-22 19:15:00 +08:00
|
|
|
<GoogleAnalytics gaId="G-05DHTG9XQ5" />
|
2024-01-18 15:46:18 +08:00
|
|
|
</html>
|
2024-01-22 19:15:00 +08:00
|
|
|
);
|
2024-01-18 15:46:18 +08:00
|
|
|
}
|