Skip to content

Latest commit

 

History

History
90 lines (51 loc) · 3.03 KB

CONTRIBUTING.md

File metadata and controls

90 lines (51 loc) · 3.03 KB

First off, thanks for taking the time to contribute!

Table of contents

Getting started

The development environment requires Docker, Docker Compose and Composer to run. Please refer to the official documentation of each for a step-by-step installation guide.

In order to fully utilize the development environment we recommend you use Visual Studio Code, and have PHP Sniffer extension installed.

Clone the repository:

$ git clone [email protected]:sendsmaily/sendsmaily-cf7-plugin.git

Next, change your working directory to the local repository:

$ cd sendsmaily-cf7-plugin

Install packages required by the development environment:

$ composer install

And run the environment:

$ docker-compose up

Internals

Structure of the repository

The repository is split into multiple parts:

  • admin - admin panel specific functionality;
  • assets - screenshots for Wordpress.org plugin page;
  • includes - functionality shared between admin panel and public page;
  • languages - localization files;
  • public - public-facing pages functionality;
  • vendor- Composer packages.

In addition there are system directories:

  • .github - GitHub issue and pull request templates;
  • .vscode - Visual Studio Code settings.

Development

All code written must follow Wordpress' Coding Standards. Including CSS, HTML, Javascript and PHP.

Starting the environment

You can run the environment by executing:

$ docker-compose up

Note! Make sure you do not have any other process(es) listening on ports 8080 and 8888.

Stopping the environment

Environment can be stopped by executing:

$ docker-compose down

Resetting the environment

If you need to reset the Wordpress installation in the development environment, just simply delete environment's Docker volumes. Easiest way to achieve this is by running:

$ docker-compose down -v

Releasing

Releasing a new version of the plugin to Wordpress.org requires SVN client.

Note! Make sure release build has finished in GitHub (smaily-for-contact-form-7.zip file should exist in GitHub release assets), before running the release script.

After creating a release in GitHub, plugin must also be deployed to Wordpress.org. The repository contains a handy script for that:

$ ./release.sh -u [Your Wordpress.org username]

It will guide you through the release process step-by-step.