-
Notifications
You must be signed in to change notification settings - Fork 663
Plugin Naming Conventions
- ❕ Content looks great! Just one style question: It feels like the table formatting is letting us down a bit with the wrapping, did you try any other options? I'm not sure if anything else would be better though :/
Consistent plugin names are helpful for organizing and searching plugins, and for finding published plugins on npm.
This page lists our standard plugin naming conventions. If your plugin doesn't fit in any of the categories, use the generic plugin naming format at the end of the page.
We recommend you add the suggested tags in your package.json to make it easier to find your plugin on npm.
A field plugin publishes a single custom field.
Loading a field plugin registers a new field type that can be used in all Blockly workspaces on the page.
➡️ Documentation on creating custom fields.
| First Party | Third Party | Example | Suggested tags |
|---|---|---|---|
@blockly/field-* |
blockly-field-* |
@blockly/field-slider |
blockly-plugin,field
|
A theme plugin publishes a single Blockly theme.
Loading a theme plugin defines a new theme that can then be used in all Blockly workspaces on the page.
➡️ Documentation on themes.
| First Party | Third Party | Example | Suggested tags |
|---|---|---|---|
@blockly/theme-* |
blockly-theme-* |
@blockly/theme-modern |
blockly-plugin,theme
|
A block plugin publishes one or more block definitions.
Loading a block plugin defines those blocks for all Blockly workspaces on the page.
➡️ Documentation on creating custom blocks.
| First Party | Third Party | Example | Suggested tags |
|---|---|---|---|
@blockly/block(s)-* |
blockly-block(s)-* |
@blockly/blocks-plus-minus |
blockly-plugin,block, blocks
|
A block extension plugin publishes one or more block extensions, which can be used to programmatically share behaviour between blocks.
Loading a block extension plugin registers the extensions for use on all Blockly workspaces on the page.
➡️ Documentation on extensions.
| First Party | Third Party | Example | Suggested tags |
|---|---|---|---|
@blockly/extension-* |
blockly-extension-* |
None yet |
blockly-plugin,block-extension
|
A workspace plugin adds behaviour to a single workspace.
Loading a workspace plugin does nothing until it is initialized on a Blockly workspace.
| First Party | Third Party | Example | Suggested tags |
|---|---|---|---|
@blockly/workspace-* |
blockly-workspace-* |
None yet |
blockly-plugin,workspace
|
This is the most general plugin type. Use this naming convention if your plugin doesn't meet the requirements of any other plugin type.
| First Party | Third Party | Example | Suggested tags |
|---|---|---|---|
@blockly/plugin-* |
blockly-plugin-* |
@blockly/plugin-modal |
blockly-plugin |