last updated May 6, 2023.
This guide is intended for developers who want to ingrate Snap! into existing projects. Each of these guides is a breif introduction to maintaining an extension. The goal is to minimize the amount of customizations you need to make to the Snap! source code, located in src/
.
**Before contributing source code modifications, please review the contributations guide and get in touch!
Note: This document applies only to the Snap! IDE. The Snap!Cloud backend lives at @snap-cloud/snapCloud on GitHub.
There are many ways to build your own customized Snap! environments. Start in this order, with the least customizations.
Microworlds are restricted Snap! environments, which hide blocks, and may change some settings that are saved with the project.
Things you can save with the project:
- Hiding Blocks
- Single Palette Settings
- Disable Click-to-Run
- Disable Dragging Data
More coming soon!
You can write JavaScript files which provide additional blocks, add interface elements, etc. These extensions are often packaged as a Snap! library.
The Snap! API can be used to embed or customize Snap! to be used in unique environments. You can check out the (work in progress) Pyret example.
This describes how you can distribute Snap! to work offline.
This describes the internal changes to the Morphic library. It is probably not useful unless you have made a fork of Snap!.