# 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/docs/contribute/docs/documentation-navigation-toc
# before making changes to this file, and add a member of the fuchsia.dev
# team as a reviewer.
toc:
- title: "Overview"
  path: /docs/contribute/docs/README.md
- heading: "Style"
- title: "Documentation standards"
  path: /docs/contribute/docs/documentation-standards.md
- title: "Document types"
  path: /docs/contribute/docs/documentation-types.md
- title: "Documentation style guide"
  path: /docs/contribute/docs/documentation-style-guide.md
- title: "Markdown reference guide"
  path: /docs/contribute/docs/markdown.md
- title: "Code sample style guide"
  path: /docs/contribute/docs/code-sample-style-guide.md
- heading: "Guides"
- title: "Adding a glossary term"
  path: /docs/contribute/docs/glossary-entries.md
- title: "Using documentation widgets"
  path: /docs/contribute/docs/widgets.md
- title: "Update site navigation and TOC"
  path: /docs/contribute/docs/documentation-navigation-toc.md
- title: "Modifying non-inclusive words in mdlint"
  path: /docs/contribute/docs/modify-mdlint-inclusive-language.md
- title: "Deprecating documentation"
  path: /docs/contribute/docs/deprecating-docs.md
- heading: "Documentation tools"
- title: "Automated documentation checks - doc-checker"
  path: /docs/contribute/docs/doc-checker.md
- title: "Markdown linter - mdlint"
  path: /docs/contribute/docs/mdlint.md
- title: Shortlinks
  section:
  - include: /docs/contribute/docs/shortlinks/_toc.yaml