Skip to content

Commit

Permalink
Refactor docs/build.js.
Browse files Browse the repository at this point in the history
Add more clarity about what's going on.
  • Loading branch information
AlexKVal committed May 12, 2015
1 parent 9c7bc44 commit e663e82
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 12 deletions.
31 changes: 20 additions & 11 deletions docs/build.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,33 @@ const license = path.join(repoRoot, 'LICENSE');
const readmeSrc = path.join(__dirname, 'README.docs.md');
const readmeDest = path.join(docsBuilt, 'README.md');

/**
* Generates HTML code for `fileName` page.
*
* @param {string} fileName Path for Router.Route
* @return {Promise} promise
* @internal
*/
function generateHTML(fileName) {
return new Promise((resolve, reject) => {
Router.run(routes, '/' + fileName, Handler => {
let html = React.renderToString(React.createElement(Handler));
html = '<!doctype html>' + html;
let write = fsp.writeFile(path.join(docsBuilt, fileName), html);
resolve(write);
});
});
}

export default function BuildDocs() {
console.log('Building: '.cyan + 'docs'.green);

return exec(`rimraf ${docsBuilt}`)
.then(() => fsp.mkdir(docsBuilt))
.then(() => {
let writes = Root
.getPages()
.map(fileName => new Promise((resolve, reject) => {
Router.run(routes, '/' + fileName, Handler => {
let RootHTML = React.renderToString(React.createElement(Handler));
RootHTML = '<!doctype html>' + RootHTML;
let write = fsp.writeFile(path.join(docsBuilt, fileName), RootHTML);
resolve(write);
});
}));
let pagesGenerators = Root.getPages().map(generateHTML);

return Promise.all(writes.concat([
return Promise.all(pagesGenerators.concat([
exec(`webpack --config webpack.docs.js -p --bail`),
copy(license, docsBuilt),
copy(readmeSrc, readmeDest)
Expand Down
2 changes: 1 addition & 1 deletion docs/src/Root.js
Original file line number Diff line number Diff line change
Expand Up @@ -75,4 +75,4 @@ const Root = React.createClass({
});


module.exports = Root;
export default Root;

0 comments on commit e663e82

Please sign in to comment.