# Copyright 2020 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Please, read https://fuchsia.dev/fuchsia-src/community/contribute/docs/documentation_navigation_toc
# before making changes to this file, and add a member of the fuchsia.dev
# team as reviewer.
toc:
- title: "Components v1"
  section:
  - title: "Component manifests"
    path: /docs/concepts/components/v1/component_manifests.md
- title: "Components v2"
  section:
  - title: "Overview"
    path: /docs/concepts/components/v2
  - title: "Introduction to the component framework"
    path: /docs/concepts/components/v2/introduction.md
  - title: "Component manager"
    path: /docs/concepts/components/v2/component_manager.md
  - title: "Declarations"
    path: /docs/concepts/components/v2/declarations.md
  - title: "Component manifests"
    path: /docs/concepts/components/v2/component_manifests.md
  - title: "Lifecycle"
    path: /docs/concepts/components/v2/lifecycle.md
  - title: "Topology"
    path: /docs/concepts/components/v2/topology.md
  - title: "Monikers"
    path: /docs/concepts/components/v2/monikers.md
  - title: "Realms"
    path: /docs/concepts/components/v2/realms.md
  - title: "Environments"
    path: /docs/concepts/components/v2/environments.md
  - title: "Services"
    path: /docs/concepts/components/v2/services.md
  - title: "Capabilities"
    section:
    - include: /docs/concepts/components/v2/capabilities/_toc.yaml
    - title: "Using runners"
      section:
      - title: "ELF runner"
        path: /docs/concepts/components/v2/elf_runner.md
    - title: "Troubleshooting & testing"
      section:
      - title: "Hub"
        path: /docs/concepts/components/v2/hub.md
      - title: "Hermetic testing using OpaqueTest"
        path: /docs/concepts/components/v2/opaque_test.md
    - title: "Internals"
      section:
      - title: "Design principles"
        path: /docs/concepts/components/v2/design_principles.md
      - title: "Life of a protocol open"
        path: /docs/concepts/components/v2/life_of_a_protocol_open.md
  - title: "State of the Components v2 migration"
    path: /docs/concepts/components/v2/migration.md
- title: "Component URLs"
  path: /docs/concepts/components/component_urls.md
- title: "Components vs. processes"
  path: /docs/concepts/components/v2/components_vs_processes.md
