43 lines
904 B
JavaScript
43 lines
904 B
JavaScript
|
|
var Fs = require("fs");
|
||
|
|
|
||
|
|
// read a file
|
||
|
|
var read = function (path) {
|
||
|
|
return Fs.readFileSync(path, 'utf-8');
|
||
|
|
};
|
||
|
|
|
||
|
|
// write a file
|
||
|
|
var write = function (path, src) {
|
||
|
|
return Fs.writeFileSync(path, src);
|
||
|
|
};
|
||
|
|
|
||
|
|
// basic templating
|
||
|
|
var swap = function (src, dict) {
|
||
|
|
return src.replace(/\{\{(.*?)\}\}/g, function (a, b) {
|
||
|
|
return dict[b] || b;
|
||
|
|
});
|
||
|
|
};
|
||
|
|
|
||
|
|
// read the template file
|
||
|
|
var template = read('./template.html');
|
||
|
|
|
||
|
|
// read page fragments
|
||
|
|
var fragments = {};
|
||
|
|
[ 'analytics',
|
||
|
|
'index',
|
||
|
|
'fork',
|
||
|
|
'terms',
|
||
|
|
'privacy',
|
||
|
|
].forEach(function (name) {
|
||
|
|
fragments[name] = read('./fragments/' + name + '.html');
|
||
|
|
});
|
||
|
|
|
||
|
|
// build static pages
|
||
|
|
['index', 'privacy', 'terms'].forEach(function (page) {
|
||
|
|
var source = swap(template, {
|
||
|
|
fork: fragments.fork,
|
||
|
|
analytics: fragments.analytics,
|
||
|
|
main: fragments[page],
|
||
|
|
});
|
||
|
|
write('../' + page + '.html', source);
|
||
|
|
});
|