diff --git a/package-lock.json b/package-lock.json index fe4feb05..192e72d9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "lodash": "^4.17.21", "markdown-it": "^13.0.1", "next": "^12.2.5", + "next-seo": "^5.5.0", "rc-tooltip": "^5.1.0", "react": "^17.0.1", "react-dom": "^17.0.1", @@ -2673,6 +2674,16 @@ } } }, + "node_modules/next-seo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/next-seo/-/next-seo-5.5.0.tgz", + "integrity": "sha512-5ouBHFtx8YrSDW44lj0qIEQ+oMcz6stgoITB+SqHUZbhgizoJsyLmq73gJ0lxtEKpcN8vG2QgRIJfdb8OAPChw==", + "peerDependencies": { + "next": "^8.1.1-canary.54 || >=9.0.0", + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, "node_modules/node-abi": { "version": "3.24.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.24.0.tgz", @@ -5958,6 +5969,12 @@ "use-sync-external-store": "1.2.0" } }, + "next-seo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/next-seo/-/next-seo-5.5.0.tgz", + "integrity": "sha512-5ouBHFtx8YrSDW44lj0qIEQ+oMcz6stgoITB+SqHUZbhgizoJsyLmq73gJ0lxtEKpcN8vG2QgRIJfdb8OAPChw==", + "requires": {} + }, "node-abi": { "version": "3.24.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.24.0.tgz", diff --git a/package.json b/package.json index 1965e876..ce49002f 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "lodash": "^4.17.21", "markdown-it": "^13.0.1", "next": "^12.2.5", + "next-seo": "^5.5.0", "rc-tooltip": "^5.1.0", "react": "^17.0.1", "react-dom": "^17.0.1", diff --git a/pages/[...slug].tsx b/pages/[...slug].tsx index 5ae1bf6d..fa0dd683 100644 --- a/pages/[...slug].tsx +++ b/pages/[...slug].tsx @@ -2,7 +2,7 @@ import Head from "next/head" import { App } from "src/components/App" import { tail } from "lodash" import { Page } from "src/components/Page" -import { Meta } from "src/components/Meta" +import { NextSeo } from "next-seo" import { MetaBuilder } from "src/lib/meta" import { apiGet } from "@/next-lib" import { GetStaticProps, NextPage } from "next" @@ -57,94 +57,116 @@ const Index: NextPage = props => { } return ( - - - {props.title} - {!props.meta ? null : ( - - )} - + <> + {!props.meta ? null : ( + + )} - -
- {props.tokens.map((x, i) => { - switch (x.token) { - case "html": - return ( - - ) + + {props.title} + - case "instagram": - return ( - - ) + +
+ {props.tokens.map((x, i) => { + switch (x.token) { + case "html": + return ( + + ) - case "youtube": - return ( - - ) + case "instagram": + return ( + + ) - case "image": - return ( - - ) + case "youtube": + return ( + + ) - case "file": - return ( - - ) + case "image": + return ( + + ) - case "grid": - return ( - - ) + case "file": + return ( + + ) - default: - return ( -
-                                    {JSON.stringify(x)}
-                                
- ) - } - })} -
-
- + case "grid": + return ( + + ) + + default: + return ( +
+                                        {JSON.stringify(x)}
+                                    
+ ) + } + })} +
+
+
+ ) } diff --git a/pages/index.tsx b/pages/index.tsx index 521a293f..5d853c61 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,6 +1,6 @@ import Head from "next/head" import { App } from "src/components/App" -import { Meta } from "src/components/Meta" +import { NextSeo } from "next-seo" import { PageGrid } from "src/components/PageGrid" import { HudozkaTitle } from "src/components/HudozkaTitle" import { MetaBuilder } from "src/lib/meta" @@ -17,26 +17,46 @@ type Props = { } const Index: NextPage = props => ( - - - {props.title} - - - - + + + {props.title} + + + - - + + + ) export const getStaticProps: GetStaticProps = async () => { diff --git a/src/components/Meta/index.tsx b/src/components/Meta/index.tsx deleted file mode 100644 index f932a7aa..00000000 --- a/src/components/Meta/index.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import { IMeta } from "src/types" - -export type MetaProps = { - meta: IMeta -} - -export const Meta: React.FC = ({ meta }) => ( - <> - {/* Search Engine */} - - - - {/* Schema.org for Google */} - - - - - {/* Open Graph general (Facebook, Pinterest & Google+) */} - - - - - - - - - - - {/* Twitter */} - - - - - - - - - -)