Blockly fork for Microsoft MakeCode
npm install pxt-blocklyThis is a fork of Blockly, an open source visual programming environment.
The fork is maintained by the Microsoft MakeCode team, and is used to power the blocks environment in PXT.
Major additions and changes in this fork:
* scratch-blocks rendering of the blocks block_render_svg.js
* Using insertion markers instead of dragged connections insertion_marker_manager.js
* Inverted and coloured toolbox modes toolbox.js
* Supports disabled categories toolbox.js
* Supports icons in the toolbox
* Adds a number slider field field_slider.js
* Zoom in / out with touch gestures touch_gesture.js
* Workspace comments that appear like sticky notes workspace_comment.js
* A number of Edge & IE fixes
* Support underlining and icons in flyout labels flyout_button.js
* Support for multiple flyouts per toolbox for performance reasons pxt_blockly_functions.js
* node, npm
* python
```
git clone https://github.com/google/closure-library
cd closure-library
git checkout v20180805
cd ../
git clone https://github.com/Microsoft/pxt-blockly
cd pxt-blockly
npm install .
* npm run build:core --closure-library to build blockly (install gulp if needed npm install -g gulp)
* gulp typings to regenerate blockly.d.ts
* npm run pxt:test to generate the blockly-compressed, blocks-compressed, and typings files, and copy them to pxt-blocklygulp
* run in pxt to rebuild the pxt blockly filespxt clean && pxt serve
* run in the target directory (eg pxt-arcade, or pxt-minecraft)
This can be combined into one command (starting from the target directory):
``
cd ../pxt-blockly && npm run pxt:test && cd ../pxt && gulp && cd ../pxt-arcade && pxt clean && pxt serve --rb
Make sure you've checked out the correct closure-library (see above)
See more tips about pxt+pxt-blockly testing.
* gulp bump --closure-library to bump blockly version, commit, and tag.
* After the Travis has deployed the package to npm, update the pxt-blockly version in package.json` in the pxt repo.
There is a playground manual testing page at tests/playground.html, which requires no build step or server running.
The original Google/Blockly is licensed under Apache License (Version 2.0).
New code is licensed under MIT.