Skip to content

Commit 2060ec9

Browse files
committed
rearrange everything to make it work in the TOC
1 parent 9eba36d commit 2060ec9

File tree

13 files changed

+434
-185
lines changed

13 files changed

+434
-185
lines changed
File renamed without changes.

guides/api-documentation/index.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Ember CLI API Documentation
2+
3+
The API docs for Ember CLI are mainly for addon authors, advanced Ember app developers, and contributors to the CLI itself.
4+
5+
## [https://ember-cli.com/api/](https://ember-cli.com/api/)
6+
7+
The docs are the main resource for information like build pipeline modifications, addon author APIs, advanced configurations, and more.
8+
9+
The API documentation is built from the code comments in the main CLI codebase, [ember-cli on GitHub](https://github.com/ember-cli/ember-cli). If you spot an issue in the documentation, please open an issue or pull request on that repository.

guides/basic-use.md renamed to guides/basic-use/cli-commands.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Basic use
1+
# CLI Commands
22

33
In their day to day work, most Ember developers use only a small number of CLI commands.
44
We'll cover them here, along with a quick tutorial of how to use the `--help` option.
@@ -158,6 +158,8 @@ ember build [options]
158158

159159
Although you can upload the built files to a server yourself, many Ember projects use a community addon called [ember-cli-deploy](https://github.com/ember-cli-deploy/ember-cli-deploy) to get their apps into production. `ember-cli-deploy` has a plugin system to make it easy to deploy to many cloud vendors. Search [EmberObserver for "deploy"](https://emberobserver.com/?query=deploy) to browse available options.
160160

161+
Ember apps can be built with only three environments: development, production, and testing.
162+
161163
### Example
162164

163165
This command builds the app using the production configuration, so that means by default, it will use maximum minification for best app performance.

guides/installing-and-upgrading.md renamed to guides/basic-use/index.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,28 @@
66
* Recent version of [node](https://nodejs.org/en/download/), which comes included in `yarn` or `npm`
77
* Mac users need [Watchman](https://facebook.github.io/watchman/) (not the npm version!)
88

9-
First, we first need to have a package manager installed. A package manager installs new dependencies from the command line, whether they are used as commands or in the app itself. A package manager is an important tool for modern web app development. Follow these installation instructions for [npm](https://www.npmjs.com/get-npm) or [yarn](https://yarnpkg.com/en/docs/install). While these two tools have somewhat different features, both are compatible with Ember app development.
9+
First, we first need to have a package manager installed. A package manager installs new dependencies from the command line, whether they are used as commands or in the app itself. Follow these installation instructions for [npm](https://www.npmjs.com/get-npm) or [yarn](https://yarnpkg.com/en/docs/install). While these two tools have somewhat different features, both are compatible with Ember app development.
1010

1111
We'll know installation is successful when `npm --version` or `yarn --version` returns the version number.
1212

1313
It is recommend to install the most recent LTS (long term support) version of `node`. Restart the console after installing your package manager.
1414

15-
Mac users may need to install [Watchman](https://facebook.github.io/watchman/) via [Homebrew](http://brew.sh/). Watchman helps correct for some buggy file watching behavior in MacOS. Do not use the `npm` package by the same name.
15+
## Installing the ember-cli
1616

1717
```
18-
brew install watchman
18+
npm install -g ember-cli
1919
```
2020

21-
## Installing
21+
This will make the `ember` command available throughout your project folders. The installation is successful if `ember -v` returns a version number. When it is run inside of an Ember app directory, it will show the version of the app, otherwise it will show the globally installed version of the CLI.
22+
23+
### Additional steps for Mac users
24+
25+
Mac users may need to install [Watchman](https://facebook.github.io/watchman/) via [Homebrew](http://brew.sh/). Watchman helps correct for some buggy file watching behavior in MacOS. Do not use the `npm` package by the same name.
2226

2327
```
24-
npm install -g ember-cli
28+
brew install watchman
2529
```
2630

27-
This will make the `ember` command available throughout your project folders. The installation is successful if `ember -v` returns a version number. When it is run inside of an Ember app directory, it will show the version of the app, otherwise it will show the globally installed version of the CLI.
28-
2931
## Versioning
3032

3133
The Ember CLI is backwards compatible, meaning that the latest CLI can be used on older app versions. New versions of the CLI are released roughly every 6 weeks, in step with versions of Ember.js itself.

guides/basic-use/using-addons.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Using addons
2+
3+
Check out [Ember Observer](https://www.emberobserver.com/) to see what kinds of npm libraries are ready-made for your app!
4+
5+
The modern web developer has an incredible selection of open source code that they can use through the npm ecosystem, plus great tools for writing their own modules. Ember developers are free to use regular npm packages in their apps, but there are also thousands of packages that are made specifically for the Ember ecosystem. We call such packages "addons."
6+
7+
Addons are often JavaScript code, reusable UI components, compiling tools, deployment pipelines, templates, stylesheets, and more. Think of addons as node.js libraries with superpowers. In addition to the usual functionality of an npm package, addons can also help with generating new files, preprocessing, file fingerprinting, and more.
8+
9+
## Finding and using community addons
10+
11+
[Ember Observer](https://www.emberobserver.com/) is the definitive way to explore community addons. Although addons can be found by [searching the npm repository directly](https://www.npmjs.com/search?q=ember), Ember Observer has ranked lists of the most popular addons and ratings to help developers choose between them. Most are made to drop right into your app with zero configuration. Many addons are backwards-compatible to earlier versions of Ember too!
12+
13+
To install an addon, use:
14+
15+
```bash
16+
ember install <addon-name>
17+
```
18+
19+
To be safe, it's a good idea to restart the local server after installing new dependencies, and especially before trying to debug an addon that isn't working. Also, be sure to check out the project's README to see if there are any additional installation steps to take.
20+
21+
The `ember install` command is similar to the `npm install` you might already be familiar with. It creates an entry in the app's `package.json` and downloads the addon and its dependencies into a `node_modules` directory. However, `ember install` does even more than `npm`. Some addons create new files or make modifications to your app when they are installed via `ember install`.
22+
23+
### Choosing an addon
24+
25+
The [top 100 list](https://www.emberobserver.com/lists/top-addons) is an important first stop for new developers. Many Ember users have a personal set list of addons that they include in all their apps, and this is the best way to find out what those addons might be. Some addons are totally unique to Ember, while others exist to make it easier to use features of regular npm packages within an app.
26+
27+
For example, these community-authored addons bring in familiar functionality from regular npm packages:
28+
29+
- Stylesheet tooling like [ember-cli-sass](https://www.emberobserver.com/addons/ember-cli-sass), which provides [Sass](https://sass-lang.com/) as an alternative to plain CSS
30+
- JavaScript utilities like [ember-moment](https://www.emberobserver.com/addons/ember-moment), which offers some Ember conveniences to the base [moment library](https://www.npmjs.com/package/moment)
31+
- Full UI frameworks and design kits like [ember-bootstrap](https://www.emberobserver.com/addons/ember-bootstrap), [semantic-ui-ember](https://www.emberobserver.com/addons/semantic-ui-ember), and [ember-paper](https://www.emberobserver.com/addons/ember-paper). These offer easier, more reliable, more performant functionality than just using the npm packages directly.
32+
33+
Here are just a few examples of popular community-maintained addons unique to Ember, in no particular order:
34+
35+
- A wealth of UI component libraries, like [ember-power-select]() and [ember-basic-dropdown](https://www.emberobserver.com/addons/ember-basic-dropdown)
36+
- Tools to automate deployment, like [ember-cli-deploy](https://www.emberobserver.com/categories/deployment) and its own ecosystem of plugins
37+
- Testing tools like [ember-test-selectors](https://www.emberobserver.com/addons/ember-test-selectors), to make DOM assertions in testing easier and clearer, and [ember-a11y-testing](https://www.emberobserver.com/addons/ember-a11y-testing) to check for accessibility
38+
- Authentication libraries and plugins, like [torii](https://www.emberobserver.com/addons/torii) and [ember-simple-auth](https://www.emberobserver.com/addons/ember-simple-auth), and [ember-oauth2](https://www.emberobserver.com/addons/ember-oauth2)
39+
- Async and state management tools like [ember-concurrency](https://www.emberobserver.com/addons/ember-concurrency) and [ember-lifeline](https://www.emberobserver.com/addons/ember-lifeline). Don't let a user's impatient clicks kick off 100 API requests.
40+
- [liquid-fire](https://www.emberobserver.com/addons/liquid-fire), for animating things like route transitions to provide a smooth, native-app-like experience.
41+
- and so many more!
42+
43+
Open Source projects like these addons rely on community members helping out. Some addons are sponsored by companies, but many are maintained on 100% volunteer time. If something doesn't work the way you expect, could be better documented, has a bug, or could be added as a new feature, please speak up and pitch in!
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Using npm packages
2+
3+
<!--Help Wanted-->
4+
<!--should cover ember-auto-import, importing from node modules, etc-->

guides/index.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# The Ember CLI
2+
3+
The Ember CLI (command line interface) is the official way to create, build, test, and serve the files that make up an Ember.js app or addon.
4+
Many things have to happen before for any web app is ready for the browser, and the Ember CLI helps you get there with zero configuration.
5+
6+
```bash
7+
npm install -g ember-cli
8+
```
9+
10+
Visit the [ember-cli](https://github.com/ember-cli/ember-cli) on GitHub for information on the latest releases and new features.
11+
12+
## Learning the CLI
13+
14+
Although these CLI guides have a lot of content, a typical Ember developer will only need to know and use a small fraction of the information.
15+
For new users, the recommended learning path is to first do the Ember.js [Quickstart](https://guides.emberjs.com/release/getting-started/quick-start/) and [Tutorial](https://guides.emberjs.com/release/tutorial/ember-cli/), which teach the commands one by one while building a sample app. Then, they should review the Basic Use section of this site as a reference resource.
16+
17+
True to form, the CLI comes with a command-line-based help system too. At any point, if you're curious what a command does and what the options are, you can add `--help` and press enter to find out more.
18+
19+
## What are addons?
20+
21+
There are thousands of JavaScript libraries that work great in Ember. When an npm package offers some Ember-specific conveniences, we call it an “addon.” Ember CLI’s addon system provides a way to create reusable units of code, share components and styling, extend the build tooling, and more — all with minimal configuration.
22+
23+
To view a complete list of addons, visit [EmberObserver](https://emberobserver.com).
24+
25+
You can still use your favorite npm packages directly too. If they are not available as addons yet, you can add most of them using [ember-auto-import](https://github.com/ef4/ember-auto-import), adding them to the build pipleine yourself, or by creating wrappers.
26+
27+
## Why do we need a CLI?
28+
29+
The Ember CLI is like a dependency packager, test runner, optimizer, and local server all rolled into one. Since all the features were built to work together, tasks like upgrading the app version or deploying can be automated with production-ready, open source plugins. The CLI is backwards compatible with older apps, and maintains a six-week release schedule.
30+
31+
The CLI's job is to make your work easier.
32+
It was built with the philosophy that a developer should be able to focus on building great apps, not reengineering how to fit all the pieces together at each stage of an app's lifecycle (creation, local development, production deployments). The result is apps that are more maintainable and approachable, since there are established architectural patterns across individuals, teams, and companies.
33+
34+
However, if you want to make your own adjustments like use a different testing library, you still can.
35+
36+
## Getting help
37+
38+
Do you have questions? Run into an issue or a bug? Get support from the community. A list of chat rooms, forums, and more is available [here](https://www.emberjs.com/community/).
39+
40+
## Contributing
41+
42+
The Ember CLI is developed and maintained by a group of open source volunteers from many different companies and backgrounds. If you have an idea for a feature, a bug to report, or just want to help out where it is needed, you can reach the team via [GitHub](https://github.com/ember-cli), the [Ember Community forums and chat](https://www.emberjs.com/learn/), or drop by the weekly meeting that is open to the public.
43+
44+
### Places to contribute
45+
46+
- [The main ember-cli codebase](https://github.com/ember-cli/ember-cli)
47+
- [This documentation site](https://github.com/ember-learn/cli-guides)
48+
- Official projects under the [ember-cli organization](https://github.com/ember-cli/)
49+
- Search the community's CLI plugins on [EmberObserver](https://emberobserver.com)

guides/overview/index.md

Lines changed: 0 additions & 49 deletions
This file was deleted.

guides/pages.yml

Lines changed: 19 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -2,97 +2,33 @@
22
url: 'index'
33
skip_toc: true
44
pages:
5-
- title: "Ember-Cli Guides"
5+
- title: "The Ember CLI"
66
url: ""
77

8-
- title: 'Overview'
9-
url: 'overview'
8+
- title: 'Basic Use'
9+
url: 'basic-use'
1010
pages:
11-
- title: 'What is the CLI'
11+
- title: 'Installing and upgrading'
1212
url: 'index'
13-
- title: 'Docs layout'
14-
url: 'layout'
15-
- title: 'Why it should be used'
16-
url: 'why'
17-
- title: 'How to contribute'
18-
url: 'contribute'
13+
- title: 'CLI commands'
14+
url: 'cli-commands'
15+
- title: 'Using addons'
16+
url: 'using-addons'
17+
- title: 'Using npm packages'
18+
url: 'using-npm-packages'
1919

20-
- title: 'Quickstart Tutorial'
21-
url: 'tutorial'
20+
- title: 'Writing addons'
21+
url: 'writing-addons'
2222
pages:
23-
- title: 'ember new'
24-
url: 'new'
25-
- title: 'ember server'
26-
url: 'server'
27-
- title: 'ember test'
28-
url: 'test'
29-
- title: 'ember generate'
30-
url: 'generate'
31-
- title: 'ember install'
32-
url: 'install'
33-
34-
- title: 'Basic use'
35-
url: 'usage'
36-
pages:
37-
- title: 'using the "help" commmand'
23+
- title: 'Addon structure'
3824
url: 'index'
39-
- title: 'ember new'
40-
url: 'new'
41-
- title: 'ember server'
42-
url: 'server'
43-
- title: 'ember test'
44-
url: 'test'
45-
- title: 'ember generate'
46-
url: 'generate'
47-
- title: 'ember install'
48-
url: 'install'
49-
- title: 'feature flags & configurations'
50-
url: 'feature-flags'
51-
- title: 'Environmental variables'
52-
url: 'environmental-variables'
53-
- title: 'File tree reference'
54-
url: 'file-tree'
55-
- title: 'addons/dependencies'
56-
url: 'addons'
57-
- title: 'Upgrading'
58-
url: 'upgrading'
25+
- title: 'Tutorial: addon components'
26+
url: 'tutorial-addon-components'
27+
- title: 'Testing'
28+
url: 'testing'
5929

6030
- title: 'Advanced use'
61-
url: 'advanced'
31+
url: 'advanced-use'
6232
pages:
63-
- title: 'shims'
33+
- title: 'Advanced'
6434
url: 'index'
65-
- title: 'broccoli'
66-
url: 'broccoli'
67-
- title: 'custom blueprints'
68-
url: 'blueprints'
69-
- title: 'CSS compilation'
70-
url: 'css'
71-
- title: 'Using another testing library'
72-
url: 'alternative-testing-library'
73-
- title: 'more on dependencies'
74-
url: 'dependencies'
75-
- title: 'more configurations'
76-
url: 'configurations'
77-
78-
- title: 'Addon authoring'
79-
url: 'addons'
80-
pages:
81-
- title: 'Overview'
82-
url: 'index'
83-
- title: 'What is an addon'
84-
url: 'what-is-an-addon'
85-
- title: 'Learning to build addons'
86-
url: 'building-addons'
87-
- title: 'Creating a standalone addon'
88-
url: 'creating'
89-
- title: 'Creating an in-repo addon'
90-
url: 'in-repo'
91-
- title: 'Making an npm package wrapper'
92-
url: 'npm'
93-
- title: 'Using the dummy app'
94-
url: 'dummy'
95-
- title: 'Including assets'
96-
url: 'assets'
97-
- title: 'Testing your addon'
98-
url: 'testing'

0 commit comments

Comments
 (0)