This repository contains the Ember.js Guides
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/releasedirectory, 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:
NOTE: This project uses Volta to ensure the correct Node.js and NPM version is used during local development.
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 testto run tests locally. In addition to the Ember app, we check for broken links.
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.
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