Skip to content

Files

Latest commit

 

History

History
105 lines (66 loc) · 4.64 KB

CONTRIBUTING.md

File metadata and controls

105 lines (66 loc) · 4.64 KB

Contributing to Cypress Documentation

Thanks for taking the time to contribute! 😄

Table of Contents

Code of Conduct

All contributors are expecting to abide by our Code of Conduct.

Getting Started

The documentation in this repo is generated using Hexo.

Fork this repository

Using GitHub, create a copy (a fork) of this repository under your personal account.

Clone your forked repository

git clone [email protected]:<your username>/cypress-documentation.git
cd cypress-documentation

Install dependencies:

note: at least Node 6 is required, but Node 8 with NPM v5 is preferred to take advantage of the package lock file.

npm install

This will install this repo's direct dependencies.

Then, build the public directory and start the app:

npm run build
npm start

Visit http://localhost:2222/.

note If you need to debug documentation build step run with environment variable set DEBUG=docs npm run build

Testing

We use Cypress itself to test the documentation. To start the server and run E2E tests execute the command npm run test-e2e.

Writing Documentation

Adding Examples

To add an blog, talk, or podcast to our docs, submit a pull request with your data added to the corresponding blogs.yml, talks.yml, or podcasts.yml file.

Add an associating image with the example within the source/img/examples directory. Each image should be resolution 715w x 480h. Reference the image in the markdown document as follows:

{% img /img/examples/name-of-file.jpg "alt text describing img" %}

Adding Plugins

To add a plugin, submit a pull request with the corresponding data added to the plugins.yml file. Your plugin should have a name, description, link to the plugins code, and any keywords.

Commiting Code

Linting

Danger 📛: because we are minifying client side code using a Hexo plugin which in turn calls uglify, the code should be strictly ES5. Thus everything inside the theme should be linted with ES5 settings and not upgraded to ES6.

Pull Requests

You should push your local changes to your forked GitHub repository and then open a pull request from your repo to the cypress-io/cypress-documentation repo.

  • The pull request should be from your repository to the develop branch in cypress-io/cypress-documentation
  • When opening a PR for a specific issue already open, please use the address #[issue number] or closes #[issue number] syntax in the pull request description.
  • Please check the "Allow edits from maintainers" checkbox when submitting your PR. This will make it easier for the maintainers to make minor adjustments, to help with tests or any other changes we may need. Allow edits from maintainers checkbox

Contributor License Agreement

We use a cla-assistant.io web hook to make sure every contributor assigns the rights of their contribution to Cypress.io. If you want to read the CLA agreement, its text is in this gist.

After making a pull request, the CLA assistant will add a review comment. Just click on the link and accept the CLA. That's it!

Deployment

We will try to review and merge pull requests as fast as possible. After merging, we will deploy it to staging environment, run E2E tests (using Cypress itself of course), and then merge it into master, which will deploy it to the official https://docs.cypress.io website. If you want to know our deploy process, read DEPLOY.md.