diff --git a/public/docs/dart/latest/_data.json b/public/docs/dart/latest/_data.json
new file mode 100644
index 0000000000..710417c4f1
--- /dev/null
+++ b/public/docs/dart/latest/_data.json
@@ -0,0 +1,29 @@
+{
+ "index": {
+ "icon": "home",
+ "title": "Angular Docs",
+ "menuTitle": "Docs Home",
+ "banner": "Angular 2 is currently in Alpha Preview. We recommend using AngularDart 1.X for production applications."
+ },
+
+ "quickstart": {
+ "icon": "query-builder",
+ "title": "5 Min Quickstart"
+ },
+
+ "resources": {
+ "icon": "play-circle-fill",
+ "title": "Angular Resources",
+ "banner": "Angular 2 is currently in Alpha Preview. For AngularDart 1.X please visit angulardart.org."
+ },
+
+ "api": {
+ "icon": "book",
+ "title": "API Proposal"
+ },
+
+ "help": {
+ "icon": "chat",
+ "title": "Help & Support"
+ }
+}
diff --git a/public/docs/dart/latest/api.jade b/public/docs/dart/latest/api.jade
new file mode 100644
index 0000000000..f39b9e7df7
--- /dev/null
+++ b/public/docs/dart/latest/api.jade
@@ -0,0 +1,13 @@
+.l-main-section
+ h2 Developer Preview
+
+ p.
+ The Angular 2.0 API is currently in active development and not production ready.
+ This page will showcase a preview of proposed methods to help further the discussion
+ in the development community.
+
+ .l-sub-section
+ h3 Angular 1.X for Production
+ p.
+ If you're building a production app today, please
+ use AngularDart 1.X.
diff --git a/public/docs/dart/latest/help.jade b/public/docs/dart/latest/help.jade
new file mode 100644
index 0000000000..20a37e8028
--- /dev/null
+++ b/public/docs/dart/latest/help.jade
@@ -0,0 +1,33 @@
+.l-main-section
+ h2 Get Help Using Angular
+
+ p.
+ We have an incredible community of developers who are passionate about solving problems.
+ We recommend some of the following methods to get help with Angular.
+
+
+ .l-sub-section
+ h3 Angular Google Group
+
+ ul
+ li Search the archive first, it's likely that your question was already answered.
+ li To avoid the spam moderation queue, don't include code directly in your email. (See #3)
+ li Linking to a live code example that demonstrates your problem or question will get you an answer faster. Use this template.
+ li If you get help, help others. Good karma rulez!
+
+ a(href="https://groups.google.com/forum/#!forum/angular" class="button button-primary" md-button) View the Google Group
+
+ .l-sub-section
+ h3 Angular Chat Room
+
+ p Talk in real time with other Angular developers.
+
+ a(href="http://webchat.freenode.net/?channels=angularjs&uio=d4" class="button button-primary" md-button) View the Chat Room
+
+
+ .l-sub-section
+ h3 Report an Issue
+
+ p If your run into an issue or have a feature request, you can create a new issue on our github repostitory.
+
+ a(href="https://github.com/angular/angular.js/issues" class="button button-primary" md-button) Report an Issue
diff --git a/public/docs/dart/latest/index.jade b/public/docs/dart/latest/index.jade
new file mode 100644
index 0000000000..1e87776524
--- /dev/null
+++ b/public/docs/dart/latest/index.jade
@@ -0,0 +1,30 @@
+
+div.c4
+ md-card
+ md-card-content
+ h3.text-headline.text-uppercase Quickstart
+ p.text-body Learn in 5 minutes
+
+ footer
+ a(href="/docs/#{current.path[1]}/#{current.path[2]}/quickstart.html" class="button" md-button) View Quickstart
+
+
+div.c4
+ md-card
+ md-card-content
+ h3.text-headline.text-uppercase Resources
+ p.text-body Preview of v2.0
+
+ footer
+ a(href="/docs/#{current.path[1]}/#{current.path[2]}/resources.html" class="button button-primary" md-button) View Resources
+
+
+div.c4
+ md-card
+ md-card-content
+ h3.text-headline.text-uppercase API Preview
+ p.text-body Proposal for v2.0 API
+
+ footer
+ a(href="/docs/#{current.path[1]}/#{current.path[2]}/api.html" class="button" md-button) View API
+
diff --git a/public/docs/dart/latest/quickstart.jade b/public/docs/dart/latest/quickstart.jade
new file mode 100644
index 0000000000..36edf1c728
--- /dev/null
+++ b/public/docs/dart/latest/quickstart.jade
@@ -0,0 +1,216 @@
+p.
+ These instructions assume that you already have the Dart SDK
+ and any tools you like to use with Dart.
+ If not, go
+ download Dart.
+ Then return here.
+
+// STEP 1 - Install Angular ##########################
+.l-main-section
+ h2#section-install-angular 1. Install Angular
+
+ p.
+ In a new directory, create a pubspec.yaml file.
+ Add angular2 and browser as dependencies,
+ and add the angular2 transformer:
+ [PENDING: if the transformer isn't working in time,
+ remove it and use reflection in Dartium instead.
+ Perhaps require Dart 1.9.]
+
+ pre.prettyprint.linenums
+ code.
+ name: hello_world
+ version: 0.0.1
+ dependencies:
+ angular2: ">=2.0.0-alpha.6 <3.0.0"
+ browser: any
+ transformers:
+ - angular2
+ p.
+ In the same directory, run pub get
+ to install the angular2 and browser packages
+ (along with the packages they depend on):
+
+ pre.prettyprint.linenums
+ code.
+ > pub get
+ Resolving dependencies... (7.3s)
+ + angular2 2.0.0-alpha.6
+ + browser 0.10.0+2
+ + path 1.3.3
+ + stack_trace 1.2.3
+ Changed 4 dependencies!
+
+ p.
+ PENDING: Create template? Link to pub/pubspec docs?
+ Is browser really needed?
+ TODO: make this an invisible note.
+
+// STEP 2 - Import Angular ##########################
+.l-main-section
+ h2#section-transpile 2. Import Angular
+
+ p.
+ Under the same directory, create a web directory.
+ Create a file under web named main.dart.
+ Edit web/main.dart to import the angular2 library:
+
+ pre.prettyprint.linenums
+ code import 'package:angular2/angular2.dart';
+
+
+// STEP 3 - Define a component ##########################
+.l-main-section
+
+ h2#section-angular-create-account 3. Define a component
+
+ p.
+ A component is a custom HTML element.
+ In this step, you create a component that has the tag <app>.
+ The Dart code for a component consists of a class
+ with annotations that describe the component.
+
+ p.
+ Update web/main.dart to contain the following code,
+ which defines the app component:
+
+ pre.prettyprint.linenums
+ code.
+ import 'package:angular2/angular2.dart';
+
+ @Component(
+ selector: 'app'
+ )
+ @Template({
+ inline: '<h1>Hello {{ name }}</h1>'
+ })
+ class AppComponent {
+ String name = 'Alice';
+ }
+
+ .l-sub-section
+ h3 Annotations
+
+ p.
+ The @Component annotation defines the HTML tag for the component. [PENDING: component controller?]
+ The selector property specifies the tag. The selector property is a CSS selector. [PENDING: huh?]
+
+ p.
+ The @Template annotation defines the template to apply to the
+ component. This component uses an inline template, but external templates are
+ available as well. To use an external template, specify a url property
+ and give it the path to the HTML file.
+
+ pre.prettyprint.linenums
+ code.
+ @Component(
+ selector: 'app'
+ )
+ @Template({
+ inline: '<h1>Hello {{ name }}</h1>'
+ })
+
+ p.
+ The annotations above specify an HTML tag of <app></app>
+ and a template of <h1>Hello {{ name }}</h1>.
+
+ p TODO: make double-mustaches work in text (they do work in listings)
+
+ .l-sub-section
+ h3 The template and the component controller
+
+ p.
+ A template has access to all the public properties and methods
+ of its component controller.
+ [PENDING: Do we really want to use the term "component controller"?
+ If so, set it up beforehand.
+ In the original text, what does "the backing" mean, and is it
+ important that we keep it?]
+
+ pre.prettyprint.linenums
+ code.
+ class AppComponent {
+ String name = 'Alice';
+ }
+
+ p.
+ The template above binds to a name property through the {{ }}
+ syntax.The body of the constructor assigns "Alice" to the name property. When the
+ template renders, Alice appears instead of {{ name }}.
+ [TODO: fix double mustaches]
+
+
+
+// STEP 4 - Bootstrap ##########################
+.l-main-section
+ h2#section-transpile 4. Bootstrap
+
+ p.
+ At the bottom of web/main.dart,
+ add a main() function
+ that calls Angular's bootstrap() function.
+ The argument to bootstrap() is the name of the app class
+ you defined above:
+
+ pre.prettyprint.linenums
+ code.
+ main() {
+ bootstrap(AppComponent);
+ }
+ p.
+ [PENDING: change/remove line numbers. They should start at 12.]
+
+// STEP 5 - Declare the HTML ##########################
+.l-main-section
+
+ h2#section-angular-create-account 5. Declare the HTML
+
+ p.
+ Create a file named web/index.html that contains
+ the following code,
+ which loads main.dart and instantiates the app component:
+
+ pre.prettyprint.linenums
+ code.
+ <!doctype html>
+ <html>
+ <head>
+ <title>Angular 2 Quickstart</title>
+ </head>
+ <body>
+ <app></app>
+ <script type="application/dart" src="main.dart"></script>
+ <script src="packages/browser/dart.js"></script>
+ </body>
+ </html>
+ p.
+ [PENDING: When I select a bunch of code, it looks like I select the line #s too, making me fear that they'll get copied. But pasting doesn't include them. Fix!]
+
+// STEP 5 - Build and run ##########################
+.l-main-section
+
+ h2#section-angular-run-app 5. Build and run your app
+
+ p.
+ You have many options.
+ One is to run the pub serve
+ command in the directory
+ that contains your app's pubspec.yaml file:
+
+ pre.prettyprint.linenums
+ code.
+ > pub serve
+ Serving helloworld on http://localhost:8080
+
+ p.
+ In the browser, go to the index file—for example,
+ localhost:8080/web/index.html.
+ [PENDING: This isn't working right now. Fix!]
+
+// WHAT'S NEXT... ##########################
+.l-main-section
+ h2#section-transpile Great Job! Next Step...
+
+ p.
+ Learn some template syntax for extra credit.
+ [PENDING: really?]
diff --git a/public/docs/dart/latest/resources.jade b/public/docs/dart/latest/resources.jade
new file mode 100644
index 0000000000..53d5a2302e
--- /dev/null
+++ b/public/docs/dart/latest/resources.jade
@@ -0,0 +1,20 @@
+.l-main-section
+ h2 Victor Savkin's blog posts
+ ul
+ li Change Detection
+ li Functional programming
+ li Dependency Injection
+
+.l-main-section
+ h2 David East's Intro Todo App
+ ul
+ li Building a Todo App (video)
+
+.l-main-section
+ h2 More Videos
+ ul
+ li ng-europe playlist of videos on Angular 2 and future of Angular
+ li Hejlsberg's talk on TypeScript from December
+ li Coming soon: playlist of video from ng-conf 2015
+
+
diff --git a/public/docs/js/2_0_0-alpha_11/quickstart.jade b/public/docs/js/2_0_0-alpha_11/quickstart.jade
index 4095a11d3f..7ebceb95b8 100644
--- a/public/docs/js/2_0_0-alpha_11/quickstart.jade
+++ b/public/docs/js/2_0_0-alpha_11/quickstart.jade
@@ -1,3 +1 @@
h1 JavaScript Quickstart
-
-!= partial("../_quickstart", public.docs.js._data)
diff --git a/public/docs/js/latest/_data.json b/public/docs/js/latest/_data.json
index 155fe09c17..ef0ce55dad 100644
--- a/public/docs/js/latest/_data.json
+++ b/public/docs/js/latest/_data.json
@@ -3,7 +3,7 @@
"icon": "home",
"title": "Angular Docs",
"menuTitle": "Docs Home",
- "banner": "Angular 2 is currently in Alpha Preview. We reccomend using Angular 1.X for production applications."
+ "banner": "Angular 2 is currently in Alpha Preview. We recommend using Angular 1.X for production applications."
},
"quickstart": {
@@ -26,4 +26,4 @@
"icon": "chat",
"title": "Help & Support"
}
-}
\ No newline at end of file
+}
diff --git a/public/docs/js/latest/quickstart.jade b/public/docs/js/latest/quickstart.jade
index 6deedf14fe..cb68c916ba 100644
--- a/public/docs/js/latest/quickstart.jade
+++ b/public/docs/js/latest/quickstart.jade
@@ -18,19 +18,18 @@
code git clone https://github.com/davideast/concious.git es6-shim
.l-sub-section
- h3 A word on ES6
+ h3 The es6-shim
p.
Angular builds on top of ES6, the new specification of the JavaScript language.
- Not all ES6 features are available in all browsers. The following es6-shim
- repository allows you to use ES6 in the browser today.
-
- p.
- Angular is available on npm. Configuring Angular to run ES6 in the browser
- requires a build process, detailed here.
+ ES6 is not widely supported in all browsers today. The following es6-shim
+ repository allows you to use ES6 in the browser.
p.
The es6-shim package includes Angular and dependencies needed to compile
- ES6 in the browser. Think of the es6-shim repository as package rather than a new project.
+ ES6 in the browser, such as Traceur. Traceur is an ES6 compiler that transpiles ES6 to ES5 code.
+
+ p.
+ Think of the es6-shim repository as package rather than a new project.
@@ -39,14 +38,18 @@
h2#section-transpile 2. Import Angular
p.
- Create a file named app.es6 at the root of the project.
+ This quickstart will consist of two files, an index.html and a
+ app.es6. Both of these files will be at the root of the project.
The .es6 extension signifies that the file uses ES6 syntax.
- Using the ES6 module syntax you can import the required modules from Angular2.
+
+ p This quickstart will create a component that renders "Hello Alice" to the page.
+
+ p Using the ES6 module syntax you can import the required modules from Angular2.
pre.prettyprint.linenums
code import {Component, Template, bootstrap} from 'angular2/angular2';
- p The above import statement will import the three modules from Angular. These modules load at runtime.
+ p The above import statement will import three modules from Angular. These modules load at runtime.
@@ -56,47 +59,48 @@
h2#section-angular-create-account 3. Create a component
p.
- Components are custom HTML elements. Angular uses components to empower HTML.
Components structure and repre.prettyprint.linenumssent the UI. This quickstart
- demonstrates the process of creating a component. This component will have the tag of app.
-
- pre.prettyprint.linenums
- code <app></app>
+ demonstrates the process of creating a component. This component will have the tag of app,
+ <my-app></my-app>.
p A component consists of two parts; the annotation section and the component controller.
pre.prettyprint.linenums
code.
+ // app.es6
import {Component, Template, bootstrap} from 'angular2/angular2';
// Annotation Section
@Component({
- selector: 'app'
+ selector: 'my-app'
})
@Template({
- inline: `
- <h1>Hello {{ name }}</h1>
- `
+ inline: `<h1>Hello {{ name }}</h1>`
})
// Component Controller
- class AppComponent {
+ class MyAppComponent {
constructor() {
this.name = "Alice";
}
}
+ // Render the app to the page
+ bootstrap(MyAppComponent);
+
.l-sub-section
h3 Component Annotations
p.
- A component annotation provides meta-data about the component.
+ A component annotation provides metadata about the component.
An annotation can always identified by its at-sign — @.
p.
- The @Component annotation defines the HTML tag for the component.
+ The @Component annotation defines the HTML tag for the component. The @Component
+ annotation is imported in the first line of app.es6.
The selector property specifies the tag. The selector property is a CSS selector.
p.
- The @Template annotation defines the template to apply to the
+ The @Template annotation defines the template to apply to the The @Template
+ annotation is imported in the first line of app.es6.
component. This component uses an inline template, but external templates are
available as well. To use an external template specify a url property
and give it the path to the html file.
@@ -104,17 +108,15 @@
pre.prettyprint.linenums
code.
@Component({
- selector: 'app'
+ selector: 'app' // Defines the <my-app></my-app> tag
})
@Template({
- inline: `
- <h1>Hello {{ name }}</h1>
- `
+ inline: `<h1>Hello {{ name }}</h1>` // Defines the inline template for the component
})
p.
The component created above has a HTML tag of <app></app>
- and a template of <h1>Hello {{ name }}</h1>.
+ and a template of <h1>Hello {{ name }}</h1>.
.l-sub-section
h3 Component Controller
@@ -124,8 +126,8 @@
controller uses ES6 class syntax.
pre.prettyprint.linenums
- code
- class AppComponent {
+ code.
+ class MyAppComponent {
constructor() {
this.name = "Alice";
}
@@ -157,7 +159,7 @@
component will render as well.
pre.prettyprint.linenums
- code bootstrap(AppComponent);
+ code bootstrap(MyAppComponent);
@@ -167,30 +169,29 @@
h2#section-angular-create-account 5. Declare the HTML
p.
- Create an index.html file at the root of the project.
- Include the es6-shim.js file in the head tag.
- Now, declare the app component the body. The es6-shim must
- load before any application code.
+ Inside of the index.html, include the es6-shim.js file in the head tag.
+ Now, declare the app component the body. The es6-shim must load before any application code.
pre.prettyprint.linenums
code.
+ <!-- index.html -->
<html>
<head>
<title>Angular 2 Quickstart</title>
<script src="/es6-shim/dist/es6-shim.js"></script>
</head>
<body>
-
+
<!-- The app component created in app.es6 -->
- <app></app>
-
+ <my-app></my-app>
+
</body>
</html>
.l-sub-section
h3 Load the component module
p.
- The last step is to load the module for the app component.
+ The last step is to load the module for the my-app component.
The es6-shim file comes packaged with the System library.
Most browsers today do not support ES6 module loading. System
provides module loading functionality to these browsers.
@@ -204,10 +205,11 @@
ol
li Angular - The Angular framework.
li Runtime assertions - Optional assertions for runtime type checking.
- li The app component created above - The component to display on the page.
+ li The my-app component created above - The component to display on the page.
pre.prettyprint.linenums
code.
+ <!-- index.html -->
<html>
<head>
<title>Angular 2 Quickstart</title>
@@ -215,15 +217,15 @@
</head>
<body>
- <!-- The app component created in app.es6 -->
- <app></app>
+ <!-- The my-app component created in app.es6 -->
+ <my-app></my-app>
<script>
// Rewrite the paths to load the files
System.paths = {
- 'angular2/*':'/es6-shim/angular2/*.js',
- 'rtts_assert/*': '/es6-shim/rtts_assert/*.js',
- 'app': 'app.es6'
+ 'angular2/*':'/es6-shim/angular2/*.js', // Angular
+ 'rtts_assert/*': '/es6-shim/rtts_assert/*.js', //Runtime assertions
+ 'app': 'app.es6' // The my-app component
};
// Kick off the application