feat: allow custom docsUrl & custom permalink

This commit is contained in:
endiliey 2018-09-12 01:00:31 +08:00
parent 185f7b1ed1
commit b99605f725
12 changed files with 270 additions and 177 deletions

View file

@ -1,30 +1,12 @@
const {idx} = require('./utils');
async function genRoutesConfig({
docsData = {},
pagesData = [],
env,
siteConfig
}) {
async function genRoutesConfig({docsData = {}, pagesData = []}) {
function genDocsRoute(metadata) {
const {permalink, source, version, language} = metadata;
const defaultLanguage = idx(env, ['translation', 'defaultLanguage']);
let importPath = `@docs/${source}`;
if (language && language !== defaultLanguage.tag) {
importPath = `@translated_docs/${source}`;
} else if (version && version !== 'next') {
importPath = `@versioned_docs/${source}`;
}
const {baseUrl} = siteConfig;
const docsPath = `${baseUrl}${permalink}`;
const {permalink, source} = metadata;
return `
{
path: ${JSON.stringify(docsPath)},
path: ${JSON.stringify(permalink)},
exact: true,
component: Loadable({
loader: () => import(${JSON.stringify(importPath)}),
loader: () => import(${JSON.stringify(source)}),
loading: Loading,
render(loaded, props) {
let Content = loaded.default;