Files
blockly/packages/docs/sidebars.js
T
Greg Annandale eb6f6c30e5 chore(docs): change path from /js/reference/ to /reference/
Update docs build script to reflect this, and fix some mdx generation errors

Add .gitignore to docs/reference/ to keep generated md/mdx out of version control

Add Docusaurus redirect config for /reference/js/ -> /reference/
2026-03-31 14:34:52 +01:00

1448 lines
42 KiB
JavaScript

import {referenceSidebar} from './docs/reference/_reference'
// @ts-nocheck
// 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;