diff --git a/website/package.json b/website/package.json index a478b06..8bf0cd8 100644 --- a/website/package.json +++ b/website/package.json @@ -17,6 +17,7 @@ "dependencies": { "framer-motion": "^4.1.17", "next": "11.0.1", + "next-seo": "^4.26.0", "react": "^17.0.2", "react-dom": "^17.0.2" }, diff --git a/website/pages/[package]/[function].tsx b/website/pages/[package]/[function].tsx index c3c6129..72cd9dc 100644 --- a/website/pages/[package]/[function].tsx +++ b/website/pages/[package]/[function].tsx @@ -1,5 +1,6 @@ import { getMDXComponent } from 'mdx-bundler/client' import { GetStaticPropsContext, InferGetStaticPropsType } from 'next' +import { NextSeo } from 'next-seo' import { useMemo } from 'react' import { mdxComponents } from 'ui/docs/mdxComponents' import { getAllFunctionsMeta, getFunction } from 'utils/loadMDX' @@ -29,5 +30,19 @@ type Props = InferGetStaticPropsType export default function Functions({ meta, code }: Props) { const Component = useMemo(() => getMDXComponent(code), [code]) - return + return ( + <> + + + + ) } diff --git a/website/pages/_app.tsx b/website/pages/_app.tsx index ff230a2..5f983dc 100644 --- a/website/pages/_app.tsx +++ b/website/pages/_app.tsx @@ -4,12 +4,14 @@ import 'public/styles/prism.css' import { AnimatePresence, motion } from 'framer-motion' import { AppProps } from 'next/app' import { Header } from 'ui/Header' +import { SEO } from 'ui/SEO' import { SideBar } from 'ui/SideBar' import { ThemeProvider } from 'ui/ThemeProvider' const App: React.FC = ({ Component, pageProps, router }) => { return ( <> +
diff --git a/website/pages/design.tsx b/website/pages/design.tsx index 0471e32..84483c2 100644 --- a/website/pages/design.tsx +++ b/website/pages/design.tsx @@ -1,5 +1,6 @@ import { getMDXComponent } from 'mdx-bundler/client' import { InferGetStaticPropsType } from 'next' +import { NextSeo } from 'next-seo' import React, { useMemo } from 'react' import { Color } from 'ui/Color' import { loadMdx } from 'utils/loadMDX' @@ -57,144 +58,156 @@ export default function Design({ code }: Props) { const CodeComponent = useMemo(() => getMDXComponent(code), [code]) return ( -
-

Design System

-
-

Colors

-
-

Brand

- -
-
-

Background

-
- - + <> + +
+

Design System

+
+

Colors

+
+

Brand

+
-
- -
-

Foreground

- -
- -
-

Typography

-
- - +
+

Background

+
+ + +
+
+ +
+

Foreground

+
-
-
- -
-

Pill

-
-
active
-
info
-
danger
-
warning
-
success
-
-
- -
-

Typography

-

h1

-

Sphinx of black quartz, judge my vow

- -

h2

-

Sphinx of black quartz, judge my vow

- -

h3

-

Sphinx of black quartz, judge my vow

- -

h4

-

Sphinx of black quartz, judge my vow

- -

p

-

Sphinx of black quartz, judge my vow

- -

p (bold)

-

Sphinx of black quartz, judge my vow

- -

strong

- Sphinx of black quartz, judge my vow - -

p (italic)

-

Sphinx of black quartz, judge my vow

- -

i

- Sphinx of black quartz, judge my vow -
- -
-

Buttons

- - -
- -
-

Link

- Home -
- -
-

Lists

-
    -
  • Charmander
  • -
  • Squirtle
  • -
  • Bulbasaur
  • -
  • Pikachu
  • -
-
    -
  1. Charmander
  2. -
  3. Squirtle
  4. -
  5. Bulbasaur
  6. -
  7. Pikachu
  8. -
-
- -
-

Forms

-
-

Input

-
- -
- - + +
+

Typography

+
+ +
-
-
- - +
+
+ +
+

Pill

+
+
active
+
info
+
danger
+
warning
+
success
+
+
+ +
+

Typography

+

h1

+

Sphinx of black quartz, judge my vow

+ +

h2

+

Sphinx of black quartz, judge my vow

+ +

h3

+

Sphinx of black quartz, judge my vow

+ +

h4

+

Sphinx of black quartz, judge my vow

+ +

p

+

Sphinx of black quartz, judge my vow

+ +

p (bold)

+

Sphinx of black quartz, judge my vow

+ +

strong

+ Sphinx of black quartz, judge my vow + +

p (italic)

+

Sphinx of black quartz, judge my vow

+ +

i

+ Sphinx of black quartz, judge my vow +
+ +
+

Buttons

+ + +
+ +
+

Link

+ Home +
+ +
+

Lists

+
    +
  • Charmander
  • +
  • Squirtle
  • +
  • Bulbasaur
  • +
  • Pikachu
  • +
+
    +
  1. Charmander
  2. +
  3. Squirtle
  4. +
  5. Bulbasaur
  6. +
  7. Pikachu
  8. +
+
+ +
+

Forms

+
+

Input

+
+ +
+ +
-
- - +
+
+ + +
+
+ + +
-
-
- -
-

Code Block

- -
-
+ + +
+

Code Block

+ +
+ + ) } diff --git a/website/ui/SEO.tsx b/website/ui/SEO.tsx new file mode 100644 index 0000000..15cd0f6 --- /dev/null +++ b/website/ui/SEO.tsx @@ -0,0 +1,38 @@ +import { DefaultSeo } from 'next-seo' + +export const SEO: React.FC = () => { + return ( + + ) +} diff --git a/yarn.lock b/yarn.lock index bfd5045..83d597d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5820,6 +5820,11 @@ next-pwa@^5.3.1: workbox-webpack-plugin "^6.2.4" workbox-window "^6.2.4" +next-seo@^4.26.0: + version "4.26.0" + resolved "https://registry.yarnpkg.com/next-seo/-/next-seo-4.26.0.tgz#4218cfae5651fdc2e330dcdf1cc1b34ce199d41c" + integrity sha512-5TqywQ3XAwqdmEU1AyNZjR7WdDKFTkDD8aBtgQelPvzBUEy8i0mTjtiw+09jhiHFNik6FqS8uPKCaYcY6jRgSQ== + next@11.0.1: version "11.0.1" resolved "https://registry.yarnpkg.com/next/-/next-11.0.1.tgz#b8e3914d153aaf7143cb98c09bcd3c8230eeb17a"