mirror of
https://github.com/google/blockly.git
synced 2026-06-02 01:10:08 +02:00
chore: add legacy docs redirects and some minor fixes (#9929)
* chore: add legacy redirects from devsite * chore: rename configure/web to just configure * chore: remove youtube embeds because we are scared of cookies * chore: fix some broken images
This commit is contained in:
@@ -32,7 +32,7 @@ export class Grid {
|
||||
* @param pattern The grid's SVG pattern, created during injection.
|
||||
* @param options A dictionary of normalized options for the grid.
|
||||
* See grid documentation:
|
||||
* https://developers.google.com/blockly/guides/configure/web/grid
|
||||
* https://developers.google.com/blockly/guides/configure/grid
|
||||
*/
|
||||
constructor(
|
||||
private pattern: SVGElement,
|
||||
|
||||
@@ -255,7 +255,7 @@ export class Options {
|
||||
/**
|
||||
* Parse the user-specified zoom options, using reasonable defaults where
|
||||
* behaviour is unspecified. See zoom documentation:
|
||||
* https://developers.google.com/blockly/guides/configure/web/zoom
|
||||
* https://developers.google.com/blockly/guides/configure/zoom
|
||||
*
|
||||
* @param options Dictionary of options.
|
||||
* @returns Normalized zoom options.
|
||||
@@ -304,7 +304,7 @@ export class Options {
|
||||
/**
|
||||
* Parse the user-specified grid options, using reasonable defaults where
|
||||
* behaviour is unspecified. See grid documentation:
|
||||
* https://developers.google.com/blockly/guides/configure/web/grid
|
||||
* https://developers.google.com/blockly/guides/configure/grid
|
||||
*
|
||||
* @param options Dictionary of options.
|
||||
* @returns Normalized grid options.
|
||||
@@ -322,7 +322,7 @@ export class Options {
|
||||
|
||||
/**
|
||||
* Parse the user-specified theme options, using the classic theme as a
|
||||
* default. https://developers.google.com/blockly/guides/configure/web/themes
|
||||
* default. https://developers.google.com/blockly/guides/configure/appearance/themes
|
||||
*
|
||||
* @param options Dictionary of options.
|
||||
* @returns A Blockly Theme.
|
||||
|
||||
@@ -582,7 +582,7 @@
|
||||
</ul>
|
||||
|
||||
<!-- The next three blocks of XML are sample toolboxes for testing basic
|
||||
configurations. For more information on building toolboxes, see https://developers.google.com/blockly/guides/configure/web/toolbox -->
|
||||
configurations. For more information on building toolboxes, see https://developers.google.com/blockly/guides/configure/toolboxes/toolbox -->
|
||||
|
||||
<!-- toolbox-simple is an always-open flyout with no category menu.
|
||||
Always-open flyouts are a good idea if you have a small number of blocks. -->
|
||||
|
||||
@@ -11,6 +11,6 @@ In this codelab you have learned how to create and modify context menu options.
|
||||
|
||||
### Additional information
|
||||
|
||||
- [Context menu documentation](/guides/configure/web/context-menus)
|
||||
- [Context menu documentation](/guides/configure/context-menus)
|
||||
|
||||
- You can also define [block context menus](/guides/configure/web/context-menus#customize-per-block) directly on a block definition, which is equivalent to adding a precondition based on the type of the block.
|
||||
- You can also define [block context menus](/guides/configure/context-menus#customize-per-block) directly on a block definition, which is equivalent to adding a precondition based on the type of the block.
|
||||
|
||||
@@ -61,7 +61,7 @@ The last step before writing your colour rules is to decide what colours to use.
|
||||
How these colours are used depends on the renderer. The Thrasos renderer uses
|
||||
the primary colour as the `fill` of the block, the tertiary colour as the
|
||||
`stroke`, and the secondary colour as the `fill` when the block is a
|
||||
[shadow block](/guides/configure/web/toolboxes/preset#shadow-blocks).
|
||||
[shadow block](/guides/configure/toolboxes/preset#shadow-blocks).
|
||||
|
||||
#### Add your rules
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ define rules that apply to all categories.
|
||||
},
|
||||
```
|
||||
|
||||
For a complete explanation of how `cssConfig` works, see [Custom CSS classes](/guides/configure/web/toolboxes/appearance#custom-css-classes) in the toolbox documentation.
|
||||
For a complete explanation of how `cssConfig` works, see [Custom CSS classes](/guides/configure/toolboxes/appearance#custom-css-classes) in the toolbox documentation.
|
||||
|
||||
### Add your rules
|
||||
|
||||
|
||||
@@ -152,4 +152,4 @@ You might have also noticed that some rules use an `!important` declaration whil
|
||||
|
||||
- **Inline styles:** These rules are included via a `style` attribute and can only be overridden by an `!important` declaration. As you will see later, the colour of the arrow in a dropdown field is set with an inline style and must be overridden with `!important`.
|
||||
|
||||
The easiest way to determine how a rule is set is to highlight the appropriate element in the element inspector and look at the corresponding style information. In a few cases, this isn't possible. For example, an insertion marker is created only when you drag a child near its parent and is deleted when you let go of the parent to highlight the insertion marker's element. In these cases, you will need to [search Blockly's rules](/guides/configure/web/appearance/css#blockly-css-rules).
|
||||
The easiest way to determine how a rule is set is to highlight the appropriate element in the element inspector and look at the corresponding style information. In a few cases, this isn't possible. For example, an insertion marker is created only when you drag a child near its parent and is deleted when you let go of the parent to highlight the insertion marker's element. In these cases, you will need to [search Blockly's rules](/guides/configure/appearance/css#blockly-css-rules).
|
||||
|
||||
@@ -8,4 +8,4 @@ description: Summary of the CSS in Blockly codelab
|
||||
|
||||
In this codelab, you learned how to use CSS to set the colours of your Blockly editor.
|
||||
|
||||
For more information, see [Style with CSS](/guides/configure/web/appearance/css) in the Blockly user guides.
|
||||
For more information, see [Style with CSS](/guides/configure/appearance/css) in the Blockly user guides.
|
||||
|
||||
@@ -33,7 +33,7 @@ to be:
|
||||
```
|
||||
|
||||
All the classes used to create a category can be set similar to how we set the
|
||||
icon class above. See the [Blockly toolbox documentation](/guides/configure/web/toolboxes/appearance#category-css) for more information.
|
||||
icon class above. See the [Blockly toolbox documentation](/guides/configure/toolboxes/appearance#category-css) for more information.
|
||||
|
||||
### Add some CSS
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ The logic_category style looks like:
|
||||
}
|
||||
```
|
||||
|
||||
For more information on Blockly styles please visit the [themes documentation](/guides/configure/web/appearance/themes#category-style).
|
||||
For more information on Blockly styles please visit the [themes documentation](/guides/configure/appearance/themes#category-style).
|
||||
|
||||
### Add some CSS
|
||||
|
||||
|
||||
@@ -40,8 +40,8 @@ The code samples are written in ES6 syntax. You can find the code for the [compl
|
||||
- A browser.
|
||||
- A text editor.
|
||||
- Basic knowledge of HTML, CSS, and JavaScript.
|
||||
- Basic understanding of the [Blockly toolbox](/guides/configure/web/toolboxes/toolbox).
|
||||
- Basic understanding of the [Blockly toolbox](/guides/configure/toolboxes/toolbox).
|
||||
|
||||
Throughout various parts of this codelab we will be talking about [toolbox definitions](/guides/configure/web/toolboxes/category?tab=xml).
|
||||
Throughout various parts of this codelab we will be talking about [toolbox definitions](/guides/configure/toolboxes/category?tab=xml).
|
||||
The toolbox definition can be written in XML or JSON. We will be using an XML
|
||||
toolbox definition that can be found in the provided code.
|
||||
|
||||
@@ -27,7 +27,7 @@ The toolbox may be organized into categories, and may contain both single blocks
|
||||
|
||||
A toolbox is defined as a JavaScript object and passed into the workspace constructor through an options struct.
|
||||
|
||||
For more information on this JSON format and toolbox configuration, including category creation, please see our <a href="/guides/configure/web/toolboxes/toolbox">toolbox documentation</a>.
|
||||
For more information on this JSON format and toolbox configuration, including category creation, please see our <a href="/guides/configure/toolboxes/toolbox">toolbox documentation</a>.
|
||||
|
||||
### Define the toolbox
|
||||
|
||||
@@ -92,7 +92,7 @@ Let's look at the options we used to initialize your blockly editor:
|
||||
- `horizontalLayout`: Whether to display the toolbox horizontally or vertically in the workspace.
|
||||
- `toolboxPosition`: Whether to show the toolbox at the top or bottom of the workspace.
|
||||
|
||||
The `options` struct gives you significant control over your Blockly instance. You can pass options to set Blockly's theme, modify scrolling behaviour, set the renderer, and more. For more information, head over to Blockly's developer site and check out the [configuration](/guides/configure/web/configuration_struct#the-options-dictionary) section.
|
||||
The `options` struct gives you significant control over your Blockly instance. You can pass options to set Blockly's theme, modify scrolling behaviour, set the renderer, and more. For more information, head over to Blockly's developer site and check out the [configuration](/guides/configure/configuration_struct#the-options-dictionary) section.
|
||||
|
||||
### Check your work
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ description: How to use a theme to set the colours of blocks.
|
||||
|
||||
A block style currently only holds three different colour properties. They are 'colourPrimary',
|
||||
'colourSecondary' and 'colourTertiary'. This value can either be defined as a hex value or as a hue.
|
||||
For more information on block styles visit our themes [documentation](/guides/configure/web/appearance/themes#block-style)
|
||||
For more information on block styles visit our themes [documentation](/guides/configure/appearance/themes#block-style)
|
||||
|
||||
Update the Theme definition to have the block styles as below.
|
||||
|
||||
|
||||
@@ -11,6 +11,6 @@ In this codelab you have learned how to extend and customize themes for the bloc
|
||||
|
||||
### Additional information
|
||||
|
||||
- [Themes documentation](/guides/configure/web/appearance/themes)
|
||||
- [Themes documentation](/guides/configure/appearance/themes)
|
||||
|
||||
- You can also customize the font styles. Details are available in the [documentation](/guides/configure/web/appearance/themes#font-styles).
|
||||
- You can also customize the font styles. Details are available in the [documentation](/guides/configure/appearance/themes#font-styles).
|
||||
|
||||
@@ -33,5 +33,5 @@ You can find the code for the [completed custom block](https://github.com/Raspbe
|
||||
- A browser.
|
||||
- A text editor.
|
||||
- Basic knowledge of JavaScript.
|
||||
- Basic understanding of the [Blockly toolbox](/guides/configure/web/toolboxes/toolbox).
|
||||
- Basic understanding of the [Blockly toolbox](/guides/configure/toolboxes/toolbox).
|
||||
- Basic understanding of [using JSON to define custom blocks](/guides/create-custom-blocks/define/structure-json).
|
||||
|
||||
@@ -22,10 +22,10 @@ You can find the code for the [completed custom block](https://github.com/Raspbe
|
||||
|
||||
For more information related topics, check out the documentation:
|
||||
|
||||
- [Defining the toolbox](/guides/configure/web/toolboxes/toolbox)
|
||||
- [Defining the toolbox](/guides/configure/toolboxes/toolbox)
|
||||
- [Defining custom blocks](/guides/create-custom-blocks/overview)
|
||||
- [Generating code from blocks](/guides/create-custom-blocks/code-generation/overview)
|
||||
- [Creating extensions](/guides/create-custom-blocks/define/extensions#extensions)
|
||||
- [Listening for change events](/guides/configure/web/events)
|
||||
- [Listening for change events](/guides/configure/events)
|
||||
- [Custom validators](/guides/create-custom-blocks/fields/validators)
|
||||
- [Custom block style guide](/guides/design/blocks)
|
||||
|
||||
@@ -147,5 +147,5 @@ safely execute JavaScript.
|
||||
|
||||
Other languages require other tools.
|
||||
|
||||
[event]: /guides/configure/web/events
|
||||
[event]: /guides/configure/events
|
||||
[jsinterpreter]: https://github.com/NeilFraser/JS-Interpreter
|
||||
|
||||
+5
-5
@@ -17,20 +17,20 @@ with the colours mirrored by the various toolbar categories in the demos:
|
||||
colour.](/images/standard-block-colors.png)
|
||||
|
||||
Additional colours on the block are derived from the main colour. For example,
|
||||
[shadow blocks](/guides/configure/web/toolboxes/preset#shadow-blocks)
|
||||
[shadow blocks](/guides/configure/toolboxes/preset#shadow-blocks)
|
||||
are a desaturated version of the main colour, and border colours are a darker
|
||||
version.
|
||||
|
||||
:::tip
|
||||
If you want more control over shadow block or border colours, learn about
|
||||
[defining a theme](/guides/configure/web/appearance/themes).
|
||||
[defining a theme](/guides/configure/appearance/themes).
|
||||
:::
|
||||
|
||||
## Set block colour
|
||||
|
||||
The primary colour of a block can be defined in either JSON or JavaScript. You
|
||||
can pass the hue (preferred), RGB value, or color name; for more information,
|
||||
see [Colour formats](/guides/configure/web/appearance/colour-formats).
|
||||
see [Colour formats](/guides/configure/appearance/colour-formats).
|
||||
|
||||
<Tabs groupId="group-1">
|
||||
<TabItem value="json" label="JSON" default>
|
||||
@@ -54,10 +54,10 @@ Note the British spelling. Failure to set the colour results in a black block.
|
||||
|
||||
You can also set the block color using the
|
||||
[`Block.setColour(..)`](/reference/blockly.block.setcolour)
|
||||
function, or by using [themes](/guides/configure/web/appearance/themes)
|
||||
function, or by using [themes](/guides/configure/appearance/themes)
|
||||
and defining a block style.
|
||||
|
||||
## Accessibility
|
||||
|
||||
For information about how colour affects accessibility, see [Colour and
|
||||
accessibility](/guides/configure/web/colour-a11y)
|
||||
accessibility](/guides/configure/colour-a11y)
|
||||
+1
-1
@@ -58,7 +58,7 @@ W3C](https://www.w3.org/TR/css-color-3/#html4).
|
||||
Often, multiple blocks share the same colour, and centralizing the colour
|
||||
definitions simplifies managing the colours and adding new blocks of the correct
|
||||
colour. Block colours and toolbox categories can use [localization
|
||||
tokens](/guides/configure/web/translations#use-localization-tokens-in-json)
|
||||
tokens](/guides/configure/translations#use-localization-tokens-in-json)
|
||||
to do exactly that.
|
||||
|
||||
Blockly includes nine colour constants in the string table, corresponding to the
|
||||
+4
-4
@@ -20,7 +20,7 @@ You can use CSS to style your application:
|
||||
For a practical introduction to using CSS in blockly, see the [Use CSS in Blockly](/codelabs/css/codelab-overview)
|
||||
|
||||
:::note
|
||||
The easiest way to style Blockly is with [themes](/guides/configure/web/appearance/themes). If you need finer-grained control, use CSS.
|
||||
The easiest way to style Blockly is with [themes](/guides/configure/appearance/themes). If you need finer-grained control, use CSS.
|
||||
:::
|
||||
|
||||
## CSS classes
|
||||
@@ -67,12 +67,12 @@ To add or remove a CSS class from a workspace's injection `<div>`, call
|
||||
|
||||
To add a CSS class to a button or a label in a toolbox, use the `web-class` key
|
||||
in your JSON definition of the toolbox. For more information, see [Buttons and
|
||||
labels](/guides/configure/web/toolboxes/buttons).
|
||||
labels](/guides/configure/toolboxes/buttons).
|
||||
|
||||
To override the CSS classes used for the various parts of a category, use the
|
||||
`cssConfig` key in your JSON definition of the category. This allows you to
|
||||
style individual categories. For more information, see [Category
|
||||
CSS](/guides/configure/web/toolboxes/appearance#category-css).
|
||||
CSS](/guides/configure/toolboxes/appearance#category-css).
|
||||
|
||||
#### Blocks
|
||||
|
||||
@@ -294,7 +294,7 @@ tag. The rules in this tag come from:
|
||||
`Blockly.css.register`](https://github.com/search?q=repo%3ARaspberryPiFoundation%2Fblockly+css.register+path%3Acore&type=code).
|
||||
|
||||
If you do not want to use these rules, set the [`css` configuration
|
||||
option](/guides/configure/web/configuration_struct#the-options-dictionary)
|
||||
option](/guides/configure/configuration_struct#the-options-dictionary)
|
||||
to `false`. In this case, you are responsible for providing an alternate set of
|
||||
CSS rules.
|
||||
|
||||
+3
-3
@@ -20,13 +20,13 @@ empower developers to create Blockly experiences that are more accessible.
|
||||
For a practical introduction to using themes, see the [Customizing your themes](/codelabs/theme-extension-identifier/codelab-overview)
|
||||
|
||||
:::note
|
||||
The easiest way to style Blockly is with themes. If you need finer-grained control, use [CSS](/guides/configure/web/appearance/css).
|
||||
The easiest way to style Blockly is with themes. If you need finer-grained control, use [CSS](/guides/configure/appearance/css).
|
||||
:::
|
||||
|
||||
:::note
|
||||
If you only want to control the main colour of a block, rather than have
|
||||
more fine-grained control over the appearance, you can set the colour in the
|
||||
[block definition](/guides/configure/web/appearance/block-colour#set-block-colour)
|
||||
[block definition](/guides/configure/appearance/block-colour#set-block-colour)
|
||||
instead of creating a theme. If you want to change the shape of a block instead
|
||||
of its colour, learn more about
|
||||
[renderers](/guides/create-custom-blocks/renderers/overview).
|
||||
@@ -177,7 +177,7 @@ Learn more about the use cases of start hats on our
|
||||
If you set `startHats: true` directly in a theme object, a hat will be added to
|
||||
all blocks with no previous or output connections. If you want more control over
|
||||
exactly which blocks get a hat, you can instead use the
|
||||
[block style](/guides/configure/web/appearance/themes/#block-style) property.
|
||||
[block style](/guides/configure/appearance/themes/#block-style) property.
|
||||
|
||||
## Custom Themes
|
||||
|
||||
+1
-1
@@ -67,4 +67,4 @@ of the block (such as whether it is editable or collapsed) or the setting of the
|
||||
`comments` configuration option.
|
||||
|
||||
[editable]: /guides/create-custom-blocks/define/block-state#editable-state
|
||||
[config-option]: /guides/configure/web/configuration_struct#the-options-dictionary
|
||||
[config-option]: /guides/configure/configuration_struct#the-options-dictionary
|
||||
+1
-1
@@ -12,7 +12,7 @@ text on the block, and so not a critical attribute. However, when choosing a
|
||||
block colour palette, colour blindness should be a consideration.
|
||||
|
||||
Blockly provides [several
|
||||
themes](/guides/configure/web/appearance/themes#built-in) in an effort
|
||||
themes](/guides/configure/appearance/themes#built-in) in an effort
|
||||
to accommodate some types of colour vision deficiency. [This
|
||||
page](http://mkweb.bcgsc.ca/colorblind/palettes.mhtml#projecthome) includes
|
||||
example 8, 12, 15, and 24 colour palettes that attempt to maximize distinction
|
||||
+7
-7
@@ -67,14 +67,14 @@ default value based on whether the provided toolbox has categories or not.
|
||||
| `trashcan` | boolean | Displays or hides the trashcan. Defaults to `true` if the toolbox has categories, `false` otherwise. |
|
||||
| `zoom` | object | Configures zooming behaviour. See [Zoom]. |
|
||||
|
||||
[Grid]: /guides/configure/web/grid
|
||||
[media]: /guides/configure/web/media
|
||||
[Move]: /guides/configure/web/move
|
||||
[Grid]: /guides/configure/grid
|
||||
[media]: /guides/configure/media
|
||||
[Move]: /guides/configure/move
|
||||
[setIsReadOnly]: /reference/blockly.workspace.setisreadonly
|
||||
[isReadOnly]: /reference/blockly.workspace.isreadonly
|
||||
[renderer]: /guides/create-custom-blocks/renderers/create-custom-renderers/basic-implementation
|
||||
[RTL demo]: https://raspberrypifoundation.github.io/blockly-samples/examples/rtl-demo/
|
||||
[Themes]: /guides/configure/web/appearance/themes
|
||||
[defining the toolbox]: /guides/configure/web/toolboxes/toolbox
|
||||
[Zoom]: /guides/configure/web/zoom
|
||||
[replacement]: /guides/configure/web/customization#injecting-subclasses
|
||||
[Themes]: /guides/configure/appearance/themes
|
||||
[defining the toolbox]: /guides/configure/toolboxes/toolbox
|
||||
[Zoom]: /guides/configure/zoom
|
||||
[replacement]: /guides/configure/customization#injecting-subclasses
|
||||
+4
-4
@@ -58,7 +58,7 @@ Blockly defines a standard set of templates for the context menus for
|
||||
workspaces, blocks, and workspace comments. It preloads the templates for
|
||||
workspaces and blocks into the registry. If you want to use the templates for
|
||||
workspace comments, you must [load them into the registry
|
||||
yourself](/guides/configure/web/workspace_comment#enable-workspace-comments).
|
||||
yourself](/guides/configure/workspace_comment#enable-workspace-comments).
|
||||
|
||||
For information on how to add, delete, and modify templates in the registry, see
|
||||
[Customize the registry](#customize-the-registry).
|
||||
@@ -83,7 +83,7 @@ context menu was invoked is stored in the `focusedNode` property as an object
|
||||
that implements [`IFocusableNode`][i-focusable-node]. (`IFocusableNode` is
|
||||
implemented by all components that users can focus on, including those that
|
||||
implement context menus. For more information, see [Focus
|
||||
system](/guides/configure/web/focus).)
|
||||
system](/guides/configure/focus).)
|
||||
|
||||
The `Scope` object is passed to several of the functions in a template. In any
|
||||
function that gets a `Scope` object, you can decide what to do based on the type
|
||||
@@ -470,5 +470,5 @@ steps:
|
||||
[configureContextMenu]: /reference/blockly.workspacesvg.configurecontextmenu
|
||||
[ContextMenuOption]: /reference/blockly.contextmenuregistry.contextmenuoption
|
||||
[LegacyContextMenuOption]: /reference/blockly.contextmenuregistry.legacycontextmenuoption
|
||||
[coordinate-systems]: /guides/configure/web/metrics_manager#coordinate-systems
|
||||
[keyboard-navigation-plugin]: /guides/configure/web/keyboard-nav
|
||||
[coordinate-systems]: /guides/configure/metrics_manager#coordinate-systems
|
||||
[keyboard-navigation-plugin]: /guides/configure/keyboard-nav
|
||||
+4
-4
@@ -152,16 +152,16 @@ find the paster associated with a given copy data from its `paster` property.
|
||||
Blockly.clipboard.registry.register('MY_PASTER', new MyPaster());
|
||||
```
|
||||
|
||||
[implement-paster]: /guides/configure/web/copy-paste#implement-a-paster
|
||||
[implement-paster]: /guides/configure/copy-paste#implement-a-paster
|
||||
[ICopyable]: /reference/blockly.icopyable
|
||||
[IDeletable]: /reference/blockly.ideletable
|
||||
[IDraggable]: /reference/blockly.idraggable
|
||||
[ICopyData]: /reference/blockly.icopyable.icopydata
|
||||
[IPaster]: /reference/blockly.ipaster
|
||||
[ISelectable]: /reference/blockly.iselectable
|
||||
[default-keyboard-shortcuts]: /guides/configure/web/keyboard-shortcuts#default-shortcuts
|
||||
[context-menu-option]: /guides/configure/web/context-menus
|
||||
[custom-draggables]: /guides/configure/web/dragging/draggable
|
||||
[default-keyboard-shortcuts]: /guides/configure/keyboard-shortcuts#default-shortcuts
|
||||
[context-menu-option]: /guides/configure/context-menus
|
||||
[custom-draggables]: /guides/configure/dragging/draggable
|
||||
[multiselect-plugin]: https://www.npmjs.com/package/@mit-app-inventor/blockly-plugin-workspace-multiselect
|
||||
[cross-tab-copy-paste-plugin]: https://www.npmjs.com/package/@blockly/plugin-cross-tab-copy-paste
|
||||
[clipboard-namespace]: /reference/blockly.clipboard
|
||||
+1
-1
@@ -84,7 +84,7 @@ Blockly.registry.register(
|
||||
### Inject your replacement class \{#injecting-subclasses\}
|
||||
|
||||
You can also inject replacement classes using the `plugins` [configuration
|
||||
option](/guides/configure/web/configuration_struct#the-options-dictionary).
|
||||
option](/guides/configure/configuration_struct#the-options-dictionary).
|
||||
This is an object that uses [registry type names](#replaceable-classes) as
|
||||
property names and replacement classes or registered names as property values.
|
||||
|
||||
+2
-2
@@ -45,8 +45,8 @@ Blockly.Blocks['my_block'] = {
|
||||
};
|
||||
```
|
||||
|
||||
[draggable]: /guides/configure/web/dragging/draggable
|
||||
[draggable-implementation]: /guides/configure/web/dragging/draggable#implementation
|
||||
[draggable]: /guides/configure/dragging/draggable
|
||||
[draggable-implementation]: /guides/configure/dragging/draggable#implementation
|
||||
[setDragStrategy]: /reference/blockly.blocksvg.setdragstrategy
|
||||
[IDraggable]: /reference/blockly.idraggable
|
||||
[IDragStrategy]: /reference/blockly.idragstrategy
|
||||
+2
-2
@@ -231,7 +231,7 @@ For more information about copying pasting see [Copy paste][copy-paste].
|
||||
[multiselect-plugin]: https://www.npmjs.com/package/@mit-app-inventor/blockly-plugin-workspace-multiselect
|
||||
|
||||
{/* This doesn't exist yet */}
|
||||
[events]: /guides/configure/web/events
|
||||
[events]: /guides/configure/events
|
||||
[IRenderedElement]: /reference/blockly.irenderedelement
|
||||
[IDraggable]: /reference/blockly.idraggable
|
||||
[IDeletable]: /reference/blockly.ideletable
|
||||
@@ -240,4 +240,4 @@ For more information about copying pasting see [Copy paste][copy-paste].
|
||||
[svg-group]: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/g
|
||||
[Coordinate]: /reference/blockly.utils.coordinate
|
||||
[drag-target]: /reference/blockly.dragtarget
|
||||
[copy-paste]: /guides/configure/web/copy-paste
|
||||
[copy-paste]: /guides/configure/copy-paste
|
||||
+1
-1
@@ -168,7 +168,7 @@ const myWorkspace = Blockly.inject('blocklyDiv', {
|
||||
});
|
||||
```
|
||||
|
||||
[draggable]: /guides/configure/web/dragging/draggable
|
||||
[draggable]: /guides/configure/dragging/draggable
|
||||
[drag-target]: /reference/blockly.dragtarget
|
||||
[scroll-options-plugin]: https://www.npmjs.com/package/@blockly/plugin-scroll-options
|
||||
[IDragger]: /reference/blockly.idragger
|
||||
+1
-1
@@ -24,7 +24,7 @@ Add an empty `div` somewhere in the page's body and set its size:
|
||||
|
||||
## 3. Inject the workspace
|
||||
|
||||
[Define the toolbox](/guides/configure/web/toolboxes/toolbox) structure:
|
||||
[Define the toolbox](/guides/configure/toolboxes/toolbox) structure:
|
||||
|
||||
```js
|
||||
const toolbox = {
|
||||
+3
-3
@@ -121,7 +121,7 @@ Suppose a block with two fields has Blockly focus, as indicated by a highlight
|
||||
arrow:
|
||||
|
||||
1. The [keyboard navigation
|
||||
plugin](/guides/configure/web/keyboard-nav):
|
||||
plugin](/guides/configure/keyboard-nav):
|
||||
- Receives a key press event.
|
||||
- Asks the navigation system (a part of core Blockly) to move focus to the
|
||||
"next" component.
|
||||
@@ -163,11 +163,11 @@ Here are some other examples:
|
||||
- When a block is deleted, its `dispose` method calls the focus manager to
|
||||
move focus to the block's parent.
|
||||
|
||||
- [Keyboard shortcuts](/guides/configure/web/keyboard-shortcuts) use
|
||||
- [Keyboard shortcuts](/guides/configure/keyboard-shortcuts) use
|
||||
`IFocusableNode` to identify the Blockly component to which the shortcut
|
||||
applies.
|
||||
|
||||
- [Context menus](/guides/configure/web/context-menus) use
|
||||
- [Context menus](/guides/configure/context-menus) use
|
||||
`IFocusableNode` to identify the Blockly component on which the menu was
|
||||
invoked.
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ large area.
|
||||
|
||||
The grid's settings are defined by an object that is part of Blockly's
|
||||
[configuration
|
||||
options](/guides/configure/web/configuration_struct#the-options-dictionary).
|
||||
options](/guides/configure/configuration_struct#the-options-dictionary).
|
||||
Here is an example:
|
||||
|
||||
```js
|
||||
+1
-1
@@ -7,7 +7,7 @@ image: images/blockly_banner.png
|
||||
# Keyboard navigation
|
||||
|
||||
Blockly provides keyboard navigation through the `@blockly/keyboard-navigation`
|
||||
plugin. This code uses the [focus system](/guides/configure/web/focus)
|
||||
plugin. This code uses the [focus system](/guides/configure/focus)
|
||||
and will eventually be integrated into Blockly core.
|
||||
|
||||
You can [download the plugin from
|
||||
+2
-2
@@ -44,7 +44,7 @@ implements
|
||||
[`IFocusableNode`](/reference/blockly.ifocusablenode). This
|
||||
interface is implemented by all Blockly components that the user can focus on,
|
||||
including workspaces, blocks, fields, comments, and your own custom components;
|
||||
for more information, see [Focus system](/guides/configure/web/focus).
|
||||
for more information, see [Focus system](/guides/configure/focus).
|
||||
|
||||
For example, a `preconditionFn` might use `focusedNode` to ensure that a
|
||||
shortcut only applies to blocks.
|
||||
@@ -274,7 +274,7 @@ The shortcuts are defined in the `registerXxxx` functions.
|
||||
|
||||
## Keyboard navigation shortcuts
|
||||
|
||||
The [keyboard navigation plugin](/guides/configure/web/keyboard-nav)
|
||||
The [keyboard navigation plugin](/guides/configure/keyboard-nav)
|
||||
contains shortcuts that allow users to navigate Blockly with the keyboard, such
|
||||
as by using arrow keys. Keyboard navigation is essential for users who cannot
|
||||
use a mouse, such as those with motor or visual impairments. It is also useful
|
||||
+1
-1
@@ -18,7 +18,7 @@ or if you want your application to only make HTTP requests to your domain:
|
||||
place them in your own media folder.
|
||||
1. Replace any assets you want to customize.
|
||||
1. Set the `media` property in the [configuration
|
||||
options](/guides/configure/web/configuration_struct#the-options-dictionary)
|
||||
options](/guides/configure/configuration_struct#the-options-dictionary)
|
||||
to the URL of your media folder. This can be an absolute URL or a path
|
||||
relative to the current file.
|
||||
1. Deploy your media folder and all of its assets along with the rest of your
|
||||
+1
-1
@@ -11,7 +11,7 @@ scrollbars, the mouse, or the mouse wheel.
|
||||
|
||||
The move settings are defined by an object that is part of Blockly's
|
||||
[configuration
|
||||
options](/guides/configure/web/configuration_struct#the-options-dictionary).
|
||||
options](/guides/configure/configuration_struct#the-options-dictionary).
|
||||
Here is an example:
|
||||
|
||||
```js
|
||||
+1
-1
@@ -28,7 +28,7 @@ of a table cell that fills the bottom of the screen.
|
||||
## 2. Inject the workspace
|
||||
|
||||
Injecting Blockly is the same as the process described in
|
||||
[injecting fixed-sized Blockly](/guides/configure/web/fixed-size).
|
||||
[injecting fixed-sized Blockly](/guides/configure/fixed-size).
|
||||
Add the code, the `blocklyDiv` element, a toolbox, and an injection call.
|
||||
|
||||
Blockly should now be running on the page, just not located where it should be
|
||||
+2
-2
@@ -78,7 +78,7 @@ prevent duplicating state within a save.
|
||||
|
||||
When `Blockly.serialization.workspaces.load` is called, serializers are given
|
||||
state to deserialize in order of _priority_. This is explained further in the
|
||||
[Serializers](/guides/configure/web/serialization#serializer-hooks)
|
||||
[Serializers](/guides/configure/serialization#serializer-hooks)
|
||||
section, and its purpose is to allow serializers to depend on state from other
|
||||
systems.
|
||||
|
||||
@@ -170,7 +170,7 @@ When you register a serializer you must provide several things:
|
||||
- A function to `clear` the state.
|
||||
- A function to `load` the state.
|
||||
- A `priority`, which is used to determine the [deserialization
|
||||
order](/guides/configure/web/serialization#deserialization-order).
|
||||
order](/guides/configure/serialization#deserialization-order).
|
||||
|
||||
You can base the priority of your serializer on the [built-in
|
||||
priorities](/reference/blockly.serialization.priorities)
|
||||
+2
-2
@@ -138,7 +138,7 @@ class to assign the label color:
|
||||
|
||||
## Themes
|
||||
|
||||
[Themes](/guides/configure/web/appearance/themes) allow you to specify all of the
|
||||
[Themes](/guides/configure/appearance/themes) allow you to specify all of the
|
||||
colours of your workspace at once, including the colours of your categories.
|
||||
If you need finer-grained control, use CSS.
|
||||
|
||||
@@ -200,4 +200,4 @@ spelling.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
Note that we also support using localizable [colour
|
||||
references](/guides/configure/web/appearance/colour-formats#colour-references).
|
||||
references](/guides/configure/appearance/colour-formats#colour-references).
|
||||
+1
-1
@@ -18,7 +18,7 @@ blocks.](/images/toolbox-categories.png)
|
||||
|
||||
To create a category toolbox, pass JSON or XML describing the toolbox to the
|
||||
`toolbox` property of the [configuration
|
||||
options](/guides/configure/web/configuration_struct#the-options-dictionary).
|
||||
options](/guides/configure/configuration_struct#the-options-dictionary).
|
||||
|
||||
<Tabs groupId="group-1" queryString="tab">
|
||||
<TabItem value="json" label="JSON" default>
|
||||
+1
-1
@@ -62,7 +62,7 @@ category.show();
|
||||
## Expand categories
|
||||
|
||||
This only applies to categories which contain other [nested
|
||||
categories](/guides/configure/web/toolboxes/nested).
|
||||
categories](/guides/configure/toolboxes/nested).
|
||||
|
||||
An expanded category will show you its sub categories. By default, nested
|
||||
categories are collapsed, and need to be clicked to be expanded.
|
||||
+1
-1
@@ -16,7 +16,7 @@ blocks.](/images/toolbox-minimal.png)
|
||||
|
||||
To create a flyout toolbox, pass JSON or XML describing the toolbox to the
|
||||
`toolbox` property of the [configuration
|
||||
options](/guides/configure/web/configuration_struct#the-options-dictionary).
|
||||
options](/guides/configure/configuration_struct#the-options-dictionary).
|
||||
|
||||
<Tabs groupId="group-1">
|
||||
<TabItem value="json" label="JSON" default>
|
||||
+3
-3
@@ -9,9 +9,9 @@ image: images/blockly_banner.png
|
||||
The toolbox is the place where users get blocks. Usually it is displayed on one
|
||||
side of the workspace.
|
||||
|
||||
A [flyout toolbox](/guides/configure/web/toolboxes/flyout) has a single
|
||||
A [flyout toolbox](/guides/configure/toolboxes/flyout) has a single
|
||||
set of blocks that are displayed at all times. A [category
|
||||
toolbox](/guides/configure/web/toolboxes/category) has multiple sets of
|
||||
toolbox](/guides/configure/toolboxes/category) has multiple sets of
|
||||
blocks that are arranged into different categories.
|
||||
|
||||
Toolboxes can be defined using JSON (as of the [September 2020
|
||||
@@ -21,7 +21,7 @@ The JSON format is preferred.
|
||||
This section mainly focuses on how to specify the _structure_ of your toolbox
|
||||
(i.e. what categories it has, and what blocks they contain). If you want more
|
||||
details about how to change the _appearance_ of your toolbox, see [Category
|
||||
appearance](/guides/configure/web/toolboxes/appearance), the
|
||||
appearance](/guides/configure/toolboxes/appearance), the
|
||||
[Customizing a Blockly toolbox
|
||||
codelab](/codelabs/custom-toolbox/codelab-overview),
|
||||
and the [2021 Toolbox APIs
|
||||
+1
-1
@@ -390,4 +390,4 @@ And in the XML definition of a toolbox in the following attributes of
|
||||
- `colour`
|
||||
|
||||
For more information about using token references as colour values, see [Colour
|
||||
references](/guides/configure/web/appearance/colour-formats#colour-references).
|
||||
references](/guides/configure/appearance/colour-formats#colour-references).
|
||||
+3
-3
@@ -190,11 +190,11 @@ Blockly.comments.CommentView.defaultCommentSize = new Blockly.utils.Size(
|
||||
);
|
||||
```
|
||||
|
||||
[context-menus]: /guides/configure/web/context-menus
|
||||
[context-menus]: /guides/configure/context-menus
|
||||
[flyout]: /guides/get-started/workspace-anatomy#flyout-toolbox
|
||||
[themes]: /guides/configure/web/appearance/themes
|
||||
[themes]: /guides/configure/appearance/themes
|
||||
[svg-image-element]: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/image
|
||||
[media]: /guides/configure/web/media
|
||||
[media]: /guides/configure/media
|
||||
[workspace-comment-image]: /images/workspace-comments/workspace-comment.png
|
||||
[coloured-workspace-comment-image]: /images/workspace-comments/coloured-comment.png
|
||||
[workspace-comment-outline-image]: /images/workspace-comments/workspace-comment-outline.png
|
||||
+1
-1
@@ -11,7 +11,7 @@ or statically by the developer.
|
||||
|
||||
The zoom settings are defined by an object that is part of Blockly's
|
||||
[configuration
|
||||
options](/guides/configure/web/configuration_struct#the-options-dictionary).
|
||||
options](/guides/configure/configuration_struct#the-options-dictionary).
|
||||
Here is an example:
|
||||
|
||||
```js
|
||||
@@ -131,5 +131,5 @@ Blockly.Msg.LOGIC_HUE = '210';
|
||||
```
|
||||
|
||||
[translatewiki]: /guides/contribute/core/translating
|
||||
[localization]: /guides/configure/web/translations
|
||||
[block-colour]: /guides/configure/web/appearance/block-colour#set-block-colour
|
||||
[localization]: /guides/configure/translations
|
||||
[block-colour]: /guides/configure/appearance/block-colour#set-block-colour
|
||||
|
||||
@@ -37,7 +37,7 @@ Blockly workspaces on the page.
|
||||
### Theme
|
||||
|
||||
A theme plugin publishes a single Blockly
|
||||
[theme](/guides/configure/web/appearance/themes).
|
||||
[theme](/guides/configure/appearance/themes).
|
||||
|
||||
Loading a theme plugin defines a new theme that can then be used in all Blockly
|
||||
workspaces on the page.
|
||||
|
||||
@@ -133,9 +133,7 @@ headers are present in the file where you include this code.
|
||||
|
||||
This video walks through the steps of defining a block in detail. The UI is out
|
||||
date, but the block features it highlights are still more or less accurate.
|
||||
|
||||
<iframe width="100%" height="534" src="https://www.youtube.com/embed/s2_xaEvcVI0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen>
|
||||
</iframe>
|
||||
[Watch the video on YouTube](https://www.youtube.com/watch?v=s2_xaEvcVI0).
|
||||
|
||||
## Block library
|
||||
|
||||
@@ -152,18 +150,12 @@ following these steps:
|
||||
1. In the legacy Block Factory, click the `Export Block Library` button in the
|
||||
toolbar. This will download a file with all of your block definitions.
|
||||
|
||||

|
||||

|
||||
|
||||
1. In the new Block Factory, click the "Load block" button in the toolbar.
|
||||
1. Select the "Import from Block Factory" option in the menu.
|
||||
|
||||

|
||||

|
||||
|
||||
1. Upload the file you downloaded in Step 1.
|
||||
1. Your block definitions should be automatically converted to the new format
|
||||
@@ -181,7 +173,7 @@ following these steps:
|
||||
[block-code-generator]: /guides/create-custom-blocks/code-generation/overview#block-code-generators
|
||||
[inputs]: /guides/get-started/workspace-anatomy#inputs
|
||||
[fields]: /guides/get-started/workspace-anatomy#fields
|
||||
[toolbox-preset]: /guides/configure/web/toolboxes/preset
|
||||
[toolbox-preset]: /guides/configure/toolboxes/preset
|
||||
[mutators]: /guides/create-custom-blocks/mutators
|
||||
[loading-blockly]: /guides/get-started/get-the-code#get-the-code-1
|
||||
[code-generation]: /guides/create-custom-blocks/code-generation/overview#language-code-generators
|
||||
|
||||
@@ -12,7 +12,7 @@ import TabItem from '@theme/TabItem';
|
||||
Blockly has two ways of defining blocks: JSON objects, which use key-value
|
||||
pairs, and JavaScript functions, which call Blockly's API. The JSON format is
|
||||
preferred because it [simplifies
|
||||
localization](/guides/configure/web/translations#json-message-interpolation)
|
||||
localization](/guides/configure/translations#json-message-interpolation)
|
||||
and is easier to read and write. However, it cannot be used to directly define
|
||||
advanced features such as mutators or validators. These must be written in
|
||||
JavaScript, usually as
|
||||
|
||||
@@ -64,7 +64,7 @@ magically replace just one line. There are several problems with this:
|
||||
function to copy -- it's generated at run time.
|
||||
- It requires you to define your block using JavaScript, which may [cause
|
||||
problems with
|
||||
localization](/guides/configure/web/translations#json-message-interpolation).
|
||||
localization](/guides/configure/translations#json-message-interpolation).
|
||||
|
||||
### Overwrite the results of init
|
||||
|
||||
@@ -92,7 +92,7 @@ Unfortunately, this is less useful that it seems. For example:
|
||||
field validators and may break event handlers. It may also be extremely
|
||||
difficult to do for localized blocks because different locales may result in
|
||||
blocks with [different types and orders of inputs and
|
||||
fields](/guides/configure/web/translations#json-message-interpolation).
|
||||
fields](/guides/configure/translations#json-message-interpolation).
|
||||
|
||||
### Overwrite a key-value pair in a JSON definition
|
||||
|
||||
|
||||
@@ -297,7 +297,7 @@ inputs.
|
||||
|
||||
The ability to change the order of the interpolation tokens in a message makes
|
||||
localization easier. For more information, see [JSON message
|
||||
interpolation](/guides/configure/web/translations#json-message-interpolation).
|
||||
interpolation](/guides/configure/translations#json-message-interpolation).
|
||||
|
||||
## Text handling
|
||||
|
||||
|
||||
+3
-3
@@ -105,7 +105,7 @@ Blockly.fieldRegistry.register('field_generic', GenericField);
|
||||
|
||||
You also need to define your `fromJson` function. Your implementation should
|
||||
first dereference any [references to localization
|
||||
tokens](/guides/configure/web/translations#use-localization-tokens-in-json)
|
||||
tokens](/guides/configure/translations#use-localization-tokens-in-json)
|
||||
using
|
||||
[`replaceMessageReferences`](/reference/blockly.utils.parsing.replacemessagereferences),
|
||||
and then pass the values to the constructor.
|
||||
@@ -731,7 +731,7 @@ Messing with a field's cursor is fragile.
|
||||
|
||||
## Serialization
|
||||
|
||||
[Serialization](/guides/configure/web/serialization) is about saving the
|
||||
[Serialization](/guides/configure/serialization) is about saving the
|
||||
state of your field so that it can be reloaded into the workspace later.
|
||||
|
||||
The state of your workspace always includes the field's value, but it could also
|
||||
@@ -897,5 +897,5 @@ Before version 12.0.0, the `CURSOR` property determined the cursor. Its
|
||||
value was a valid CSS cursor string.
|
||||
:::
|
||||
|
||||
[serializer]: /guides/configure/web/serialization#serializer-hooks
|
||||
[serializer]: /guides/configure/serialization#serializer-hooks
|
||||
[field-generator]: /guides/create-custom-blocks/code-generation/overview#block-code-generators
|
||||
|
||||
+1
-1
@@ -105,4 +105,4 @@ Blockly.icons.registry.register(new Blockly.icons.IconType('my_icon'), myIcon);
|
||||
[loadState]: /reference/blockly.iserializable.loadstate
|
||||
[IconType]: /reference/blockly.icons.icontype
|
||||
[getType]: /reference/blockly.iicon.gettype
|
||||
[serializer]: /guides/configure/web/serialization#serializer-hooks
|
||||
[serializer]: /guides/configure/serialization#serializer-hooks
|
||||
|
||||
@@ -237,6 +237,6 @@ the [limitations](#limitations) of this one, you can create a custom
|
||||
connection checker.
|
||||
|
||||
[connection-type]: /guides/create-custom-blocks/define/block-anatomy#connections
|
||||
[event-system]: /guides/configure/web/events
|
||||
[event-system]: /guides/configure/events
|
||||
[BlockMove]: /reference/blockly.events.blockmove
|
||||
[custom-connection-checker]: /guides/create-custom-blocks/inputs/connection_checker
|
||||
|
||||
@@ -211,4 +211,4 @@ For more information about registration, see
|
||||
[IConnectionPreviewer]: /reference/blockly.iconnectionpreviewer
|
||||
[insertion-marker]: /guides/get-started/workspace-anatomy#insertion-marker
|
||||
[custom-renderer]: /guides/create-custom-blocks/renderers/create-custom-renderers/basic-implementation
|
||||
[inject-subclasses]: /guides/configure/web/customization#injecting-subclasses
|
||||
[inject-subclasses]: /guides/configure/customization#injecting-subclasses
|
||||
|
||||
@@ -36,9 +36,7 @@ can easily create, modify, and save custom blocks.
|
||||
|
||||
This video walks through the steps of defining a block in detail. The UI is out
|
||||
date, but the block features it highlights are still accurate.
|
||||
|
||||
<iframe width="950" height="534" src="https://www.youtube.com/embed/s2_xaEvcVI0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen>
|
||||
</iframe>
|
||||
[Watch the video on YouTube](https://www.youtube.com/watch?v=s2_xaEvcVI0).
|
||||
|
||||
### Managing the library
|
||||
|
||||
@@ -116,7 +114,7 @@ starting workspace with the "Toolbox" and "Workspace" buttons.
|
||||
### Building a toolbox
|
||||
|
||||
This tab helps build the XML for a Toolbox. The material assumes
|
||||
familiarity with features of a [Toolbox](/guides/configure/web/toolboxes/toolbox).
|
||||
familiarity with features of a [Toolbox](/guides/configure/toolboxes/toolbox).
|
||||
If you already have XML for a toolbox that you want to edit here, you can
|
||||
load it by clicking "Load to Edit".
|
||||
|
||||
@@ -167,7 +165,7 @@ to the toolbox. If you have blocks defined in JSON that aren't in your library,
|
||||
you can import them using the "Import Custom Blocks" button.
|
||||
|
||||
Some blocks should be used together or include defaults. This is done with
|
||||
[groups and shadows](/guides/configure/web/toolboxes/preset). Any
|
||||
[groups and shadows](/guides/configure/toolboxes/preset). Any
|
||||
blocks that are connected in the editor will be added to the toolbox as a group.
|
||||
Blocks that are attached to another block can also be changed to shadow blocks
|
||||
by selecting the child block and clicking the "Make Shadow" button.
|
||||
@@ -179,7 +177,7 @@ blocks.
|
||||
If you include a variable or function block in their toolbox, include a
|
||||
"Variables" or "Functions" category in your toolbox to allow users to fully
|
||||
utilize the block. Learn more about ["Variables" or "Functions"
|
||||
categories](/guides/configure/web/toolboxes/dynamic#built-in-dynamic-categories).
|
||||
categories](/guides/configure/toolboxes/dynamic#built-in-dynamic-categories).
|
||||
|
||||
### Configuring a workspace
|
||||
|
||||
@@ -189,10 +187,10 @@ tab and select "Workspace".
|
||||
#### Choose Workspace Options
|
||||
|
||||
Set different values for [configuration
|
||||
options](/guides/configure/web/configuration_struct#the-options-dictionary)
|
||||
options](/guides/configure/configuration_struct#the-options-dictionary)
|
||||
and see the result in the preview area. Enabling
|
||||
[grid](/guides/configure/web/grid) or
|
||||
[zoom](/guides/configure/web/zoom) reveals more options to configure.
|
||||
[grid](/guides/configure/grid) or
|
||||
[zoom](/guides/configure/zoom) reveals more options to configure.
|
||||
Also, switching to using categories usually requires a more complex
|
||||
workspace; a trashcan and scrollbars are added automatically when you add your
|
||||
first category.
|
||||
|
||||
@@ -30,7 +30,7 @@ block with its dropdown set to `divisible by`. It has two value
|
||||
inputs.](/images/is-divisible-by.png)
|
||||
|
||||
See the [serialization
|
||||
page](/guides/configure/web/serialization#when-to-save-extra-state) for
|
||||
page](/guides/configure/serialization#when-to-save-extra-state) for
|
||||
more information about when you need a mutator and when you don't.
|
||||
|
||||
Mutators also provide a built-in UI for users to change the shapes of blocks if
|
||||
@@ -321,4 +321,4 @@ var helper = function () {
|
||||
```
|
||||
|
||||
[shareable-procedures]: https://www.npmjs.com/package/@blockly/block-shareable-procedures
|
||||
[serializer]: /guides/configure/web/serialization#serializer-hooks
|
||||
[serializer]: /guides/configure/serialization#serializer-hooks
|
||||
|
||||
@@ -130,5 +130,5 @@ toolbox:
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
For more information, see [Define a flyout
|
||||
toolbox](/guides/configure/web/toolboxes/flyout) or [Define a category
|
||||
toolbox](/guides/configure/web/toolboxes/category).
|
||||
toolbox](/guides/configure/toolboxes/flyout) or [Define a category
|
||||
toolbox](/guides/configure/toolboxes/category).
|
||||
|
||||
+2
-2
@@ -240,8 +240,8 @@ completely external to Blockly, etc.
|
||||
Blockly’s built-in dynamic procedure category is specific to Blockly’s built-in
|
||||
procedure blocks. So to be able to access your blocks, you will need to define
|
||||
your own [custom dynamic
|
||||
category](/guides/configure/web/toolboxes/dynamic), and [add it
|
||||
to your toolbox](/guides/configure/web/toolboxes/dynamic).
|
||||
category](/guides/configure/toolboxes/dynamic), and [add it
|
||||
to your toolbox](/guides/configure/toolboxes/dynamic).
|
||||
|
||||
```js
|
||||
const proceduresFlyoutCallback = function (workspace) {
|
||||
|
||||
@@ -27,7 +27,7 @@ It also handles:
|
||||
- Applying other styling to the SVG elements.
|
||||
|
||||
[PathObject]: /reference/blockly.blockrendering.pathobject
|
||||
[theme]: /guides/configure/web/appearance/themes#block-style
|
||||
[theme]: /guides/configure/appearance/themes#block-style
|
||||
[built-in-renderers]: /guides/create-custom-blocks/renderers/overview#built-in-renderers
|
||||
[drawer]: /guides/create-custom-blocks/renderers/concepts/drawer
|
||||
[geras-paths-image]: /images/rendering/renderers/geras-paths.png
|
||||
|
||||
+1
-1
@@ -100,5 +100,5 @@ const workspace = Blockly.inject(blocklyDiv, {
|
||||
[makeRenderInfo]: /reference/blockly.blockrendering.renderer.makerenderinfo_
|
||||
[makePathObject]: /reference/blockly.blockrendering.renderer.makepathobject
|
||||
[makeDrawer]: /reference/blockly.blockrendering.renderer.makedrawer_
|
||||
[inject-config]: /guides/configure/web/configuration_struct
|
||||
[inject-config]: /guides/configure/configuration_struct
|
||||
[custom-renderer-codelab]: /codelabs/custom-renderer/codelab-overview
|
||||
|
||||
@@ -205,7 +205,7 @@ while providing a `variableTypes` array will cause an error to be thrown.
|
||||
|
||||
By default there is no visual indicator to tell the user which type is being
|
||||
used. One easy way to differentiate variable types is by
|
||||
[colour](/guides/configure/web/appearance/block-colour).
|
||||
[colour](/guides/configure/appearance/block-colour).
|
||||
|
||||
:::note
|
||||
The `variableTypes` key is optional on a field_variable. If it is
|
||||
@@ -218,7 +218,7 @@ all variables of any type use `"variableTypes": null`.
|
||||
To make this new type of variable useful to your users, you need to add a way to
|
||||
create and use the new variables.
|
||||
|
||||
Create a new [dynamic category](/guides/configure/web/toolboxes/dynamic)
|
||||
Create a new [dynamic category](/guides/configure/toolboxes/dynamic)
|
||||
for variables if you do not already have one.
|
||||
|
||||

|
||||
### Create Variable Button
|
||||
|
||||
Next, your user needs a way to create variables. The simplest way is with a
|
||||
"Create Variable" [button](/guides/configure/web/toolboxes/buttons).
|
||||
"Create Variable" [button](/guides/configure/toolboxes/buttons).
|
||||
|
||||
When creating the button, make the callback call
|
||||
|
||||
|
||||
@@ -180,6 +180,6 @@ codelab](/codelabs/getting-started/codelab-overview).
|
||||
|
||||
And if you're ready to write your application:
|
||||
|
||||
- [Build your editor](/guides/configure/web/configuration_struct)
|
||||
- [Build your editor](/guides/configure/configuration_struct)
|
||||
- [Build your blocks](/guides/create-custom-blocks/overview)
|
||||
- [Build your application](/guides/app-integration/run-code)
|
||||
|
||||
@@ -124,7 +124,7 @@ be added by either overriding the renderer constant `ADD_START_HATS` to `true`
|
||||
constants](/codelabs/custom-renderer/override-constants)).
|
||||
or by adding a theme and setting the hat option on the block style. For more
|
||||
information for setting hats on blocks as part of themes, see [Block
|
||||
style](/guides/configure/web/appearance/themes/#block-style) in the themes
|
||||
style](/guides/configure/appearance/themes/#block-style) in the themes
|
||||
documentation.
|
||||
|
||||
![The same "on mouse click" blocks with hats, which form a hump on top of the
|
||||
|
||||
@@ -42,4 +42,4 @@ Blockly.serialization.workspaces.load(state, myWorkspace);
|
||||
This creates all of your saved blocks, variables, and other elements in the
|
||||
workspace.
|
||||
|
||||
[serialization]: /guides/configure/web/serialization
|
||||
[serialization]: /guides/configure/serialization
|
||||
|
||||
@@ -54,5 +54,5 @@ For more information about injection, see
|
||||
[Workspace creation][workspace-creation].
|
||||
|
||||
[visual-glossary-toolbox]: /guides/get-started/workspace-anatomy#toolbox
|
||||
[toolbox-overview]: /guides/configure/web/toolboxes/toolbox
|
||||
[toolbox-overview]: /guides/configure/toolboxes/toolbox
|
||||
[workspace-creation]: /guides/get-started/workspace-creation
|
||||
|
||||
@@ -6,13 +6,13 @@ image: images/blockly_banner.png
|
||||
|
||||
import Image from '@site/src/components/Image';
|
||||
|
||||
[workspace]: /guides/configure/web/configuration_struct
|
||||
[category-toolbox]: /guides/configure/web/toolboxes/category
|
||||
[flyout-toolbox]: /guides/configure/web/toolboxes/flyout
|
||||
[shadow-block]: /guides/configure/web/toolboxes/preset#shadow-blocks
|
||||
[toolbox]: /guides/configure/web/toolboxes/toolbox
|
||||
[zoom-controls]: /guides/configure/web/zoom
|
||||
[context-menu]: /guides/configure/web/context-menus
|
||||
[workspace]: /guides/configure/configuration_struct
|
||||
[category-toolbox]: /guides/configure/toolboxes/category
|
||||
[flyout-toolbox]: /guides/configure/toolboxes/flyout
|
||||
[shadow-block]: /guides/configure/toolboxes/preset#shadow-blocks
|
||||
[toolbox]: /guides/configure/toolboxes/toolbox
|
||||
[zoom-controls]: /guides/configure/zoom
|
||||
[context-menu]: /guides/configure/context-menus
|
||||
[block]: /guides/create-custom-blocks/overview
|
||||
[input]: /guides/create-custom-blocks/define/block-anatomy#inputs
|
||||
[connection]: /guides/create-custom-blocks/define/block-anatomy#connections
|
||||
|
||||
@@ -58,6 +58,6 @@ For more information about configuration options, see
|
||||
[Configuration options][config-options].
|
||||
|
||||
[visual-glossary]: /guides/get-started/workspace-anatomy
|
||||
[config-options]: /guides/configure/web/configuration_struct#the-options-dictionary
|
||||
[config-options]: /guides/configure/configuration_struct#the-options-dictionary
|
||||
[fixed-demo]: https://raspberrypifoundation.github.io/blockly-samples/examples/fixed-demo/index.html
|
||||
[resizable-demo]: https://raspberrypifoundation.github.io/blockly-samples/examples/resizable-demo/index.html
|
||||
|
||||
@@ -16,7 +16,7 @@ plugins and custom classes instead of by forking.
|
||||
|
||||
For more information, see
|
||||
[Plugins](/guides/programming/plugin_overview) and [Advanced
|
||||
customization](/guides/configure/web/customization).
|
||||
customization](/guides/configure/customization).
|
||||
|
||||
## Alternatives
|
||||
|
||||
|
||||
@@ -16,9 +16,9 @@ custom renderer. Plugins are generally packaged and distributed through npm.
|
||||
|
||||
:::note
|
||||
The [`BlocklyOptions`
|
||||
object](/guides/configure/web/configuration_struct#the-options-dictionary)
|
||||
object](/guides/configure/configuration_struct#the-options-dictionary)
|
||||
has a `plugins` property for injecting classes that [customize Blockly
|
||||
behavior](/guides/configure/web/customization). While these classes may
|
||||
behavior](/guides/configure/customization). While these classes may
|
||||
be implemented as plugins, this is not required and they are otherwise
|
||||
unrelated.
|
||||
:::
|
||||
|
||||
@@ -93,7 +93,7 @@ const config = {
|
||||
},
|
||||
{
|
||||
label: 'Build your editor',
|
||||
to: 'guides/configure/web/configuration_struct',
|
||||
to: 'guides/configure/configuration_struct',
|
||||
},
|
||||
{
|
||||
label: 'Build your blocks',
|
||||
|
||||
+39
-39
@@ -570,27 +570,27 @@ const sidebars = {
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Create a workspace',
|
||||
id: 'guides/configure/web/configuration_struct',
|
||||
id: 'guides/configure/configuration_struct',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Grid option',
|
||||
id: 'guides/configure/web/grid',
|
||||
id: 'guides/configure/grid',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Media folder option',
|
||||
id: 'guides/configure/web/media',
|
||||
id: 'guides/configure/media',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Move option',
|
||||
id: 'guides/configure/web/move',
|
||||
id: 'guides/configure/move',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Zoom option',
|
||||
id: 'guides/configure/web/zoom',
|
||||
id: 'guides/configure/zoom',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -601,17 +601,17 @@ const sidebars = {
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Fixed-size workspace',
|
||||
id: 'guides/configure/web/fixed-size',
|
||||
id: 'guides/configure/fixed-size',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Resizable workspace',
|
||||
id: 'guides/configure/web/resizable',
|
||||
id: 'guides/configure/resizable',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Metrics Manager',
|
||||
id: 'guides/configure/web/metrics_manager',
|
||||
id: 'guides/configure/metrics_manager',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -624,7 +624,7 @@ const sidebars = {
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Overview',
|
||||
id: 'guides/configure/web/toolboxes/toolbox',
|
||||
id: 'guides/configure/toolboxes/toolbox',
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
@@ -633,7 +633,7 @@ const sidebars = {
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Define a flyout toolbox',
|
||||
id: 'guides/configure/web/toolboxes/flyout',
|
||||
id: 'guides/configure/toolboxes/flyout',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -644,54 +644,54 @@ const sidebars = {
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Define a category toolbox',
|
||||
id: 'guides/configure/web/toolboxes/category',
|
||||
id: 'guides/configure/toolboxes/category',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Nested categories',
|
||||
id: 'guides/configure/web/toolboxes/nested',
|
||||
id: 'guides/configure/toolboxes/nested',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Dynamic categories',
|
||||
id: 'guides/configure/web/toolboxes/dynamic',
|
||||
id: 'guides/configure/toolboxes/dynamic',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Disable, hide, or expand categories',
|
||||
id: 'guides/configure/web/toolboxes/disable-categories',
|
||||
id: 'guides/configure/toolboxes/disable-categories',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Category appearance',
|
||||
id: 'guides/configure/web/toolboxes/appearance',
|
||||
id: 'guides/configure/toolboxes/appearance',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Programmatic access',
|
||||
id: 'guides/configure/web/toolboxes/programmatic',
|
||||
id: 'guides/configure/toolboxes/programmatic',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Preset blocks',
|
||||
id: 'guides/configure/web/toolboxes/preset',
|
||||
id: 'guides/configure/toolboxes/preset',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Separators',
|
||||
id: 'guides/configure/web/toolboxes/separators',
|
||||
id: 'guides/configure/toolboxes/separators',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Buttons and labels',
|
||||
id: 'guides/configure/web/toolboxes/buttons',
|
||||
id: 'guides/configure/toolboxes/buttons',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Modify toolboxes',
|
||||
id: 'guides/configure/web/toolboxes/modify',
|
||||
id: 'guides/configure/toolboxes/modify',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -702,34 +702,34 @@ const sidebars = {
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Themes',
|
||||
id: 'guides/configure/web/appearance/themes',
|
||||
id: 'guides/configure/appearance/themes',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Colour formats',
|
||||
id: 'guides/configure/web/appearance/colour-formats',
|
||||
id: 'guides/configure/appearance/colour-formats',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Block colours',
|
||||
id: 'guides/configure/web/appearance/block-colour',
|
||||
id: 'guides/configure/appearance/block-colour',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Style with CSS',
|
||||
id: 'guides/configure/web/appearance/css',
|
||||
id: 'guides/configure/appearance/css',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Save and load',
|
||||
id: 'guides/configure/web/serialization',
|
||||
id: 'guides/configure/serialization',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Events',
|
||||
id: 'guides/configure/web/events',
|
||||
id: 'guides/configure/events',
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
@@ -738,17 +738,17 @@ const sidebars = {
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Keyboard shortcuts',
|
||||
id: 'guides/configure/web/keyboard-shortcuts',
|
||||
id: 'guides/configure/keyboard-shortcuts',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Copy and paste',
|
||||
id: 'guides/configure/web/copy-paste',
|
||||
id: 'guides/configure/copy-paste',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Context menus',
|
||||
id: 'guides/configure/web/context-menus',
|
||||
id: 'guides/configure/context-menus',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -759,17 +759,17 @@ const sidebars = {
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Custom draggables',
|
||||
id: 'guides/configure/web/dragging/draggable',
|
||||
id: 'guides/configure/dragging/draggable',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Custom block drag strategies',
|
||||
id: 'guides/configure/web/dragging/block-drag-strategies',
|
||||
id: 'guides/configure/dragging/block-drag-strategies',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Custom draggers',
|
||||
id: 'guides/configure/web/dragging/dragger',
|
||||
id: 'guides/configure/dragging/dragger',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -780,29 +780,29 @@ const sidebars = {
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Workspace comments',
|
||||
id: 'guides/configure/web/workspace_comment',
|
||||
id: 'guides/configure/workspace_comment',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Block comments',
|
||||
id: 'guides/configure/web/block_comment',
|
||||
id: 'guides/configure/block_comment',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Localization',
|
||||
id: 'guides/configure/web/translations',
|
||||
id: 'guides/configure/translations',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Focus system',
|
||||
id: 'guides/configure/web/focus',
|
||||
id: 'guides/configure/focus',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Advanced customization',
|
||||
id: 'guides/configure/web/customization',
|
||||
id: 'guides/configure/customization',
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
@@ -811,12 +811,12 @@ const sidebars = {
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Keyboard navigation',
|
||||
id: 'guides/configure/web/keyboard-nav',
|
||||
id: 'guides/configure/keyboard-nav',
|
||||
},
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Colour and accessibility',
|
||||
id: 'guides/configure/web/colour-a11y',
|
||||
id: 'guides/configure/colour-a11y',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
Vendored
+107
@@ -13,3 +13,110 @@
|
||||
# Strip .md/.mdx extensions on canonical /reference/* paths
|
||||
/reference/*.md /reference/:splat/ 302
|
||||
/reference/*.mdx /reference/:splat/ 302
|
||||
|
||||
# Remove field docs for angle, colour, and multiline
|
||||
/guides/create-custom-blocks/fields/built-in-fields/angle https://www.npmjs.com/package/@blockly/field-angle 301
|
||||
/guides/create-custom-blocks/fields/built-in-fields/colour https://www.npmjs.com/package/@blockly/field-colour 301
|
||||
/guides/create-custom-blocks/fields/built-in-fields/multiline-text-input https://www.npmjs.com/package/@blockly/field-multilineinput 301
|
||||
|
||||
# Add Getting started section
|
||||
/guides/overview /guides/get-started/what-is-blockly/ 301
|
||||
/guides/get-started/web /guides/get-started/get-the-code/ 301
|
||||
|
||||
# Reorganize docs on code generation
|
||||
/guides/configure/web/code-generators /guides/create-custom-blocks/code-generation/overview/ 301
|
||||
/guides/create-custom-blocks/caching-arguments /guides/create-custom-blocks/code-generation/caching-arguments/ 301
|
||||
/guides/create-custom-blocks/operator-precedence /guides/create-custom-blocks/code-generation/operator-precedence/ 301
|
||||
/guides/create-custom-blocks/generating-code /guides/create-custom-blocks/code-generation/overview/#block-code-generators 301
|
||||
|
||||
# Move connection checking information
|
||||
/guides/create-custom-blocks/type-checks /guides/create-custom-blocks/inputs/connection-checks/ 301
|
||||
|
||||
# Reorganize "Modify Blockly" and "Plugins" sections (2022)
|
||||
/guides/modify/contributing /guides/contribute/ 301
|
||||
|
||||
# Contributing Get Started section
|
||||
/guides/modify/contribute/commits /guides/contribute/get-started/commits/ 301
|
||||
/guides/modify/development_setup /guides/contribute/get-started/development_tools/ 301
|
||||
/guides/modify/contribute/issue_labels /guides/contribute/get-started/issue_labels/ 301
|
||||
/guides/modify/contribute/pr_review_process /guides/contribute/get-started/pr_review_process/ 301
|
||||
/guides/modify/contribute/write_a_good_issue /guides/contribute/get-started/write_a_good_issue/ 301
|
||||
/guides/modify/contribute/write_a_good_pr /guides/contribute/get-started/write_a_good_pr/ 301
|
||||
/guides/modify/web/playground /guides/contribute/get-started/playground/ 301
|
||||
|
||||
# Contributing to Samples section
|
||||
/guides/modify/contribute/add_a_plugin /guides/contribute/samples/add_a_plugin/ 301
|
||||
/guides/plugins/debugging /guides/contribute/samples/debugging/ 301
|
||||
/guides/plugins/naming /guides/contribute/samples/naming/ 301
|
||||
/guides/plugins/overview /guides/programming/plugin_overview/ 301
|
||||
/guides/modify/contribute/samples_repository_structure /guides/contribute/samples/repository_structure/ 301
|
||||
/guides/modify/contribute/write_a_codelab /guides/contribute/core/write_a_codelab/ 301
|
||||
|
||||
# Contributing to Core section
|
||||
/guides/modify/web/style-guide /guides/contribute/core/style_guide/ 301
|
||||
/guides/modify/web/unit-testing /guides/contribute/core/unit_testing/ 301
|
||||
/guides/modify/web/* /guides/contribute/core/ 301
|
||||
|
||||
# Advanced Customization section (under Configure)
|
||||
/guides/plugins/interfaces/overview /guides/configure/customization/ 301
|
||||
/guides/plugins/interfaces/connection_checker /guides/create-custom-blocks/inputs/connection_checker/ 301
|
||||
/guides/plugins/interfaces/metrics_manager /guides/configure/metrics_manager/ 301
|
||||
/guides/plugins/interfaces/* /guides/configure/customization/ 301
|
||||
/guides/modify/forking_blockly /guides/programming/forking_blockly/ 301
|
||||
/guides/plugins/using_blockly_apis /guides/programming/using_blockly_apis/ 301
|
||||
|
||||
# Default pages for directories
|
||||
/guides/ /guides/get-started/what-is-blockly/ 301
|
||||
/reference/ /reference/blockly/ 301
|
||||
/reference/overview /reference/blockly/ 301
|
||||
|
||||
# Begin - Site refactoring - 2025
|
||||
|
||||
# Design considerations
|
||||
/guides/create-custom-blocks/block-paradigms /guides/design/applications/ 301
|
||||
/guides/create-custom-blocks/style-guide /guides/design/blocks/ 301
|
||||
/guides/app-integration/best-practices /guides/design/education/ 301
|
||||
|
||||
# Move Advanced Customizations to Programming considerations/elsewhere
|
||||
/guides/configure/advanced/using_blockly_apis /guides/programming/using_blockly_apis/ 301
|
||||
/guides/configure/advanced/forking_blockly /guides/programming/forking_blockly/ 301
|
||||
/guides/configure/advanced/unforking_blockly /guides/programming/unforking_blockly/ 301
|
||||
/guides/configure/advanced/interfaces/overview /guides/configure/customization/ 301
|
||||
/guides/configure/advanced/interfaces/connection_checker /guides/create-custom-blocks/inputs/connection_checker/ 301
|
||||
/guides/configure/advanced/interfaces/metrics_manager /guides/configure/metrics_manager/ 301
|
||||
|
||||
# Split up Toolbox
|
||||
/guides/configure/web/toolbox /guides/configure/toolboxes/toolbox/ 301
|
||||
|
||||
# Colours
|
||||
/guides/create-custom-blocks/block-colour /guides/configure/appearance/block-colour/ 301
|
||||
|
||||
# Localization
|
||||
/guides/create-custom-blocks/localize-blocks /guides/configure/translations/ 301
|
||||
|
||||
# Custom blocks
|
||||
/guides/configure/web/custom-blocks /guides/create-custom-blocks/overview/ 301
|
||||
/guides/create-custom-blocks/extensions /guides/create-custom-blocks/define/extensions/ 301
|
||||
|
||||
# Code generation
|
||||
/guides/create-custom-blocks/code-generation/inner-blocks /guides/create-custom-blocks/code-generation/block-code/#get-code-from-inner-blocks 301
|
||||
/guides/create-custom-blocks/code-generation/statements/basic-implementation /guides/create-custom-blocks/code-generation/block-code/#inner-statement-blocks 301
|
||||
/guides/create-custom-blocks/code-generation/statements/caching-arguments /guides/create-custom-blocks/code-generation/caching-arguments/ 301
|
||||
/guides/create-custom-blocks/code-generation/values/basic-implementation /guides/create-custom-blocks/code-generation/block-code/#inner-value-blocks 301
|
||||
/guides/create-custom-blocks/code-generation/values/operator-precedence /guides/create-custom-blocks/code-generation/operator-precedence/ 301
|
||||
/guides/create-custom-blocks/code-generation/values/caching-arguments /guides/create-custom-blocks/code-generation/caching-arguments/ 301
|
||||
|
||||
# Icons
|
||||
/guides/create-custom-blocks/define-blocks /guides/create-custom-blocks/define/block-definitions/ 301
|
||||
|
||||
# Shape
|
||||
/guides/configure/web/appearance/overview /guides/create-custom-blocks/renderers/overview/ 301
|
||||
/guides/configure/web/appearance/renderers /guides/create-custom-blocks/renderers/overview/ 301
|
||||
|
||||
# Move configure docs from /web/ subdirectory
|
||||
/guides/configure/web/* /guides/configure/:splat/ 301
|
||||
|
||||
# Plugins
|
||||
/guides/contribute/samples/plugin_overview /guides/programming/plugin_overview/ 301
|
||||
|
||||
# End - Site refactoring - 2025
|
||||
|
||||
Reference in New Issue
Block a user