From 9ca39d7da5ba7bcf04b5519304d8161b60f6ffe5 Mon Sep 17 00:00:00 2001 From: Pedro Nauck Date: Fri, 29 Mar 2019 15:52:43 -0300 Subject: [PATCH] fix(docz-core): base prop for router --- core/docz-core/src/lib/Entry.ts | 10 +++++++--- core/docz/src/components/Routes.tsx | 4 +--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/core/docz-core/src/lib/Entry.ts b/core/docz-core/src/lib/Entry.ts index 31049e64d..6f4105e11 100644 --- a/core/docz-core/src/lib/Entry.ts +++ b/core/docz-core/src/lib/Entry.ts @@ -2,6 +2,8 @@ import * as path from 'path' import * as crypto from 'crypto' import slugify from '@sindresorhus/slugify' import humanize from 'humanize-string' +import { get } from 'lodash/fp' + import { getParsedData, headingsFromAst, @@ -54,7 +56,7 @@ export class Entry { this.filepath = filepath this.link = '' this.slug = this.slugify(filepath, config.separator) - this.route = this.getRoute(parsed) + this.route = this.getRoute(parsed, config.base) this.name = name this.menu = parsed.menu || '' this.headings = headingsFromAst(ast) @@ -90,7 +92,9 @@ export class Entry { return slugify(fileWithoutExt, { separator }) } - private getRoute(parsed: any): string { - return parsed && parsed.route ? parsed.route : `/${this.slug}` + private getRoute(parsed: any, base: string): string { + const parsedRoute = get('route', parsed) + const route = parsedRoute || `/${this.slug}` + return path.join(base, route) } } diff --git a/core/docz/src/components/Routes.tsx b/core/docz/src/components/Routes.tsx index 010d5931e..8ea41812f 100644 --- a/core/docz/src/components/Routes.tsx +++ b/core/docz/src/components/Routes.tsx @@ -8,8 +8,6 @@ import { HistoryListenerParameter, } from '@reach/router' -declare var DOCZ_BASE_URL: string - import { doczState } from '../state' import { useComponents, ComponentsMap } from '../hooks/useComponents' import { AsyncRoute, loadRoute, Imports } from './AsyncRoute' @@ -45,7 +43,7 @@ export const Routes: SFC = ({ imports }) => { }> - + {entries && entries.map(({ key: path, value: entry }) => {