mirror of
https://github.com/google/blockly.git
synced 2026-04-29 00:20:11 +02:00
cca97ed298
ie. no need to build the entire Blockly package, with Closure compiler, just for the docs
1454 lines
42 KiB
JavaScript
1454 lines
42 KiB
JavaScript
// @ts-nocheck
|
|
|
|
let referenceSidebar = [];
|
|
try {
|
|
referenceSidebar = require('./docs/reference/_reference.js').referenceSidebar;
|
|
} catch {
|
|
console.warn('Reference sidebar not found — run "npm run docs" in packages/blockly to generate it.');
|
|
}
|
|
|
|
|
|
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
|
|
|
|
/**
|
|
* Creating a sidebar enables you to:
|
|
- create an ordered group of docs
|
|
- render a sidebar for each doc of that group
|
|
- provide next/previous navigation
|
|
|
|
The sidebars can be generated from the filesystem, or explicitly defined here.
|
|
|
|
Create as many sidebars as you want.
|
|
|
|
@type {import('@docusaurus/plugin-content-docs').SidebarsConfig}
|
|
*/
|
|
const sidebars = {
|
|
codelabsSidebar: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Codelabs',
|
|
id: 'codelabs/index',
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Getting started with Blockly',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: '1. Codelab-overview',
|
|
id: 'codelabs/getting-started/codelab-overview',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '2. Setup',
|
|
id: 'codelabs/getting-started/setup',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '3. Explore the app',
|
|
id: 'codelabs/getting-started/explore-the-app',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '4. Add Blockly libraries',
|
|
id: 'codelabs/getting-started/add-blockly-libraries',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '5. Create a Blockly workspace',
|
|
id: 'codelabs/getting-started/create-a-blockly-workspace',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '6. Create a custom block',
|
|
id: 'codelabs/getting-started/create-a-custom-block',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '7. Save/load workspace',
|
|
id: 'codelabs/getting-started/save-load-workspace',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '8. Generate JavaScript code',
|
|
id: 'codelabs/getting-started/generate-javaScript-code',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '9. Run generated code',
|
|
id: 'codelabs/getting-started/run-generated-code',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '10. The End',
|
|
id: 'codelabs/getting-started/the-end',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Customizing a Blockly toolbox',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: '1. Codelab-overview',
|
|
id: 'codelabs/custom-toolbox/codelab-overview',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '2. Setup',
|
|
id: 'codelabs/custom-toolbox/setup',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '3. Change the look of a category',
|
|
id: 'codelabs/custom-toolbox/change-the-look-of-a-category',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '4. Change the look of a selected category',
|
|
id: 'codelabs/custom-toolbox/change-the-look-of-a-selected-category',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '5. Add an icon to your category',
|
|
id: 'codelabs/custom-toolbox/add-an-icon-to-your-category',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '6. Change the category HTML',
|
|
id: 'codelabs/custom-toolbox/change-the-category-HTML',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '7. Adding a custom toolbox item',
|
|
id: 'codelabs/custom-toolbox/adding-a-custom-toolbox-item',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '8. Summary',
|
|
id: 'codelabs/custom-toolbox/summary',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Customizing your themes',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: '1. Codelab-overview',
|
|
id: 'codelabs/theme-extension-identifier/codelab-overview',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '2. Setup',
|
|
id: 'codelabs/theme-extension-identifier/setup',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '3. Workspace Theme',
|
|
id: 'codelabs/theme-extension-identifier/workspace-theme',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '4. Customize Components',
|
|
id: 'codelabs/theme-extension-identifier/customize-components',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '5. Customize Category Styles',
|
|
id: 'codelabs/theme-extension-identifier/customize-category-styles',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '6. Customize Block Styles',
|
|
id: 'codelabs/theme-extension-identifier/customize-block-styles',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '7. Summary',
|
|
id: 'codelabs/theme-extension-identifier/summary',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Customizing context menus',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: '1. Codelab-overview',
|
|
id: 'codelabs/context-menu-option/codelab-overview',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '2. Setup',
|
|
id: 'codelabs/context-menu-option/setup',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '3. Add a context menu item',
|
|
id: 'codelabs/context-menu-option/add-a-context-menu-item',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '4. Precondition: Node type',
|
|
id: 'codelabs/context-menu-option/precondition-node-type',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '5. Precondition: External state',
|
|
id: 'codelabs/context-menu-option/precondition-external-state',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '6. Precondition: Blockly state',
|
|
id: 'codelabs/context-menu-option/precondition-blockly-state',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '7. Callback',
|
|
id: 'codelabs/context-menu-option/callback',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '8. Display text',
|
|
id: 'codelabs/context-menu-option/display-text',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '9. Weight and id',
|
|
id: 'codelabs/context-menu-option/weight-and-id',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '10. Separators',
|
|
id: 'codelabs/context-menu-option/separators',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '11. Summary',
|
|
id: 'codelabs/context-menu-option/summary',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Block validation and warnings',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: '1. Codelab-overview',
|
|
id: 'codelabs/validation-and-warnings/codelab-overview',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '2. Setup',
|
|
id: 'codelabs/validation-and-warnings/setup',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '3. Validating blocks',
|
|
id: 'codelabs/validation-and-warnings/validating-blocks',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '4. Displaying warnings',
|
|
id: 'codelabs/validation-and-warnings/displaying-warnings',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '5. Summary',
|
|
id: 'codelabs/validation-and-warnings/summary',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Use CSS in Blockly',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: '1. Codelab-overview',
|
|
id: 'codelabs/css/codelab-overview',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '2. Setup',
|
|
id: 'codelabs/css/setup',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: "3. A tour of Blockly's elements",
|
|
id: 'codelabs/css/tour',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '4. Components',
|
|
id: 'codelabs/css/components',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '5. Toolbox categories',
|
|
id: 'codelabs/css/categories',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '6. Blocks',
|
|
id: 'codelabs/css/blocks',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '7. Summary',
|
|
id: 'codelabs/css/summary',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Build a custom generator',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: '1. Codelab-overview',
|
|
id: 'codelabs/custom-generator/codelab-overview',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '2. Setup',
|
|
id: 'codelabs/custom-generator/setup',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '3. The basics',
|
|
id: 'codelabs/custom-generator/the-basics',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '4. Block generator overview',
|
|
id: 'codelabs/custom-generator/block-generator-overview',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '5. Value block generators',
|
|
id: 'codelabs/custom-generator/value-block-generators',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '6. Member block generator',
|
|
id: 'codelabs/custom-generator/member-block-generator',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '7. Array block generator',
|
|
id: 'codelabs/custom-generator/array-block-generator',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '8. Object block generator',
|
|
id: 'codelabs/custom-generator/object-block-generator',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '9. Generating a stack',
|
|
id: 'codelabs/custom-generator/generating-a-stack',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '10. Summary',
|
|
id: 'codelabs/custom-generator/summary',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Build custom renderers',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: '1. Codelab-overview',
|
|
id: 'codelabs/custom-renderer/codelab-overview',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '2. Setup',
|
|
id: 'codelabs/custom-renderer/setup',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '3. Observe the built-in renderers',
|
|
id: 'codelabs/custom-renderer/observe-the-built-in-renderers',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '4. Define and register a custom renderer',
|
|
id: 'codelabs/custom-renderer/define-and-register-a-custom-renderer',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '5. Override constants',
|
|
id: 'codelabs/custom-renderer/override-constants',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '6. Understand connection shapes',
|
|
id: 'codelabs/custom-renderer/understand-connection-shapes',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '7. Change connection shapes',
|
|
id: 'codelabs/custom-renderer/change-connection-shapes',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '8. Typed connection shapes',
|
|
id: 'codelabs/custom-renderer/typed-connection-shapes',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: '9. Summary',
|
|
id: 'codelabs/custom-renderer/summary',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
guidesSidebar: [
|
|
{
|
|
type: 'category',
|
|
label: 'Get started',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'What Is Blockly',
|
|
id: 'guides/get-started/what-is-blockly',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Why Blockly',
|
|
id: 'guides/get-started/why-blockly',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Get The Code',
|
|
id: 'guides/get-started/get-the-code',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Visual glossary',
|
|
id: 'guides/get-started/workspace-anatomy',
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Basic steps',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Create a workspace',
|
|
id: 'guides/get-started/workspace-creation',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Add a toolbox',
|
|
id: 'guides/get-started/toolbox',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Define custom blocks',
|
|
id: 'guides/get-started/blocks',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Generate code',
|
|
id: 'guides/get-started/code-generation',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Save and load',
|
|
id: 'guides/get-started/save-and-load',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Try Blockly',
|
|
items: [
|
|
{
|
|
type: 'link',
|
|
label: 'Get started codelab',
|
|
href: '/codelabs/getting-started/codelab-overview',
|
|
},
|
|
{
|
|
type: 'link',
|
|
label: 'Blockly Playground',
|
|
href: 'https://blockly-demo.appspot.com/static/tests/playground.html',
|
|
},
|
|
{
|
|
type: 'link',
|
|
label: 'Block Factory',
|
|
href: 'https://raspberrypifoundation.github.io/blockly-samples/examples/developer-tools/index.html',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Design considerations',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Introduction to Blockly applications',
|
|
id: 'guides/design/app-overview',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Application design',
|
|
id: 'guides/design/applications',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Educational applications',
|
|
id: 'guides/design/education',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Block design',
|
|
id: 'guides/design/blocks',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Block- vs text-based languages',
|
|
id: 'guides/design/languages',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Block appearance',
|
|
id: 'guides/design/appearance',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Programming considerations',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'API visibility',
|
|
id: 'guides/programming/using_blockly_apis',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Plugins',
|
|
id: 'guides/programming/plugin_overview',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Fork Blockly',
|
|
id: 'guides/programming/forking_blockly',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Unfork Blockly',
|
|
id: 'guides/programming/unforking_blockly',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Build your editor',
|
|
items: [
|
|
{
|
|
type: 'category',
|
|
label: 'Workspaces',
|
|
items: [
|
|
{
|
|
type: 'category',
|
|
label: 'Create a workspace',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Create a workspace',
|
|
id: 'guides/configure/web/configuration_struct',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Grid option',
|
|
id: 'guides/configure/web/grid',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Media folder option',
|
|
id: 'guides/configure/web/media',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Move option',
|
|
id: 'guides/configure/web/move',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Zoom option',
|
|
id: 'guides/configure/web/zoom',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Workspace size',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Fixed-size workspace',
|
|
id: 'guides/configure/web/fixed-size',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Resizable workspace',
|
|
id: 'guides/configure/web/resizable',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Metrics Manager',
|
|
id: 'guides/configure/web/metrics_manager',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Toolboxes',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Overview',
|
|
id: 'guides/configure/web/toolboxes/toolbox',
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Flyout toolboxes',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Define a flyout toolbox',
|
|
id: 'guides/configure/web/toolboxes/flyout',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Category toolboxes',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Define a category toolbox',
|
|
id: 'guides/configure/web/toolboxes/category',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Nested categories',
|
|
id: 'guides/configure/web/toolboxes/nested',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Dynamic categories',
|
|
id: 'guides/configure/web/toolboxes/dynamic',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Disable, hide, or expand categories',
|
|
id: 'guides/configure/web/toolboxes/disable-categories',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Category appearance',
|
|
id: 'guides/configure/web/toolboxes/appearance',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Programmatic access',
|
|
id: 'guides/configure/web/toolboxes/programmatic',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Preset blocks',
|
|
id: 'guides/configure/web/toolboxes/preset',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Separators',
|
|
id: 'guides/configure/web/toolboxes/separators',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Buttons and labels',
|
|
id: 'guides/configure/web/toolboxes/buttons',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Modify toolboxes',
|
|
id: 'guides/configure/web/toolboxes/modify',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Appearance',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Themes',
|
|
id: 'guides/configure/web/appearance/themes',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Colour formats',
|
|
id: 'guides/configure/web/appearance/colour-formats',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Block colours',
|
|
id: 'guides/configure/web/appearance/block-colour',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Style with CSS',
|
|
id: 'guides/configure/web/appearance/css',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Save and load',
|
|
id: 'guides/configure/web/serialization',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Events',
|
|
id: 'guides/configure/web/events',
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Shortcuts and context menus',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Keyboard shortcuts',
|
|
id: 'guides/configure/web/keyboard-shortcuts',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Copy and paste',
|
|
id: 'guides/configure/web/copy-paste',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Context menus',
|
|
id: 'guides/configure/web/context-menus',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Drag and drop',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Custom draggables',
|
|
id: 'guides/configure/web/dragging/draggable',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Custom block drag strategies',
|
|
id: 'guides/configure/web/dragging/block-drag-strategies',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Custom draggers',
|
|
id: 'guides/configure/web/dragging/dragger',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Comments',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Workspace comments',
|
|
id: 'guides/configure/web/workspace_comment',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Block comments',
|
|
id: 'guides/configure/web/block_comment',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Localization',
|
|
id: 'guides/configure/web/translations',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Focus system',
|
|
id: 'guides/configure/web/focus',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Advanced customization',
|
|
id: 'guides/configure/web/customization',
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Accessibility',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Keyboard navigation',
|
|
id: 'guides/configure/web/keyboard-nav',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Colour and accessibility',
|
|
id: 'guides/configure/web/colour-a11y',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Build your blocks',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Overview',
|
|
id: 'guides/create-custom-blocks/overview',
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Block definitions',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: "What's a block definition?",
|
|
id: 'guides/create-custom-blocks/define/block-definitions',
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Ways to define blocks',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Blockly Developer Tools',
|
|
id: 'guides/create-custom-blocks/blockly-developer-tools',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'JSON and JavaScript',
|
|
id: 'guides/create-custom-blocks/define/json-and-js',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Extensions and mixins',
|
|
id: 'guides/create-custom-blocks/define/extensions',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Modify block definitions',
|
|
id: 'guides/create-custom-blocks/define/modify-definitions',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Block structure',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Anatomy of a block',
|
|
id: 'guides/create-custom-blocks/define/block-anatomy',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Top-level connections',
|
|
id: 'guides/create-custom-blocks/define/top-level-connections',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Block structure in JSON',
|
|
id: 'guides/create-custom-blocks/define/structure-json',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Block structure in JavaScript',
|
|
id: 'guides/create-custom-blocks/define/structure-js',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Inline vs external inputs',
|
|
id: 'guides/create-custom-blocks/define/inline-vs-external',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Block state',
|
|
id: 'guides/create-custom-blocks/define/block-state',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Destroy hook',
|
|
id: 'guides/create-custom-blocks/define/destroy',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Block help',
|
|
id: 'guides/create-custom-blocks/define/block-help',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Code generation',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Overview',
|
|
id: 'guides/create-custom-blocks/code-generation/overview',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Block-code generators',
|
|
id: 'guides/create-custom-blocks/code-generation/block-code',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Transform field values',
|
|
id: 'guides/create-custom-blocks/code-generation/fields',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Add parentheses',
|
|
id: 'guides/create-custom-blocks/code-generation/operator-precedence',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Cache inner value block code',
|
|
id: 'guides/create-custom-blocks/code-generation/caching-arguments',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Connections',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Connection checks',
|
|
id: 'guides/create-custom-blocks/inputs/connection-checks',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Connection check playbook',
|
|
id: 'guides/create-custom-blocks/inputs/connection-check-playbook',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Custom connection checkers',
|
|
id: 'guides/create-custom-blocks/inputs/connection_checker',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Connection previewers',
|
|
id: 'guides/create-custom-blocks/inputs/connection-previews',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Inputs',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Create custom inputs',
|
|
id: 'guides/create-custom-blocks/inputs/creating-custom-inputs',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Fields',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Overview',
|
|
id: 'guides/create-custom-blocks/fields/overview',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Fields vs icons',
|
|
id: 'guides/create-custom-blocks/fields/fields-vs-icons',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Anatomy of a field',
|
|
id: 'guides/create-custom-blocks/fields/anatomy-of-a-field',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Validators',
|
|
id: 'guides/create-custom-blocks/fields/validators',
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Built-in fields',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Overview',
|
|
id: 'guides/create-custom-blocks/fields/built-in-fields/overview',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Checkbox',
|
|
id: 'guides/create-custom-blocks/fields/built-in-fields/checkbox',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Dropdown',
|
|
id: 'guides/create-custom-blocks/fields/built-in-fields/dropdown',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Image',
|
|
id: 'guides/create-custom-blocks/fields/built-in-fields/image',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Label',
|
|
id: 'guides/create-custom-blocks/fields/built-in-fields/label',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Label (serializable)',
|
|
id: 'guides/create-custom-blocks/fields/built-in-fields/label-serializable',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Number',
|
|
id: 'guides/create-custom-blocks/fields/built-in-fields/number',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Text input',
|
|
id: 'guides/create-custom-blocks/fields/built-in-fields/text-input',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Variable',
|
|
id: 'guides/create-custom-blocks/fields/built-in-fields/variable',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Custom fields',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Overview',
|
|
id: 'guides/create-custom-blocks/fields/customizing-fields/overview',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Extend an existing field',
|
|
id: 'guides/create-custom-blocks/fields/customizing-fields/extending',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Create a custom field',
|
|
id: 'guides/create-custom-blocks/fields/customizing-fields/creating',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Upgrade a custom field',
|
|
id: 'guides/create-custom-blocks/fields/customizing-fields/upgrading',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Variables',
|
|
id: 'guides/create-custom-blocks/variables',
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Procedures',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Overview',
|
|
id: 'guides/create-custom-blocks/procedures/overview',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Use built-in procedure blocks',
|
|
id: 'guides/create-custom-blocks/procedures/using-procedures',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Create custom procedure blocks',
|
|
id: 'guides/create-custom-blocks/procedures/creating-custom-procedure-blocks',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Create custom procedure data models',
|
|
id: 'guides/create-custom-blocks/procedures/creating-custom-procedure-data-models',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Icons',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Overview',
|
|
id: 'guides/create-custom-blocks/icons/overview',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Fields vs icons',
|
|
id: 'guides/create-custom-blocks/fields/fields-vs-icons',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Override comment icon',
|
|
id: 'guides/create-custom-blocks/icons/creating-custom-icons/override-built-in',
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Create custom icons',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Overview',
|
|
id: 'guides/create-custom-blocks/icons/creating-custom-icons/basic-implementation',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Save and load icons',
|
|
id: 'guides/create-custom-blocks/icons/creating-custom-icons/save-and-load',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Use pop-up bubbles',
|
|
id: 'guides/create-custom-blocks/icons/creating-custom-icons/use-bubbles',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Create custom bubbles',
|
|
id: 'guides/create-custom-blocks/icons/creating-custom-icons/creating-custom-bubbles',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Use custom icons',
|
|
id: 'guides/create-custom-blocks/icons/creating-custom-icons/use-custom-icons',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Block shape',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Mutators',
|
|
id: 'guides/create-custom-blocks/mutators',
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Renderers',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Overview',
|
|
id: 'guides/create-custom-blocks/renderers/overview',
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Concepts',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Overview',
|
|
id: 'guides/create-custom-blocks/renderers/concepts/overview',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Renderer',
|
|
id: 'guides/create-custom-blocks/renderers/concepts/renderer',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Constant provider',
|
|
id: 'guides/create-custom-blocks/renderers/concepts/constants',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Render info',
|
|
id: 'guides/create-custom-blocks/renderers/concepts/info',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Path object',
|
|
id: 'guides/create-custom-blocks/renderers/concepts/path-object',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Drawer',
|
|
id: 'guides/create-custom-blocks/renderers/concepts/drawer',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Rows',
|
|
id: 'guides/create-custom-blocks/renderers/concepts/rows',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Elements',
|
|
id: 'guides/create-custom-blocks/renderers/concepts/elements',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Create custom renderers',
|
|
id: 'guides/create-custom-blocks/renderers/create-custom-renderers/basic-implementation',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Connection shapes',
|
|
id: 'guides/create-custom-blocks/renderers/create-custom-renderers/connection-shapes',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Build your application',
|
|
items: [
|
|
{
|
|
type: 'category',
|
|
label: 'Generate and run code',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Generate and run code',
|
|
id: 'guides/app-integration/run-code',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Generate and run JavaScript',
|
|
id: 'guides/app-integration/running-javascript',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Attribute Blockly',
|
|
id: 'guides/app-integration/attribution',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Contribute to Blockly',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Overview',
|
|
id: 'guides/contribute/index',
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Get started',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Overview',
|
|
id: 'guides/contribute/get-started/index',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Development tools',
|
|
id: 'guides/contribute/get-started/development_tools',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Write a good issue',
|
|
id: 'guides/contribute/get-started/write_a_good_issue',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Write a good pull request',
|
|
id: 'guides/contribute/get-started/write_a_good_pr',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Commit message guide',
|
|
id: 'guides/contribute/get-started/commits',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Code review process',
|
|
id: 'guides/contribute/get-started/pr_review_process',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Issue labels',
|
|
id: 'guides/contribute/get-started/issue_labels',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Use the playground',
|
|
id: 'guides/contribute/get-started/playground',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Contribute to core',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Overview',
|
|
id: 'guides/contribute/core/index',
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Core architecture',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Render management',
|
|
id: 'guides/contribute/core-architecture/render-management',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Style guide',
|
|
id: 'guides/contribute/core/style_guide',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Build scripts',
|
|
id: 'guides/contribute/core/building',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Advanced compilation',
|
|
id: 'guides/contribute/core/advanced',
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Localization',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Add a new localization token',
|
|
id: 'guides/contribute/core/add_localization_token',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Translate text',
|
|
id: 'guides/contribute/core/translating',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Klingon',
|
|
id: 'guides/contribute/core/klingon',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Unit tests',
|
|
id: 'guides/contribute/core/unit_testing',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Write a codelab',
|
|
id: 'guides/contribute/core/write_a_codelab',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Contribute to samples',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Overview',
|
|
id: 'guides/contribute/samples/index',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Repository structure',
|
|
id: 'guides/contribute/samples/repository_structure',
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Plugins',
|
|
items: [
|
|
{
|
|
type: 'doc',
|
|
label: 'Add a plugin',
|
|
id: 'guides/contribute/samples/add_a_plugin',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Plugin naming conventions',
|
|
id: 'guides/contribute/samples/naming',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Debug plugins',
|
|
id: 'guides/contribute/samples/debugging',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Publish block libraries',
|
|
id: 'guides/contribute/samples/block_libraries',
|
|
},
|
|
{
|
|
type: 'doc',
|
|
label: 'Add a plugin field to Block Factory',
|
|
id: 'guides/contribute/samples/block_factory',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
referenceSidebar: referenceSidebar,
|
|
};
|
|
|
|
export default sidebars;
|