reagent/bin/gen-site.js

45 lines
1.4 KiB
JavaScript
Raw Normal View History

2014-01-05 10:16:01 +00:00
#! /usr/bin/env node
var fs = require("fs");
var vm = require('vm');
var srcFile = "target/cljs-client.js";
var src = fs.readFileSync(srcFile);
vm.runInThisContext(src, srcFile);
console.log('Generating page');
var main = demo.genpage();
2014-01-09 13:37:11 +00:00
var ts = '?' + Date.now();
var cssFiles = ['examples/todomvc/todos.css',
'examples/todomvc/todosanim.css',
'examples/simple/example.css',
'site/demo.css'];
2014-01-05 10:16:01 +00:00
var head = ['<head>',
'<meta charset="utf-8">',
2014-01-09 13:37:11 +00:00
'<title>Cloact: Minimalistic React for ClojureScript</title>',
'<meta name="viewport" content="width=device-width, initial-scale=1.0" />',
2014-01-09 13:37:11 +00:00
'<link rel="stylesheet" href="site/democss.css' + ts + '">',
2014-01-05 10:16:01 +00:00
'</head>'].join('\n');
var body = ['<body>',
main,
2014-01-09 13:37:11 +00:00
'<script type="text/javascript" src="site/demo.js' + ts + '"></script>',
2014-01-05 10:16:01 +00:00
'<script type="text/javascript">',
2014-01-07 11:45:08 +00:00
'setTimeout(demo.mountdemo, 200);',
2014-01-05 10:16:01 +00:00
'</script>',
'</body>'].join('\n');
2014-01-07 11:45:08 +00:00
var html = ['<!doctype html>', '<html>', head, body, '</html>'].join('\n');
2014-01-05 10:16:01 +00:00
console.log('Writing site');
fs.writeFileSync("index.html", html);
fs.writeFileSync("site/demo.js", src);
2014-01-09 13:37:11 +00:00
fs.writeFileSync("site/democss.css",
cssFiles.map(function (x) {
return fs.readFileSync(x);
}).join("\n"));
2014-01-05 10:16:01 +00:00
console.log('Wrote site');