title: Contributing
For the most part, DocPad inherits from the Bevry Community's Contribution Guide, with the following exceptions.
To add a new skeleton to the skeleton listing:
- Add your new skeleton to our
exchange.json
file - Submit the pull request for it (the page for this should appear automatically once you click "Commit Changes" from the previous link)
To get started with developing and contributing code, you must first setup your project for development.
To setup a development environment for contributing to the DocPad core follow these steps:
- Fork the repository of the DocPad Core: https://github.com/docpad/docpad
- Clone your fork to your machine then
cd
into it - Run
npm install
to install any missing dependencies - Run
cake compile
to compile the project (or usecake watch
to compile every time a change is made) - Run
cake test
to test the project - Run
npm link
to make this development instance of the projects available to other projects (vianpm link docpad
)
To setup a development environment for contributing to a plugin follow these steps:
- Ensure you have DocPad setup for development, by running the DocPad core instructions above
- Fork the repository of the DocPad plugin you wish to edit
- Clone your fork to your machine then
cd
into it - Run
npm link docpad
to link our local development instance of DocPad that we setup earlier to our DocPad plugin - Run
cake install
to install any missing dependencies - Run
cake compile
to compile the project (or usecake watch
to compile everytime a change is made) - Run
cake test
to test the project - Run
npm link
to make this development instance of the project available to other projects (vianpm link docpad-plugin-PLUGINNAME
)
Before you submit changes to the DocPad core you'll want to make sure they don't break any of our officially supported plugins:
- Clone the
docpad/extras
repository andcd
into it - Checkout the
docpad-6.x
branch:git checkout docpad-6.x
- Make your development DocPad instance available to the plugin runner (run
npm link docpad
) - Install the dependencies:
npm install
- Clone the plugins:
./app clone
- Test the plugins:
./app test