Ember Guides Source
This repository contains the written content for the Ember.js Guides. Contributors can file issues and submit pull requests (PRs) to help improve everyone's learning experience.
Welcome and thanks for your help!
First-time contributors are encouraged to look at issues that are labeled help wanted or good first issue. If you have questions or want a buddy to pair with, you can join the #dev-ember-learning channel in the Ember Community Discord.
Please see CONTRIBUTING.md for additional instructions on how to format your work and submit a PR.
The Ember Guides content is written in Markdown. Each minor version of Ember has its own directory within
In general, your PR should make edits to only the files in the
/guides/release directory, which corresponds to the latest version of Ember. Exceptions may include fixing broken links and typos in older versions of the Ember Guides.
If you run
ember serve, the Markdown files are turned into HTML to create an app. We use the following addons to make this happen:
To run the Ember Guides app locally, type these commands into your terminal.
git clone git://github.com/ember-learn/guides-source.git cd guides-source npm install ember serve
Afterwards, visit http://localhost:4200 in your browser.
Note: On Mac, if you get the error
Error: EMFILE: too many open files, watch, try installing Watchman. Install Homebrew if you don't have it. Then, in your terminal, run
brew install watchman.
npm test to run tests locally. In addition to the Ember app, we check for broken links.
Linting and spellchecking
The guides are spellchecked and linted for Markdown consistency. You can check your edits by running,
npm run lint:md
Linting and spellchecking must pass or they will fail in CI (continuous integration). See CONTRIBUTING.md for more information on linting and spellchecking.
Internal and external links
Testing of internal and external links can be performed using three commands:
# Run all test scripts in `/node-tests` except those located # in `/node-tests/local`. In particular, this command checks # all internal links across all versions of the Guides. npm run test:node # Run all test scripts in `/node-tests/local`. In particular, # this command checks all external links in the release version # of the Guides. npm run test:node-local # When checking external links in the release version, don't # check links to the API docs (https://api.emberjs.com). npm run test:node-local-exclude-api-urls