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 706dad05e0..cb68c916ba 100644 --- a/public/docs/js/latest/quickstart.jade +++ b/public/docs/js/latest/quickstart.jade @@ -26,8 +26,8 @@ p. The es6-shim package includes Angular and dependencies needed to compile - ES6 in the browser, such as Traceur. Traceur is an ES6 compiler that transpiles ES6 to ES5 code. - + 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. @@ -41,9 +41,9 @@ 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. - + 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 @@ -59,7 +59,6 @@ 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, <my-app></my-app>. @@ -73,7 +72,7 @@ // Annotation Section @Component({ - selector: 'my-app' + selector: 'my-app' }) @Template({ inline: `<h1>Hello {{ name }}</h1>` @@ -84,7 +83,7 @@ this.name = "Alice"; } } - + // Render the app to the page bootstrap(MyAppComponent); @@ -92,7 +91,7 @@ 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 @@ -127,12 +126,12 @@ controller uses ES6 class syntax. pre.prettyprint.linenums - code - | class MyAppComponent { - | constructor() { - | this.name = "Alice"; - | } - | } + code. + class MyAppComponent { + constructor() { + this.name = "Alice"; + } + } p. Templates read from their component controllers. Templates have access to any properties @@ -182,10 +181,10 @@ <script src="/es6-shim/dist/es6-shim.js"></script> </head> <body> - + <!-- The app component created in app.es6 --> <my-app></my-app> - + </body> </html>