open-nomad/website/layouts/docs.jsx

53 lines
1.6 KiB
React
Raw Normal View History

2020-06-19 17:56:01 +00:00
import Head from 'next/head'
import Link from 'next/link'
import DocsPage from '@hashicorp/react-docs-page'
2020-06-19 17:56:01 +00:00
import { createMdxProvider } from '@hashicorp/nextjs-scripts/lib/providers/docs'
import order from '../data/docs-navigation.js'
2020-02-06 23:45:31 +00:00
import { frontMatter } from '../pages/docs/**/*.mdx'
import Placement from '../components/placement-table'
2020-05-27 03:00:14 +00:00
import Search from '../components/search'
import SearchProvider from '../components/search/provider'
2020-02-06 23:45:31 +00:00
2020-06-19 17:56:01 +00:00
const MDXProvider = createMdxProvider({
product: 'nomad',
additionalComponents: { Placement },
2020-06-19 17:56:01 +00:00
})
2020-02-06 23:45:31 +00:00
2020-06-01 21:48:25 +00:00
export default function DocsLayoutWrapper(pageMeta) {
2020-02-06 23:45:31 +00:00
function DocsLayout(props) {
2020-05-27 03:00:14 +00:00
const { children, ...propsWithoutChildren } = props
2020-02-06 23:45:31 +00:00
return (
2020-06-19 17:56:01 +00:00
<MDXProvider>
2020-02-06 23:45:31 +00:00
<DocsPage
2020-05-27 03:00:14 +00:00
{...propsWithoutChildren}
product="nomad"
head={{
is: Head,
title: `${pageMeta.page_title} | Nomad by HashiCorp`,
description: pageMeta.description,
2020-06-19 17:56:01 +00:00
siteName: 'Nomad by HashiCorp',
}}
sidenav={{
Link,
category: 'docs',
currentPage: props.path,
data: frontMatter,
2020-06-19 17:56:01 +00:00
order,
2020-05-27 03:00:14 +00:00
disableFilter: true,
}}
resourceURL={`https://github.com/hashicorp/nomad/blob/master/website/pages/${pageMeta.__resourcePath}`}
2020-05-27 03:00:14 +00:00
>
<SearchProvider>
<Search placeholder="Search Nomad documentation" />
{children}
</SearchProvider>
</DocsPage>
2020-02-06 23:45:31 +00:00
</MDXProvider>
)
}
DocsLayout.getInitialProps = ({ asPath }) => ({ path: asPath })
2020-02-06 23:45:31 +00:00
return DocsLayout
}