SPB Git forge
15commits 1branches 0releases
29.7 MBsize
maindefault branch
10 days agolast push
TypeScript 36.3% Python 31.8% Go 18% JavaScript 9.8% Shell 1.9% SQL 1.4% CSS 0.5%
1.8 KB · 43 lines tsx
Raw Blame History
1import type { Metadata, Viewport } from 'next';2import { GeistMono } from 'geist/font/mono';3import { GeistSans } from 'geist/font/sans';4import './globals.css';5import { TimeProvider } from '@/lib/time';6import { DESCRIPTION, SITE_NAME, SITE_URL, TAGLINE } from '@/lib/site';78export const metadata: Metadata = {9  metadataBase: new URL(SITE_URL),10  title: { default: `${SITE_NAME} — ${TAGLINE}`, template: `%s · ${SITE_NAME}` },11  description: DESCRIPTION,12  applicationName: SITE_NAME,13  robots: { index: true, follow: true },14  alternates: { canonical: '/' },15  openGraph: { type: 'website', siteName: SITE_NAME, url: SITE_URL, title: `${SITE_NAME} — ${TAGLINE}`, description: DESCRIPTION },16  twitter: { card: 'summary_large_image', title: `${SITE_NAME} — ${TAGLINE}`, description: DESCRIPTION },17  authors: [{ name: 'Simon-Pierre Boucher', url: 'mailto:contact@spboucher.ai' }],18  creator: 'Simon-Pierre Boucher',19  publisher: 'MacLustr (www.maclustr.io)',20  // icons: Next file conventions in src/app — icon.svg, icon.png, apple-icon.png, favicon.ico (generated by scripts/brand.py)21};2223export const viewport: Viewport = {24  width: 'device-width',25  initialScale: 1,26  viewportFit: 'cover',27  themeColor: '#070A0F',28  colorScheme: 'dark',29};3031export default function RootLayout({ children }: { children: React.ReactNode }) {32  return (33    <html lang="en" className={`dark ${GeistSans.variable} ${GeistMono.variable} h-full antialiased`}>34      <body className="flex min-h-full flex-col">35        <a href="#main" className="sr-only focus:not-sr-only focus:fixed focus:left-3 focus:top-3 focus:z-[200] focus:rounded-[3px] focus:bg-accent focus:px-3 focus:py-2 focus:text-sm focus:text-bg">36          Skip to content37        </a>38        <TimeProvider>{children}</TimeProvider>39      </body>40    </html>41  );42}43