Please post new issues and pull requests to the content folder in https://github.com/angular/angular/tree/master/aio/content.
Angular.io is site for Angular documentation .
This site also includes links to other helpful angular resources including AngularJS, Angular Material, and AngularFire.
Please file Developer Guide, Cookbook, and code sample issues only in this Angular.io github repo.
Angular API issues, cheatsheet corrections, feature requests, defect reports, and technical questions concerning Angular itself belong in the angular source code github repo. We can't handle those topics here and will ask you to re-post them on the angular repo.
Filing issues is helpful but pull requests that improve the docs are even better!
Learn how to contribute to Angular.io.
This site relies heavily on node and npm.
Make sure you are using at least node v.5+ and latest npm; if not install nvm to get node going on your machine.
Install global npm packages by running ./scripts/before-install.sh
Clone
to the same parent directory. The cloned repo directories must be siblings, with the latter named angular.
cd into root directory angular.io/
Install local npm packages by running ./scripts/install.sh
See below for code sample development preparation.
All documentation content is written in Jade which has its own syntax.
Be aware of the strict demands imposed by this significant-whitespace language.
We strongly recommend running one of the gulp serve-and-sync
commands described below
while editing content so you can see the effect of your changes as you type.
The documentation relies on specific styles and mixins. Learn about those in the documentation styleguide.
The jade documentation files are language-specific directories under either public/docs/
.
For example, all of the TypeScript docs are in public/docs/ts/latest
, e.g.
public/docs/ts/latest/quickstart.jade
public/docs/ts/latest/guide/architecture.jade
public/docs/ts/latest/cookbook/component-communication.jade
public/docs/ts/latest/tutorial/toh-pt5.jade
angular.io/
gulp serve-and-sync
If you are only going to work on a specific part of the docs, such as the dev guide, then you can use one of the more specific gulp tasks to only watch those parts of the file system:
gulp serve-and-sync
: watch all the local Jade/Sass files, the API source and examples, and the dev guide filesgulp serve-and-sync-api
: watch only the API source and example filesgulp serve-and-sync-devguide
: watch only the dev guide filesgulp build-and-serve
: watch only the local Jade/Sass filesAll documentation is supported by sample code and plunkers.
Such code resides in the public/docs/_examples
directory, under page-specific directories, further divided by language track.
For example, the TypeScript QuickStart sample is in public/docs/_examples/quickstart/ts
.
All samples are in a consistent directory structure using the same styles and the same npm packages, including the latest release of Angular. This consistency is possible in part thanks to gulp-driven tooling. To run the samples locally and confirm that they work properly, take the following extra steps to prepare the environment:
cd to public/docs/_examples
install the canonical node packages for all samples by running npm install
cd back up to angular.io
root: cd ../../..
run gulp add-example-boilerplate
(elevate to admin on Windows)
to copy canonical files to the sample directories and create symlinks there for node_modules.
Now cd into any particular sample's language directory (e.g., public/docs/_examples/quickstart/ts
) and try:
npm start
to simultaneously compile-with-watch and serve-in-browser-with-watchnpm run tsc
to compile onlynpm run lite
to serve-and-watch in browserLook at the scripts in package.json
for other options.
Also, open any plunkr.no-link.html
to see the code execute in plunker
(you may have to run gulp build-plunkers
first to create/update).
You must check that your example is free of lint errors.
gulp lint
All samples should be covered to some degree by end-to-end tests:
gulp run-e2e-tests
to run all TypeScript and JavaScript testsgulp run-e2e-tests --lang=all
to run TypeScript and JavaScript testsgulp run-e2e-tests --filter=quickstart
to filter the examples to run, by namegulp run-e2e-tests --fast
to ignore npm install, webdriver update and boilerplate copyAny combination of options is possible.
This project generates a lot of untracked files, if you wish to reset it to a mint state, you can run:
git clean -xdf
Also, there is a script available for Linux, OSX and Windows Gitbash users that will setup the project using the steps shown in this section:
./scripts/install.sh
Can switch the @angular
packages in ~/public/docs/_examples/node_modules
to the current build packages with
gulp install-example-angular --build
Restore to RELEASE packages with
gulp install-example-angular
These commands will fail if something is locking any of the packages ... as an IDE often does.
The symptom typically is an error trying to
rm -rf node_modules/@angular
.Solution: unlock the hold on the package(s). In VS Code, re-load the window (
cmd-P
then enter>relow
).
Powered by Google ©2010-2017. Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.