This repository contains the written content for the Ember.js Guides. Here, contributors can file issues and submit PRs to help improve the learning experience of other developers.
Looking for repositories for the other parts of emberjs.com? Check out website, ember-api-docs, super-rentals tutorial, statusboard, deprecation-app, and styleguide.
Welcome and thanks for your help! Please see CONTRIBUTING.md for detailed instructions on how to format your work and submit a Pull Request. First-time contributors are encouraged to choose issues that are labeled "help wanted" or "good for new contributors." If you have questions or want a buddy to pair with, you can join the dev-ember-learning channel in the Ember Community Discord.
The Guides content takes the form of Markdown files (just like most READMEs).
Each minor version of Ember has its own directory within /guides/
.
Pull requests should make edits to only the contents of the guides/release
directory,
which is the latest deployed version of the guides.
The exception is that PRs to fix broken links in older versions of the guides are ok.
On ember serve
, the Markdown files are turned into HTML
to create an app. Most of the functionality comes from
guidemaker and
guidemaker-ember-template.
The styles come from ember-styleguide,
the shared home of components and stylesheets used throughout the family of
Ember sites.
git clone git://github.com/ember-learn/guides-source.git
cd guides-source
npm install
ember serve
Visit http://localhost:4200
Note: If you get an error on Mac OSX mentioning "Error: EMFILE: too many open files, watch"
, try installing Watchman. Install Homebrew if you don't have it. Then in you terminal brew install watchman
.
Use npm
to run tests instead of ember
, since we have additional
tests like spellchecking that are not part of The Ember app's tests.
npm install
npm test
The guides are spellchecked and linted for Markdown consistency. You can test your contributions by running npm run lint:md
. Linting and spellchecking must pass or they will fail in Travis-CI. See CONTRIBUTING.md for more information on linting and spellchecking.
Testing of internal and external links can be performed using three commands:
npm run test:node
. Checks all relative links for all versions of the guides and runs all ither test scripts in thenode-tests
directory, except for those located in thenode-tests/local
sub-directory;npm run test:node-local
. Checks all external links in theguides/release
folder; andnpm run test:node-local-exclude-api-urls
. Checks all external links except for links to the API docs.