Scratch Blocks is a library for building creative computing interfaces.
Find a file
Rachel Fenichel 6275e1137c New dragging! Merge from google (#891)
Port of a major refactor from Blockly.  Dragging logic now lives in block_dragger.js, gesture.js, workspace_dragger.js, dragged_connection_manager.js (unused by scratch-blocks), and insertion_marker_manager.js (used only by scratch-blocks).
2017-05-22 13:08:22 -07:00
.github Improve contribution guidelines and issue/pr templates 2017-01-17 17:17:42 -05:00
blocks_common fix some annotations 2016-10-21 17:38:57 -07:00
blocks_horizontal Fix Horizontal 2017-01-06 16:21:05 -05:00
blocks_vertical Give blocks in the flyout IDs so that when they are reloaded they are treated as the same block as before by monitors. (Does this change need to be applied to default_toolbox in horizontal as well? core/variables? core/procedures etc?) 2017-05-11 17:41:43 -04:00
core New dragging! Merge from google (#891) 2017-05-22 13:08:22 -07:00
generators New dragging! Merge from google (#891) 2017-05-22 13:08:22 -07:00
gh-pages Add Multi Playground Link to GH-Pages (#767) 2017-01-12 20:28:28 -05:00
i18n Merge google/blockly, May 2017 (#881) 2017-05-11 15:58:18 -04:00
media Quieter sound effects for connecting and deleting blocks 2017-03-06 14:24:08 -05:00
msg New dragging! Merge from google (#891) 2017-05-22 13:08:22 -07:00
scripts New dragging! Merge from google (#891) 2017-05-22 13:08:22 -07:00
shim Shim goog in blocks_compressed_vertical (#656) 2016-10-03 20:26:55 -04:00
tests New dragging! Merge from google (#891) 2017-05-22 13:08:22 -07:00
.editorconfig Add basic .editorconfig for Blockly JS style 2016-02-24 15:24:52 -05:00
.eslintignore Feature/merge feb 2017 (#791) 2017-02-21 15:09:23 -05:00
.eslintrc Stripping old blocks code; moving blocks -> blocks_common, project-wide lint (#580) 2016-08-30 15:50:59 -04:00
.gitignore Add the rest of the generator infrastructure back into scratch-blocks. 2017-02-07 14:42:33 -08:00
.npmignore Upload Generators To NPM (#869) 2017-04-20 12:01:53 -04:00
.npmrc Setting up npm registry for this repo. (#520) 2016-08-19 03:58:43 -07:00
.travis.yml Revert "Set git committer single-use vars" 2017-01-03 11:34:18 -05:00
build.py Merge google/blockly, May 2017 (#881) 2017-05-11 15:58:18 -04:00
cleanup.sh Missed a spot in the cleanup script. 2017-02-07 14:44:41 -08:00
dart_compressed.js Add the rest of the generator infrastructure back into scratch-blocks. 2017-02-07 14:42:33 -08:00
javascript_compressed.js Add the rest of the generator infrastructure back into scratch-blocks. 2017-02-07 14:42:33 -08:00
LICENSE Rename COPYING to LICENSE. Re GH-304 2016-05-03 17:07:19 -04:00
lua_compressed.js Add the rest of the generator infrastructure back into scratch-blocks. 2017-02-07 14:42:33 -08:00
package.json Build playgrounds for gh-pages 2016-12-24 13:17:24 -05:00
php_compressed.js Add the rest of the generator infrastructure back into scratch-blocks. 2017-02-07 14:42:33 -08:00
python_compressed.js Add the rest of the generator infrastructure back into scratch-blocks. 2017-02-07 14:42:33 -08:00
README.md Feature/merge feb 2017 (#791) 2017-02-21 15:09:23 -05:00
TRADEMARK Add TRADEMARK notice / file. Re GH-304 2016-05-03 17:26:35 -04:00
webpack.config.js Build playgrounds for gh-pages 2016-12-24 13:17:24 -05:00

scratch-blocks

Scratch Blocks is a library for building creative computing interfaces.

Build Status Dependency Status devDependency Status

Introduction

Scratch Blocks is a fork of Google's Blockly project that provides a design specification and codebase for building creative computing interfaces. Together with the Scratch Virtual Machine (VM) this codebase allows for the rapid design and development of visual programming interfaces.

This project is in active development and should be considered a "developer preview" at this time.

Two Types of Blocks

Scratch Blocks brings together two different programming "grammars" that the Scratch Team has designed and continued to refine over the past decade. The standard Scratch grammar uses blocks that snap together vertically, much like LEGO bricks. For our ScratchJr software, intended for younger children, we developed blocks that are labelled with icons rather than words, and snap together horizontally rather than vertically. We have found that the horizontal grammar is not only friendlier for beginning programmers but also better suited for devices with small screens.

Documentation

The "getting started" guide including FAQ and design documentation can be found in the wiki.

Donate

We provide Scratch free of charge, and want to keep it that way! Please consider making a donation to support our continued engineering, design, community, and resource development efforts. Donations of any size are appreciated. Thank you!