I'm using Total.js CMS for my blog, but I want to export the complete HTML files from the database
I tried this code to export it
NOSQL('pages').find().callback(function(err, response) {
response.forEach(function(page) {
fs.writeFileSync(__dirname+'/content/index.html', page.body);
});
});
But it only rendered the widgets that I'm using, not the full page.
How to do it properly? Thanks
This is better solution. Create a definition file e.g. export
and run your CMS. All pages will be stored in /public/render/
directory.
const Fs = require('fs');
function save() {
NOSQL('pages').find().fields('id').callback(function(err, response) {
var repository = {};
var filter = {};
var directory = F.path.public('/render/');
try {
Fs.mkdirSync(directory);
} catch (e) {}
response.waitFor(function(item, next) {
filter.id = item.id;
GETSCHEMA('Page').operation('render', filter, function(err, response) {
repository.cms = true;
repository.render = true;
repository.page = response;
Fs.writeFile(directory + response.title.slug() + '.html', F.view('~/cms/' + response.template, EMPTYOBJECT, '~/cms/layout', repository), next);
});
}, () => console.log('DONE'));
});
}
F.on('ready', save);