diff --git a/packages/nextra-theme/src/components/EditPageLink.tsx b/packages/nextra-theme/src/components/EditPageLink.tsx index 5ae5180673d4..80cdcb347cf8 100644 --- a/packages/nextra-theme/src/components/EditPageLink.tsx +++ b/packages/nextra-theme/src/components/EditPageLink.tsx @@ -24,13 +24,15 @@ export const EditPageLink = ({ mobile = false, ...props }: EditPageLinkProps) => // If the current page is in a language other than English, link to the English version, as translations are handled by Crowdin const { filePath } = useContext(NavContext)! - const pagePathSegments = filePath.split('/') - pagePathSegments[1] = ['en', '[locale]'].includes(pagePathSegments[1]) ? pagePathSegments[1] : 'en' - const pagePath = pagePathSegments.join('/') - + const [, fileLocale, ...filePathSegments] = filePath.split('/') + const path = filePath.startsWith('https') + ? filePath + : `https://github.com/graphprotocol/docs/blob/main/website/pages/${ + ['en', '[locale]'].includes(fileLocale) ? fileLocale : 'en' + }/${filePathSegments.join('/')}` return ( + diff --git a/packages/nextra-theme/src/layout/MDXLayoutNav.tsx b/packages/nextra-theme/src/layout/MDXLayoutNav.tsx index ad5bf479def6..b7cdaa228c05 100644 --- a/packages/nextra-theme/src/layout/MDXLayoutNav.tsx +++ b/packages/nextra-theme/src/layout/MDXLayoutNav.tsx @@ -3,7 +3,7 @@ import { keyframes } from '@emotion/react' import * as Collapsible from '@radix-ui/react-collapsible' import { useRouter } from 'next/router' import { Item } from 'nextra/normalize-pages' -import { PropsWithChildren, useContext, useEffect, useState } from 'react' +import { Fragment, PropsWithChildren, useContext, useEffect, useState } from 'react' import { BorderRadius, buildTransition, Flex, Icon, NestedStrings, Spacing, Text, useI18n } from '@edgeandnode/gds' @@ -185,6 +185,10 @@ export const MDXLayoutNav = ({ mobile = false }: { mobile?: boolean }) => { return {pageItem.title} } if ('children' in pageItem && pageItem.children) { + if (pageItem.type === 'children') { + return {pageItem.children.map(renderSidebar)} + } + return ( ({ props: { diff --git a/website/pages/[locale]/index.mdx b/website/pages/[locale]/index.mdx index fdd24be5489c..f8ba0afa670c 100644 --- a/website/pages/[locale]/index.mdx +++ b/website/pages/[locale]/index.mdx @@ -7,8 +7,8 @@ import { buildDynamicMDX } from 'nextra/remote' import { RemoteContent } from 'nextra/data' import { supportedLocales, translations } from '@/i18n' -import { Intro, NetworkRoles, Products, SupportedNetworks } from '@/components/IndexPage' -import { getPageMap } from '@/components/get-page-map' +import { Intro, NetworkRoles, Products, SupportedNetworks } from '@/src/IndexPage' +import { getPageMap } from '@/src/getPageMap' export const getStaticPaths = () => { return { diff --git a/website/pages/_app.mdx b/website/pages/_app.mdx index 3db56988f1c4..587813d4c467 100644 --- a/website/pages/_app.mdx +++ b/website/pages/_app.mdx @@ -2,4 +2,4 @@ {/* _app.mdx is used in nextra for better performance and smallest bundle size. */} -export { default } from '../components/_app' +export { default } from '../src/_app' diff --git a/website/pages/ar/_meta.js b/website/pages/ar/_meta.js index f2f3b56163a5..ac570f79abfc 100644 --- a/website/pages/ar/_meta.js +++ b/website/pages/ar/_meta.js @@ -1,5 +1,5 @@ import meta from '../en/_meta.js' export default { - ...meta, + ...structuredClone(meta), } diff --git a/website/pages/en/_meta.js b/website/pages/en/_meta.js index 55979ff3c6f2..311cf5c174f0 100644 --- a/website/pages/en/_meta.js +++ b/website/pages/en/_meta.js @@ -27,11 +27,17 @@ export default { type: 'separator', }, '###2': { + type: 'heading', + title: 'Substreams', + }, + substreams: { + type: 'children', + }, + '###3': { type: 'heading', title: 'Indexing', }, 'operating-graph-node': '', - substreams: 'Substreams', firehose: '', '---4': { type: 'separator', diff --git a/website/pages/en/substreams/[[...slug]].mdx b/website/pages/en/substreams/[[...slug]].mdx index b491d88dfbf4..820a3c9d4ebe 100644 --- a/website/pages/en/substreams/[[...slug]].mdx +++ b/website/pages/en/substreams/[[...slug]].mdx @@ -2,7 +2,7 @@ import { visit } from 'unist-util-visit' import { RemoteContent } from 'nextra/data' import { buildDynamicMDX } from 'nextra/remote' import { listFiles } from './_meta.js' -import { getPageMap } from '@/components/get-page-map' +import { getPageMap } from '@/src/getPageMap' export async function getStaticPaths() { const files = await listFiles() @@ -18,24 +18,39 @@ export async function getStaticPaths() { export async function getStaticProps({ params: { slug = ['README'] } }) { const baseURL = 'https://raw.githubusercontent.com/streamingfast/substreams/develop/docs/' const paths = slug.join('/') - let response = await fetch(`${baseURL}${paths}.md`) + let fileURL = `${paths}.md` + let response = await fetch(baseURL + fileURL) if (response.status === 404 && paths !== 'README') { - response = await fetch(`${baseURL}${paths}/README.md`) + fileURL = `$${paths}/README.md` + response = await fetch(baseURL + fileURL) } - const data = await response.text() + const data = (await response.text()) + // replace {% embed ... %} with