add wrapPagesHTML which renders html snippets in pages inside of a header + footer

This commit is contained in:
Ricky Vetter 2017-12-11 21:38:11 -08:00
parent 078b379dae
commit 786fdbb136
2 changed files with 23 additions and 1 deletions

View file

@ -452,6 +452,16 @@ function execute() {
writeFileAndCreateFolder(targetFile, str);
}
fs.removeSync(tempFile);
} else if (siteConfig.wrapPagesHTML && file.match(/\.html$/)) {
const parts = file.split('pages');
const targetFile = join(buildDir, parts[1]);
const str = renderToStaticMarkup(
<Site language="en" config={siteConfig}>
<div dangerouslySetInnerHTML={{__html: fs.readFileSync(file, { encoding: "utf8" })}} />
</Site>
);
writeFileAndCreateFolder(targetFile, str);
} else if (!fs.lstatSync(file).isDirectory()) {
// copy other non .js files
let parts = file.split('pages');

View file

@ -375,7 +375,19 @@ function execute(port) {
))
)
) {
res.send(fs.readFileSync(htmlFile, {encoding: 'utf8'}));
if (siteConfig.wrapPagesHTML) {
removeModuleAndChildrenFromCache("../core/Site.js");
const Site = require("../core/Site.js");
const str = renderToStaticMarkup(
<Site language="en" config={siteConfig}>
<div dangerouslySetInnerHTML={{__html: fs.readFileSync(htmlFile, { encoding: "utf8" })}} />
</Site>
);
res.send(str);
} else {
res.send(fs.readFileSync(htmlFile, { encoding: "utf8" }));
}
return;
}