Please don't edit files in the dist
subdirectory as they are generated via Grunt. You'll find source code in the src
subdirectory!
Regarding code style like indentation and whitespace, follow the conventions you see used in the source already.
Picturefill aims to polyfill the standard features of the picture
element and related srcset
, sizes
, type
, and media
attributes (some of which work on img
elements without a picture
parent as well). Issues and contributions that fall outside of this scope are not likely to be accepted by the project. Some exceptions include workarounds that improve browser support for standard features.
While Grunt can run the included unit tests via PhantomJS, this shouldn't be considered a substitute for the real thing. Please be sure to test the test/*.html
unit test file(s) in actual browsers.
First, ensure that you have the latest Node.js and npm installed.
Test that Grunt's CLI is installed by running grunt --version
. If the command isn't found, run npm install -g grunt-cli
. For more information about installing Grunt, see the getting started guide.
- Fork and clone the repo.
- Run
npm install
to install all dependencies (including Grunt). - Run
grunt
to grunt this project.
Assuming that you don't see any red, you're ready to go. Just be sure to run grunt
after making any changes, to ensure that nothing is broken.
- Create a new branch, please don't work in your
master
branch directly. - Add failing tests for the change you want to make. Run
grunt
to see the tests fail. - Fix stuff.
- Run
grunt
to see if the tests pass. Repeat steps 2-4 until done. - Open
test/*.html
unit test file(s) in actual browser to ensure tests pass everywhere. - Update the documentation to reflect any changes.
- Push to your fork and submit a pull request.