{
  "TopBar": [
    {
      "url": "features",
      "title": "Features"
    },
    {
      "url": "guide/docs",
      "title": "Docs",
      "hidden": true
    },
    {
      "url": "resources",
      "title": "Resources"
    },
    {
      "url": "events",
      "title": "Events"
    }
  ],

  "SideNav": [
    {
      "url": "guide/docs",
      "title": "Docs",
      "tooltip": "Angular Documentation",
      "hidden": true
    },

    {
      "title": "Getting Started",
      "tooltip": "A gentle introduction to Angular.",
      "children": [
        {
          "url": "guide/quickstart",
          "title": "Basic Quickstart",
          "tooltip": "A quick look at an Angular app without tooling."
        },

        {
          "url": "guide/cli-quickstart",
          "title": "CLI Quickstart",
          "tooltip": "A quick look at an Angular app built with the Angular CLI."
        }
    ]},

    {
      "title": "Tutorial",
      "tooltip": "The Tour of Heroes tutorial takes you through the steps of creating an Angular application in TypeScript.",
      "children": [
        {
          "url": "tutorial",
          "title": "Introduction",
          "tooltip": "Introduction to the Tour of Heroes tutorial"
        },
        {
          "url": "tutorial/toh-pt1",
          "title": "The Hero Editor",
          "tooltip": "Build a simple hero editor"
        },
        {
          "url": "tutorial/toh-pt2",
          "title": "Master/Detail",
          "tooltip": "Build a master/detail page with a list of heroes."
        },
        {
          "url": "tutorial/toh-pt3",
          "title": "Multiple Components",
          "tooltip": "Refactor the master/detail view into separate components."
        },
        {
          "url": "tutorial/toh-pt4",
          "title": "Services",
          "tooltip": "Create a reusable service to manage hero data."
        },
        {
          "url": "tutorial/toh-pt5",
          "title": "Routing",
          "tooltip": "Add the Angular router and navigate among the views."
        },
        {
          "url": "tutorial/toh-pt6",
          "title": "HTTP",
          "tooltip": "Use HTTP to retrieve and save hero data."
        }
      ]
    },

    {
      "title": "Fundamentals",
      "tooltip": "The fundamentals of Angular",
      "children": [

        {
          "url": "guide/animations",
          "title": "Animations",
          "tooltip": "A guide to Angular's animation system."
        },

        {
          "title": "Angular Modules",
          "tooltip": "Learn how directives modify the layout and behavior of elements.",
          "children": [
            {
              "url": "guide/appmodule",
              "title": "The Root AppModule",
              "tooltip": "Tell Angular how to construct and bootstrap the app in the root \"AppModule\"."
            },
            {
              "url": "guide/ngmodule",
              "title": "NgModule",
              "tooltip": "Define application modules with @NgModule."
            },
            {
              "url": "guide/ngmodule-faq",
              "title": "Angular Module FAQs",
              "tooltip": "Answers to frequently asked questions about @NgModule."
            }
        ]},

        {
          "url": "guide/architecture",
          "title": "Architecture",
          "tooltip": "The basic building blocks of Angular applications."
        },

        {
          "title": "Components",
          "tooltip": "Components present information to users and collect their input.",
          "children": [
            {
              "url": "guide/displaying-data",
              "title": "Displaying Data",
              "tooltip": "Property binding helps show app data in the UI."
            },
            {
              "url": "guide/template-syntax",
              "title": "Template Syntax",
              "tooltip": "Learn how to write templates that display data and consume user events with the help of data binding."
            },
            {
              "url": "guide/lifecycle-hooks",
              "title": "Lifecycle Hooks",
              "tooltip": "Angular calls lifecycle hook methods on directives and components as it creates, changes, and destroys them."
            },
            {
              "url": "guide/component-communication",
              "title": "Component Interaction",
              "tooltip": "Share information between different directives and components."
            },
            {
              "url": "guide/component-styles",
              "title": "Component Styles",
              "tooltip": "Learn how to apply CSS styles to components."
            },
            {
              "url": "guide/dynamic-component-loader",
              "title": "Dynamic Components",
              "tooltip": "Load components dynamically."
            }
          ]
        },

        {
          "title": "Dependency Injection",
          "tooltip": "Dependency Injection: creating and injecting services",
          "children": [
            {
              "url": "guide/dependency-injection",
              "title": "Dependency Injection",
              "tooltip": "Angular's dependency injection system creates and delivers dependent services \"just-in-time\"."
            },
            {
              "url": "guide/hierarchical-dependency-injection",
              "title": "Hierarchical Injectors",
              "tooltip": "Angular's hierarchical dependency injection system supports nested injectors in parallel with the component tree."
            },
            {
              "url": "guide/dependency-injection-in-action",
              "title": "DI in Action",
              "tooltip": "Techniques for Dependency Injection."
            }
          ]
        },

        {
          "title": "Directives",
          "tooltip": "Learn how directives modify the layout and behavior of elements.",
          "children": [
            {
              "url": "guide/attribute-directives",
              "title": "Attribute Directives",
              "tooltip": "Attribute directives attach behavior to elements."
            },
            {
              "url": "guide/structural-directives",
              "title": "Structural Directives",
              "tooltip": "Structural directives manipulate the layout of the page."
            }
          ]
        },

        {
          "url": "guide/http",
          "title": "HTTP",
          "tooltip": "Use HTTP to talk to a remote server."
        },

        {
          "url": "guide/i18n",
          "title": "Internationalization (i18n)",
          "tooltip": "Translate the app's template text into multiple languages."
        },

        {
          "url": "guide/pipes",
          "title": "Pipes",
          "tooltip": "Pipes transform displayed values within a template."
        },

        {
          "url": "guide/router",
          "title": "Routing & Navigation",
          "tooltip": "Discover the basics of screen navigation with the Angular Router."
        },

        {
          "title": "User Input",
          "tooltip": "User Input",
          "children": [
            {
              "url": "guide/user-input",
              "title": "User Input",
              "tooltip": "User input triggers DOM events. We listen to those events with event bindings that funnel updated values back into our components and models."
            },

            {
              "url": "guide/forms",
              "title": "Template-driven Forms",
              "tooltip": "A form creates a cohesive, effective, and compelling data entry experience. An Angular form coordinates a set of data-bound user controls, tracks changes, validates input, and presents errors."
            },

            {
              "url": "guide/reactive-forms",
              "title": "Reactive Forms",
              "tooltip": "Create a reactive form using FormBuilder, groups, and arrays."
            },
            {
              "url": "guide/form-validation",
              "title": "Form Validation",
              "tooltip": "Validate user's form entries."
            },
            {
              "url": "guide/dynamic-form",
              "title": "Dynamic forms",
              "tooltip": "Render dynamic forms with FormGroup."
            }
        ]}
    ]},

    {
      "title": "Techniques",
      "tooltip": "Techniques for putting Angular to work in your environment",
      "children": [

        {
          "url": "guide/security",
          "title": "Security",
          "tooltip": "Developing for content security in Angular applications."
        },

        {
          "url": "guide/set-document-title",
          "title": "Set the document tab title",
          "tooltip": "Set the browser tab title dynamically with the Angular Title service"
        },

        {
          "title": "Setup & Deployment",
          "tooltip": "Setup and Deployment",
          "children": [
            {
              "url": "guide/setup",
              "title": "Setup for local development",
              "tooltip": "Install the Angular QuickStart seed for faster, more efficient development on your machine."
            },
            {
              "url": "guide/setup-systemjs-anatomy",
              "title": "Anatomy of the Setup",
              "tooltip": "Inside the local development environment for SystemJS."
            },
            {
              "url": "guide/browser-support",
              "title": "Browser Support",
              "tooltip": "Browser support and polyfills guide."
            },
            {
              "url": "guide/npm-packages",
              "title": "Npm Packages",
              "tooltip": "Recommended npm packages, and how to specify package dependencies."
            },

            {
              "url": "guide/typescript-configuration",
              "title": "TypeScript Configuration",
              "tooltip": "TypeScript configuration for Angular developers."
            },
            {
              "url": "guide/aot-compiler",
              "title": "Ahead-of-Time Compilation",
              "tooltip": "Learn why and how to use the Ahead-of-Time (AOT) compiler."
            },
            {
              "url": "guide/deployment",
              "title": "Deployment",
              "tooltip": "Learn how to deploy your Angular app."
            }
          ]
        },

        {
          "url": "guide/testing",
          "title": "Testing",
          "tooltip": "Techniques and practices for testing an Angular app."
        },

        {
          "url": "guide/ts-to-js",
          "title": "TypeScript to JavaScript",
          "tooltip": "Convert Angular TypeScript examples into ES6 and ES5 JavaScript."
        },

        {
          "title": "Upgrading",
          "tooltip": "Incrementally upgrade an AngularJS application to Angular.",
          "children": [
            {
              "url": "guide/ajs-quick-reference",
              "title": "AngularJS to Angular",
              "tooltip": "Learn how AngularJS concepts and techniques map to Angular."
            },
            {
              "url": "guide/upgrade",
              "title": "Upgrading from AngularJS",
              "tooltip": "Incrementally upgrade an AngularJS application to Angular."
            }
          ]
        },

        {
          "url": "guide/visual-studio-2015",
          "title": "Visual Studio 2015 QuickStart",
          "tooltip": "Use Visual Studio 2015 with the QuickStart files."
        },

        {
          "url": "guide/webpack",
          "title": "Webpack: An Introduction",
          "tooltip": "Create Angular applications with Webpack based tooling."
        }
      ]
    },

    {
      "title": "API",
      "tooltip": "Details of the Angular classes and values.",
      "url": "api"
    },

    {
      "title": "References",
      "children": [
        {
          "url": "guide/change-log",
          "title": "Change Log",
          "tooltip": "An annotated history of recent documentation improvements."
        },

        {
          "url": "guide/cheatsheet",
          "title": "Cheat Sheet",
          "tooltip": "A quick guide to common Angular coding techniques."
        },

        {
          "url": "guide/glossary",
          "title": "Glossary",
          "tooltip": "Brief definitions of the most important words in the Angular vocabulary."
        },

        {
          "url": "guide/styleguide",
          "title": "Style Guide",
          "tooltip": "Write Angular with style."
        }
      ]
    }
  ],

  "Footer": [
    {
      "title": "Resources",
      "children": [
        {
          "url": "about",
          "title": "About",
          "tooltip": "Angular contributors."
        },
        {
          "url": "resources",
          "title": "Resource Listing",
          "tooltip": "Angular tools, training, and blogs from around the web."
        },
        {
          "url": "presskit",
          "title": "Press Kit",
          "tooltip": "Press contacts, logos, and branding."
        }
      ]
    },
    {
      "title": "Help",
      "children": [
        {
          "url": "http://stackoverflow.com/questions/tagged/angular2",
          "title": "Stack Overflow",
          "tooltip": "Stack Overflow: where the community answers your technical Angular questions."
        },
        {
          "url": "https://gitter.im/angular/angular",
          "title": "Gitter",
          "tooltip": "Chat about Angular with other birds of a feather."
        },
        {
          "url": "https://github.com/angular/angular/issues",
          "title": "Report Issues",
          "tooltip": "Post issues and suggestions on github."
        },
        {
          "url": "https://github.com/angular/code-of-conduct/blob/master/CODE_OF_CONDUCT.md",
          "title": "Code of Conduct",
          "tooltip": "Treating each other with respect."
        }
      ]
    },
    {
      "title": "Community",
      "children": [
        {
          "url": "events",
          "title": "Events",
          "tooltip": "Post issues and suggestions on github."
        },
        {
          "url": "http://www.meetup.com/topics/angularjs/",
          "title": "Meetups",
          "tooltip": "Attend a meetup and learn from fellow developers."
        },
        {
          "url": "https://twitter.com/angular",
          "title": "Twitter",
          "tooltip": "Twitter"
        },
        {
          "url": "https://github.com/angular/angular",
          "title": "GitHub",
          "tooltip": "GitHub"
        },
        {
          "url": "contribute",
          "title": "Contribute",
          "tooltip": "Contribute to Angular"
        }
      ]
    },
    {
      "title": "Languages",
      "children": [
        {
          "title": "中文版",
          "url": "https://angular.cn/"
        }
      ]
    }
  ]
}