Generates a file that redirects from /docs/file.html to /docs/en/folder.html when languages are enabled (languages.js is present) (#137)

This commit is contained in:
Eric Nakagawa 2017-10-18 12:56:14 -07:00 committed by Joel Marcey
parent bcba05ae03
commit 967970eaa5
3 changed files with 104 additions and 5 deletions

View file

@ -111,6 +111,7 @@ function execute() {
});
const DocsLayout = require("../core/DocsLayout.js");
const Redirect = require("../core/Redirect.js");
fs.removeSync(CWD + "/build");
@ -192,8 +193,29 @@ function execute() {
const str = renderToStaticMarkup(docComp);
const targetFile =
CWD + "/build/" + siteConfig.projectName + "/" + metadata.permalink;
writeFileAndCreateFolder(targetFile, str);
// generate english page redirects when languages are enabled
if (ENABLE_TRANSLATION) {
const redirectComp = (
<Redirect
metadata={metadata}
language={language}
config={siteConfig}
redirect={"/" + metadata.permalink}
/>
);
const redirectStr = renderToStaticMarkup(redirectComp);
// create a redirects page for doc files
const redirectFile =
CWD +
"/build/" +
siteConfig.projectName +
"/" +
metadata.permalink.replace("docs/en", "docs");
writeFileAndCreateFolder(redirectFile, redirectStr);
}
});
// copy docs assets if they exist