[site,title,#94]: fix incorrect page titles
Remove next seo from layout and to pages directly.
This commit is contained in:
parent
13c2234a91
commit
09290d96e8
|
|
@ -1,17 +1,11 @@
|
|||
import Link from 'next/link'
|
||||
import Head from 'next/head'
|
||||
import { NextSeo } from 'next-seo'
|
||||
|
||||
import Nav from './Nav'
|
||||
import siteConfig from '../config/siteConfig'
|
||||
import navLinks from '../config/navLinks.js'
|
||||
|
||||
export default function Layout({ children, title='' }) {
|
||||
export default function Layout({ children }) {
|
||||
return (
|
||||
<>
|
||||
<NextSeo
|
||||
title={title}
|
||||
/>
|
||||
<Head>
|
||||
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🚀</text></svg>" />
|
||||
<meta charSet="utf-8" />
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import MdxPage from '../components/MDX';
|
||||
import { allOtherPages } from 'contentlayer/generated';
|
||||
import { useMDXComponent } from 'next-contentlayer/hooks';
|
||||
import { NewsArticleJsonLd } from 'next-seo';
|
||||
import { NewsArticleJsonLd, NextSeo } from 'next-seo';
|
||||
|
||||
|
||||
export default function Page({ body, ...rest }) {
|
||||
|
|
@ -17,8 +17,19 @@ export default function Page({ body, ...rest }) {
|
|||
tags: rest.tags,
|
||||
}
|
||||
}
|
||||
|
||||
const titleFromUrl = rest._raw.flattenedPath
|
||||
.split("/")
|
||||
.pop()
|
||||
.replace(/-/g, " ")
|
||||
// capitalize first char of each word
|
||||
.replace(/(^\w{1})|(\s{1}\w{1})/g, (str) => str.toUpperCase());
|
||||
|
||||
return (
|
||||
<MdxPage children={children} />
|
||||
<>
|
||||
<NextSeo title={children.frontmatter.title ?? titleFromUrl} />
|
||||
<MdxPage children={children} />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,16 +24,6 @@ function MyApp({ Component, pageProps }) {
|
|||
}, [router.events])
|
||||
}
|
||||
// end Google Analytics
|
||||
|
||||
const pageTitle = (
|
||||
// check if markdown page
|
||||
Component.name == "Page"
|
||||
? pageProps.title ??
|
||||
// convert path to title
|
||||
pageProps._raw.flattenedPath.split("/").pop().replace(/-/g, " ")
|
||||
: Component.name
|
||||
) // capitalize first char of each word
|
||||
.replace(/(^\w{1})|(\s{1}\w{1})/g, (str) => str.toUpperCase());
|
||||
|
||||
return (
|
||||
<ThemeProvider attribute="class" defaultTheme="dark">
|
||||
|
|
@ -66,7 +56,7 @@ function MyApp({ Component, pageProps }) {
|
|||
}}
|
||||
/>
|
||||
)}
|
||||
<Layout title={pageTitle}>
|
||||
<Layout>
|
||||
<Component {...pageProps} />
|
||||
</Layout>
|
||||
</ThemeProvider>
|
||||
|
|
|
|||
|
|
@ -2,16 +2,16 @@ import { Hero } from 'components/Home/Hero'
|
|||
import { Latest } from 'components/Home/Latest'
|
||||
import Features from 'components/Home/Features'
|
||||
import Why from 'components/Home/Why'
|
||||
import { NextSeo } from 'next-seo'
|
||||
|
||||
export default function Home(props) {
|
||||
return (
|
||||
<>
|
||||
<NextSeo title='Home' />
|
||||
<Hero />
|
||||
<Latest />
|
||||
<Features />
|
||||
<Why />
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
Home.layout = 'js'
|
||||
}
|
||||
Loading…
Reference in New Issue