Commit 2cc62bff authored by Immortalin's avatar Immortalin

cleaned up merge

parent 8977ebf4
......@@ -5,4 +5,3 @@ npm-debug.log
.project
*.pyc
*.komodoproject
node_modules
\ No newline at end of file
// This program is to be used with NodeJS run Blockly headless. It loads
// Blockly XML from `input.xml` and outputs python code on `stdout`.
global.DOMParser = require('xmldom').DOMParser;
global.Blockly = require('./blockly_uncompressed.js');
require('./blocks_compressed.js');
require('./python_compressed.js');
var fs = require('fs');
//the contents of './input.xml' are passed as the `data` parameter
fs.readFile('./input.xml', function (err, data) {
if (err) throw err;
var xmlText = data.toString(); //convert the data buffer to a string
try {
var xml = Blockly.Xml.textToDom(xmlText);
} catch (e) {
console.log(e);
return;
}
// Create a headless workspace.
var workspace = new Blockly.Workspace();
Blockly.Xml.domToWorkspace(workspace, xml);
var code = Blockly.Python.workspaceToCode(workspace);
console.log(code);
});
\ No newline at end of file
<xml xmlns="http://www.w3.org/1999/xhtml">
<block type="colour_picker" id="11" x="93" y="12">
<field name="COLOUR">#ff0000</field>
</block>
</xml>
\ No newline at end of file
# Blockly Headless
Running Blockly headless is valuable to allow for server side code generation.
The NodeJS program `app.headless.js` loads Blockly XML from `input.xml` and outputs python code on `stdout`.
### Prerequisites
Be sure to have these installed on your system:
- NodeJS -- http://nodejs.org/
- NPM -- (Bundled with NodeJS)
- closure-library -- http://developers.google.com/blockly/hacking/closure
## Getting Started
1. run `npm install` in the blockly root directory(in the same location as the package.json).
2. run `./build.py` to update the compressed files, as `build.py` **has changed**.
3. run `node app.headless.js`
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment