diff --git a/src/common/Url.res b/src/common/Url.res index 1ae8f177b..d152d78ef 100644 --- a/src/common/Url.res +++ b/src/common/Url.res @@ -67,6 +67,7 @@ let parse = (route: string): t => { let version = switch fullpath[foundVersionIndex] { | Some(version) if version === Constants.versions.next => Next | Some(version) if version === Constants.versions.latest => Latest + | Some("latest") => Latest // still used for React docs | Some(v) => Version(v) | None => NoVersion } diff --git a/src/layouts/DocsLayout.res b/src/layouts/DocsLayout.res index ffdd2b501..7f54300df 100644 --- a/src/layouts/DocsLayout.res +++ b/src/layouts/DocsLayout.res @@ -85,7 +85,7 @@ let make = ( }, []) let preludeSection = -
+
{React.string(title)} {switch version { | Some(version) => @@ -178,6 +178,7 @@ module Make = (Content: StaticContent) => { ~frontmatter=?, ~version: option=?, ~availableVersions: option>=?, + ~nextVersion: option<(string, string)>=?, /* ~activeToc: option=?, */ ~components: option=?, ~theme: option=?, @@ -239,7 +240,7 @@ module Make = (Content: StaticContent) => { ?frontmatter, ?version, ?availableVersions, - nextVersion: ?Constants.nextVersion, + ?nextVersion, ?activeToc, categories, ?components, diff --git a/src/layouts/DocsLayout.resi b/src/layouts/DocsLayout.resi index 626611a22..a237a71ab 100644 --- a/src/layouts/DocsLayout.resi +++ b/src/layouts/DocsLayout.resi @@ -32,6 +32,7 @@ module Make: (Content: StaticContent) => ~frontmatter: JSON.t=?, ~version: string=?, ~availableVersions: array<(string, string)>=?, + ~nextVersion: (string, string)=?, /* ~activeToc: option=?, */ ~components: MarkdownComponents.t=?, ~theme: ColorTheme.t=?, diff --git a/src/layouts/ManualDocsLayout.res b/src/layouts/ManualDocsLayout.res index 9912f4bfe..5c65f0fbd 100644 --- a/src/layouts/ManualDocsLayout.res +++ b/src/layouts/ManualDocsLayout.res @@ -62,6 +62,7 @@ module V1200 = { title metaTitleCategory="ReScript Language Manual" availableVersions=Constants.allManualVersions + nextVersion=?Constants.nextVersion ?frontmatter breadcrumbs> {version === Constants.versions.next ? warnBanner : React.null} @@ -89,6 +90,7 @@ module V1100 = { title metaTitleCategory="ReScript Language Manual" availableVersions=Constants.allManualVersions + nextVersion=?Constants.nextVersion ?frontmatter breadcrumbs> children @@ -129,6 +131,7 @@ module V1000 = { title metaTitleCategory="ReScript Language Manual" availableVersions=Constants.allManualVersions + nextVersion=?Constants.nextVersion ?frontmatter breadcrumbs> children @@ -173,6 +176,7 @@ module V900 = { title metaTitleCategory="ReScript Language Manual" availableVersions=Constants.allManualVersions + nextVersion=?Constants.nextVersion ?frontmatter breadcrumbs> children @@ -248,6 +252,7 @@ module V800 = { title metaTitleCategory="ReScript Language Manual" availableVersions=Constants.allManualVersions + nextVersion=?Constants.nextVersion ?frontmatter breadcrumbs> warnBanner diff --git a/src/layouts/ReactDocsLayout.res b/src/layouts/ReactDocsLayout.res index 7beb45d75..59ea6669c 100644 --- a/src/layouts/ReactDocsLayout.res +++ b/src/layouts/ReactDocsLayout.res @@ -25,7 +25,11 @@ module Latest = { let router = Next.Router.useRouter() let route = router.route let url = route->Url.parse - let version = url->Url.getVersionString + + let version = switch url.version { + | Version(version) => version + | _ => "latest" + } let breadcrumbs = list{ {Url.name: "Docs", href: "/docs/latest"}, @@ -55,7 +59,11 @@ module V0110 = { let router = Next.Router.useRouter() let route = router.route let url = route->Url.parse - let version = url->Url.getVersionString + + let version = switch url.version { + | Version(version) => version + | _ => "latest" + } let breadcrumbs = list{ {Url.name: "Docs", href: "/docs/latest"}, @@ -84,7 +92,11 @@ module V0100 = { let router = Next.Router.useRouter() let route = router.route let url = route->Url.parse - let version = url->Url.getVersionString + + let version = switch url.version { + | Version(version) => version + | _ => "latest" + } let breadcrumbs = list{ {Url.name: "Docs", href: "/docs/latest"},