Scratch Blocks is a library for building creative computing interfaces.
Go to file
2024-08-02 10:30:14 +00:00
.github fix(deps): assume chromedriver is already installed 2024-02-16 17:04:08 -08:00
.husky chore: add husky hook for commitlint 2023-12-20 18:55:25 -08:00
.tx Sync transtions with Transifex 2018-08-10 09:02:57 -04:00
blocks_common feat: add quaternary color for selected dropdowns 2023-03-02 13:46:07 -05:00
blocks_horizontal feat: add quaternary color for selected dropdowns 2023-03-02 13:46:07 -05:00
blocks_vertical chore: pull request feedback 2023-03-09 10:22:39 -05:00
build Remove generators 2018-10-04 09:27:52 -04:00
core feat: add quaternary color for selected dropdowns 2023-03-02 13:46:07 -05:00
gh-pages Add Multi Playground Link to GH-Pages (#767) 2017-01-12 20:28:28 -05:00
i18n Merge pull request #1964 from tansly/build-python3 2023-10-25 11:32:45 -04:00
media Resize minimize/delete handle icons so they take up the entire topbar height. This makes them much easier to touch 2019-07-30 11:53:33 -04:00
msg feat: add hindi, update translations 2023-08-09 17:55:51 -04:00
shim add missing newlines 2018-06-21 15:13:12 -04:00
tests fix(deps): assume chromedriver is already installed 2024-02-16 17:04:08 -08:00
.editorconfig Add basic .editorconfig for Blockly JS style 2016-02-24 15:24:52 -05:00
.eslintignore ci: install node dependencies 2023-10-25 15:53:29 -04:00
.eslintrc style: lint fixes for commitlint config 2023-12-20 19:56:12 -08:00
.gitignore Add dart to gitignore 2018-10-04 09:40:28 -04:00
.npmignore ci: remove TravisCI config and related content 2022-11-02 15:17:48 -07:00
.npmrc Setting up npm registry for this repo. (#520) 2016-08-19 03:58:43 -07:00
.nvmrc ci: run with python 3 2023-10-25 15:54:35 -04:00
build.py Merge pull request #1964 from tansly/build-python3 2023-10-25 11:32:45 -04:00
CHANGELOG.md chore(release): 1.1.206 [skip ci] 2024-08-02 07:28:03 +00:00
cleanup.sh ci: remove TravisCI config and related content 2022-11-02 15:17:48 -07:00
commitlint.config.js style: lint fixes for commitlint config 2023-12-20 19:56:12 -08:00
LICENSE Rename COPYING to LICENSE. Re GH-304 2016-05-03 17:07:19 -04:00
local_build.sh Move local build files to the top level 2018-04-18 09:01:59 -07:00
package-lock.json fix(deps): lock file maintenance 2024-08-02 10:30:14 +00:00
package.json chore(release): 1.1.206 [skip ci] 2024-08-02 07:28:03 +00:00
pull_from_blockly.sh Cleanup 2018-05-03 10:21:07 -07:00
README.md docs: replace LLK URLs in README.md 2024-02-23 13:27:37 -08:00
release.config.js style: lint fixes for semantic-release config 2023-12-20 19:57:00 -08:00
renovate.json5 chore(deps): use js-lib-bundled Renovate config 2024-02-21 09:30:35 -08:00
TRADEMARK Update TRADEMARK 2018-06-18 13:13:51 -04:00
webpack.config.js ci: run with python 3 2023-10-25 15:54:35 -04:00

scratch-blocks

Scratch Blocks is a library for building creative computing interfaces.

CircleCI

An image of Scratch Blocks running on a tablet

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. Unlike Blockly, Scratch Blocks does not use code generators, but rather leverages the Scratch Virtual Machine to create highly dynamic, interactive programming environments.

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

Two Types of Blocks

A divided image showing horizontal blocks on the left and vertical blocks on the right

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!

Committing

This project uses semantic release to ensure version bumps follow semver so that projects depending on it don't break unexpectedly.

In order to automatically determine version updates, semantic release expects commit messages to follow the conventional-changelog specification.

You can use the commitizen CLI to make commits formatted in this way:

npm install -g commitizen@latest cz-conventional-changelog@latest

Now you're ready to make commits using git cz.