From 6ca1ac2c45a26bb7857e94a6dc92b669c1ecc6db Mon Sep 17 00:00:00 2001 From: Foxandxss Date: Sun, 13 Mar 2016 20:50:50 +0100 Subject: [PATCH] docs: instrucs for "download-and-go" development with quickstart source repo --- .../docs/_examples/quickstart/ts/styles.1.css | 25 +++++++++++++++ public/docs/ts/latest/_quickstart_repo.jade | 4 +++ .../ts/latest/guide/attribute-directives.jade | 5 +-- .../docs/ts/latest/guide/displaying-data.jade | 2 ++ public/docs/ts/latest/guide/forms.jade | 2 ++ public/docs/ts/latest/quickstart.jade | 29 ++++++++++++++++-- public/docs/ts/latest/tutorial/toh-pt1.jade | 11 ++++--- .../devguide/quickstart/my-first-app.png | Bin 8578 -> 12797 bytes 8 files changed, 68 insertions(+), 10 deletions(-) create mode 100644 public/docs/_examples/quickstart/ts/styles.1.css create mode 100644 public/docs/ts/latest/_quickstart_repo.jade diff --git a/public/docs/_examples/quickstart/ts/styles.1.css b/public/docs/_examples/quickstart/ts/styles.1.css new file mode 100644 index 0000000000..c1bd2cfec6 --- /dev/null +++ b/public/docs/_examples/quickstart/ts/styles.1.css @@ -0,0 +1,25 @@ +/* #docregion */ +/* Master Styles */ +h1 { + color: #369; + font-family: Arial, Helvetica, sans-serif; + font-size: 250%; +} +h2, h3 { + color: #444; + font-family: Arial, Helvetica, sans-serif; + font-weight: lighter; +} +body { + margin: 2em; +} +body, input[text], button { + color: #888; + font-family: Cambria, Georgia; +} + +/* + * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css + * for the full set of master styles used by the documentation samples + */ + \ No newline at end of file diff --git a/public/docs/ts/latest/_quickstart_repo.jade b/public/docs/ts/latest/_quickstart_repo.jade new file mode 100644 index 0000000000..d6182be501 --- /dev/null +++ b/public/docs/ts/latest/_quickstart_repo.jade @@ -0,0 +1,4 @@ +.l-sub-section + :marked + Alternatively, begin with a + [download of the QuickStart source](https://github.com/IdeaBlade/angular2-quickstart/blob/master/README.md). \ No newline at end of file diff --git a/public/docs/ts/latest/guide/attribute-directives.jade b/public/docs/ts/latest/guide/attribute-directives.jade index b8531aba82..b9bc22fcf9 100644 --- a/public/docs/ts/latest/guide/attribute-directives.jade +++ b/public/docs/ts/latest/guide/attribute-directives.jade @@ -57,8 +57,9 @@ include ../_util-fns :marked ### Our first draft Create a new project folder (`attribute-directives`) and follow the steps in the [QuickStart](../quickstart.html). - As an alternative, you can clone the QuickStart from this [repository](https://github.com/IdeaBlade/angular2-quickstart). - + +include ../_quickstart_repo +:marked Add a new file to the `app` folder called `highlight.directive.ts` and add the following code: +makeExample('attribute-directives/ts/app/highlight.directive.1.ts', null, 'app/highlight.directive.ts') diff --git a/public/docs/ts/latest/guide/displaying-data.jade b/public/docs/ts/latest/guide/displaying-data.jade index c140e526c9..ccfeab8483 100644 --- a/public/docs/ts/latest/guide/displaying-data.jade +++ b/public/docs/ts/latest/guide/displaying-data.jade @@ -31,6 +31,8 @@ figure.image-display Create a new project folder (`displaying-data`) and follow the steps in the [QuickStart](../quickstart.html). As an alternative, you can clone the QuickStart from this [repository](https://github.com/IdeaBlade/angular2-quickstart). +include ../_quickstart_repo +:marked Then modify the `app.component.ts` file by changing the template and the body of the component. When we're done, it should look like this: diff --git a/public/docs/ts/latest/guide/forms.jade b/public/docs/ts/latest/guide/forms.jade index e673c55f78..08ae389397 100644 --- a/public/docs/ts/latest/guide/forms.jade +++ b/public/docs/ts/latest/guide/forms.jade @@ -87,6 +87,8 @@ figure.image-display Create a new project folder (`angular2-forms`) and follow the steps in the [QuickStart](../quickstart.html). As an alternative, you can clone the QuickStart from this [repository](https://github.com/IdeaBlade/angular2-quickstart). +include ../_quickstart_repo +:marked ## Create the Hero Model Class As users enter form data, we capture their changes and update an instance of a model. diff --git a/public/docs/ts/latest/quickstart.jade b/public/docs/ts/latest/quickstart.jade index be92abffe5..b0603b1680 100644 --- a/public/docs/ts/latest/quickstart.jade +++ b/public/docs/ts/latest/quickstart.jade @@ -3,7 +3,12 @@ include _util-fns :marked Our QuickStart goal is to build and run a super-simple Angular 2 application in TypeScript. - ## See It Run! + # Download the code + In a hurray? + [Download the QuickStart source](https://github.com/IdeaBlade/angular2-quickstart/blob/master/README.md) + and start coding. + + # See it run Try this live example which loads the sample app in plunker @@ -11,7 +16,9 @@ include _util-fns figure.image-display img(src='/resources/images/devguide/quickstart/my-first-app.png' alt="Output of QuickStart app") + :marked + # Learn Of course we don't build apps to run in plunker. The following steps establish a development environment for the documentation samples that also can be the foundation for our real world applications. At a high level, we will @@ -422,6 +429,15 @@ code-example(format=""). metadata, finds the `my-app` selector, locates an element tag named `my-app`, and loads our application between those tags. +.l-main-section +:marked + ## Add some style + Styles aren't essential but they're nice and the `index.html` assumes we have + a stylesheet called `styles.css`. + + Create a `styles.css` in the root folder and start styling, perhaps with this set: ++makeExample('quickstart/ts/styles.1.css', null, 'styles.css (excerpt)')(format=".") + .l-main-section :marked ## Compile and run! @@ -470,6 +486,7 @@ figure.image-display .file typings ... .file index.html .file package.json + .file styles.css .file tsconfig.json .file typings.json :marked @@ -480,9 +497,15 @@ figure.image-display quickstart/ts/index.html, quickstart/ts/package.1.json, quickstart/ts/tsconfig.1.json, - quickstart/ts/typings.1.json + quickstart/ts/typings.1.json, + quickstart/ts/styles.1.css `,null, - `app/app.component.ts, app/main.ts, index.html,package.json, tsconfig.json, typings.json`) + `app/app.component.ts, + app/main.ts, + index.html,package.json, + tsconfig.json, + typings.json, + styles.css`) :marked .l-main-section diff --git a/public/docs/ts/latest/tutorial/toh-pt1.jade b/public/docs/ts/latest/tutorial/toh-pt1.jade index d62ab19c00..0cc7b6271c 100644 --- a/public/docs/ts/latest/tutorial/toh-pt1.jade +++ b/public/docs/ts/latest/tutorial/toh-pt1.jade @@ -7,12 +7,12 @@ include ../_util-fns [Run the live example for part 1](/resources/live-examples/toh-1/ts/plnkr.html) - Follow the "QuickStart" steps. They provide the prerequisites, the folder structure, - and the core files for our Tour of Heroes. + Create a folder called `angular2-tour-of-heroes` and follow the [QuickStart](../quickstart.html) steps + which provide the prerequisites, the folder structure, and the core files for our Tour of Heroes. - Copy the "QuickStart" code to a new folder and rename the folder `angular2-tour-of-heroes`. - - You can also "QuickStart" from this [repository](https://github.com/IdeaBlade/angular2-quickstart). We should have the following structure: +include ../_quickstart_repo +:marked + We should have the following structure: .filetree .file angular2-tour-of-heroes @@ -25,6 +25,7 @@ include ../_util-fns .file typings ... .file index.html .file package.json + .file styles.css .file tsconfig.json .file typings.json :marked diff --git a/public/resources/images/devguide/quickstart/my-first-app.png b/public/resources/images/devguide/quickstart/my-first-app.png index c67857149fa0c06d2893cb2498f11c96c748871f..77a660ad775d9d793c03d06e41b272109d1e19e1 100644 GIT binary patch literal 12797 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 literal 8578 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