/cli-guides

Step-by-step guides and tutorials for using the ember-cli to create apps and addons

Primary LanguageJavaScriptMIT LicenseMIT

This project uses GitHub Actions for continuous integration.

Ember CLI guides

This repository holds the guides and tutorials for the Ember CLI, a powerful tool that helps you create, develop, and build an Ember app.

To contribute to the API documentation itself, which lists properties and methods used by addons and apps, instead visit Ember CLI, where the API docs are managed as code comments within the codebase.

This project replaces, updates, and adds to the content historically hosted at https://ember-cli.com/.

Looking for repositories for the other parts of emberjs.com? Check out guides-source, website, ember-api-docs, super-rentals tutorial, statusboard, deprecation-app, and styleguide.

Prerequisites

You will need the following things properly installed on your computer.

Local Development

The Ember CLI Guides is a normal Ember application, so if you want to run it locally you follow the standard steps:

  • Clone this repository
  • cd cli-guides-source
  • npm install
  • npm start
  • Visit your app at http://localhost:4200.

Note: If you are developing in any online editor environment like codesandbox.io or gitpod.io, then you may not able to serve the application properly because of FastBoot's domain configurations. In such cases, you can disable fastboot in development mode by serving the ember app using FASTBOOT_DISABLED=true ember serve command.

If you then edit the Markdown files located in the guides/ folder your application should live-update with the content changes.

To run the tests you can run npm run lint:md and npm test in your terminal. npm run lint:md will spellcheck and enforce consistency in the Markdown files. npm test will run Ember tests that have been setup and also scripts that check the Markdown files links.

Markdown linting (lint:md) must pass. Otherwise, it will fail in CI (continuous integration). Spellchecking uses a custom ember-dictionary with words and terms common to the Ember community, such as SemVer. Words and terms that are associated with a specific guide can be placed in the .local.dic dictionary file. Create a pull request if a word needs to be added to ember-dictionary.

How this app works

The guides content is in the form of Markdown files in the guides directory. An Ember app processes and serves the Markdown files. If you look at the app directory, you'll see there's not much in it! That's because most of the work is done through a dependency on guidemaker, a static site generator created in Ember.

The API docs are built from the ember-cli source code. Deployment and hosting details can be found in the ember-cli.github.io repository.

Contributing

Do you know a thing or two about the CLI or addons? Do you wish you knew a thing or do? We'd love to have your help with writing or reviewing to make sure that content is helpful to all knowledge levels. To learn more about the motivation for this, read this RFC. If you're new to writing Markdown, follow this cheat sheet.

Overall project status and tasks that need help are tracked in this Quest issue. Have a read through that and the CONTRIBUTING.md file in order to get started.

Adding more things to the table of contents

See pages.yaml in the cli-guides-source. Whatever has a URL of index will be shown for the top level path, like /tutorial/. There must be an index.md under each topic.

Deploying

The app is continuously deployed to Netlify when a pull request is merged and passes continuous integration.