lobe-chat

Форк
0
/
metadata.ts 
60 строк · 1.7 Кб
1
import { Metadata } from 'next';
2

3
import { appEnv } from '@/config/app';
4
import { BRANDING_NAME } from '@/const/branding';
5
import { OFFICIAL_URL, OG_URL } from '@/const/url';
6
import { translation } from '@/server/translation';
7

8
const BASE_PATH = appEnv.NEXT_PUBLIC_BASE_PATH;
9

10
// if there is a base path, then we don't need the manifest
11
const noManifest = !!BASE_PATH;
12

13
export const generateMetadata = async (): Promise<Metadata> => {
14
  const { t } = await translation('metadata');
15

16
  return {
17
    alternates: {
18
      canonical: OFFICIAL_URL,
19
    },
20
    appleWebApp: {
21
      statusBarStyle: 'black-translucent',
22
      title: BRANDING_NAME,
23
    },
24
    description: t('chat.description', { appName: BRANDING_NAME }),
25
    icons: {
26
      apple: '/apple-touch-icon.png?v=1',
27
      icon: '/favicon.ico?v=1',
28
      shortcut: '/favicon-32x32.ico?v=1',
29
    },
30
    manifest: noManifest ? undefined : '/manifest.json',
31
    metadataBase: new URL(OFFICIAL_URL),
32
    openGraph: {
33
      description: t('chat.description', { appName: BRANDING_NAME }),
34
      images: [
35
        {
36
          alt: t('chat.title', { appName: BRANDING_NAME }),
37
          height: 640,
38
          url: OG_URL,
39
          width: 1200,
40
        },
41
      ],
42
      locale: 'en-US',
43
      siteName: BRANDING_NAME,
44
      title: BRANDING_NAME,
45
      type: 'website',
46
      url: OFFICIAL_URL,
47
    },
48
    title: {
49
      default: t('chat.title', { appName: BRANDING_NAME }),
50
      template: `%s · ${BRANDING_NAME}`,
51
    },
52
    twitter: {
53
      card: 'summary_large_image',
54
      description: t('chat.description', { appName: BRANDING_NAME }),
55
      images: [OG_URL],
56
      site: '@lobehub',
57
      title: t('chat.title', { appName: BRANDING_NAME }),
58
    },
59
  };
60
};
61

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.