2020-04-06 20:27:35 +00:00
|
|
|
import Head from 'next/head'
|
|
|
|
import Link from 'next/link'
|
2020-09-10 17:32:06 +00:00
|
|
|
import { createMdxProvider } from '@hashicorp/nextjs-scripts/lib/providers/docs'
|
|
|
|
import DocsPage from '@hashicorp/react-docs-page'
|
|
|
|
import { SearchProvider } from '@hashicorp/react-search'
|
|
|
|
import SearchBar from '../components/search-bar'
|
|
|
|
import { frontMatter as data } from '../pages/api-docs/**/*.mdx'
|
|
|
|
import order from '../data/api-navigation.js'
|
2020-04-07 23:56:08 +00:00
|
|
|
|
2020-09-10 17:32:06 +00:00
|
|
|
const MDXProvider = createMdxProvider({ product: 'consul' })
|
2020-04-06 20:27:35 +00:00
|
|
|
|
|
|
|
function ApiDocsLayoutWrapper(pageMeta) {
|
|
|
|
function ApiDocsLayout(props) {
|
2020-09-10 17:32:06 +00:00
|
|
|
const { children, ...propsWithoutChildren } = props
|
2020-04-06 20:27:35 +00:00
|
|
|
return (
|
2020-09-10 17:32:06 +00:00
|
|
|
<MDXProvider>
|
2020-04-07 23:56:08 +00:00
|
|
|
<DocsPage
|
2020-09-10 17:32:06 +00:00
|
|
|
{...propsWithoutChildren}
|
2020-04-07 23:56:08 +00:00
|
|
|
product="consul"
|
|
|
|
head={{
|
|
|
|
is: Head,
|
|
|
|
title: `${pageMeta.page_title} | Consul by HashiCorp`,
|
|
|
|
description: pageMeta.description,
|
|
|
|
siteName: 'Consul by HashiCorp',
|
|
|
|
}}
|
|
|
|
sidenav={{
|
|
|
|
Link,
|
|
|
|
category: 'api-docs',
|
|
|
|
currentPage: props.path,
|
|
|
|
data,
|
2020-09-10 17:32:06 +00:00
|
|
|
disableFilter: true,
|
2020-04-07 23:56:08 +00:00
|
|
|
order,
|
|
|
|
}}
|
|
|
|
resourceURL={`https://github.com/hashicorp/consul/blob/master/website/pages/${pageMeta.__resourcePath}`}
|
2020-09-10 17:32:06 +00:00
|
|
|
>
|
|
|
|
<SearchProvider>
|
|
|
|
<SearchBar />
|
|
|
|
{children}
|
|
|
|
</SearchProvider>
|
|
|
|
</DocsPage>
|
2020-04-07 23:56:08 +00:00
|
|
|
</MDXProvider>
|
2020-04-06 20:27:35 +00:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
ApiDocsLayout.getInitialProps = ({ asPath }) => ({ path: asPath })
|
|
|
|
|
|
|
|
return ApiDocsLayout
|
|
|
|
}
|
|
|
|
|
|
|
|
export default ApiDocsLayoutWrapper
|