Skip to content

hubloy/hubloy-membership

Repository files navigation

README

A WordPress Membership plugin.

The only development branchis master. This branch ultimately is responsible for creating the production branches that are finally published.

Remember: master is the ONLY branch that should be edited and forked!

Notes:

  1. ONLY fork and submit pull-requests to the master branch master!
  2. NEVER fork the production branches (below)!
  3. NEVER publish/release the master branch master anywhere!

DEVELOPMENT

As mentioned above: Only directly edit the branch master. Other branches should be only updated via grunt tasks (see section "Automation" below).

Important: Do not let your IDE change the source order of the code. Fixing up formatting is fine, but moving code blocks around is not! It will confuse grunt and produce problems.

Working with the branches

JS and CSS files

Only edit/create javascript and css files inside the _src folders:

  • _src/js/* for javascript.
  • _src/scss/* for css. Use .scss extension (SASS)!
  • _src/react/* for react. Use .jsx and .js extension!

Important: Those folders are scanned and processed when running webpack and gulp. Files in base of assets/js/ and assets/css/ are overwritten.

Folder structure

Plugin code:

  • app/ .. All code of the core goes here.
  • assets/ .. contains all images, js, css and font files.

Special folders inside asset: _src/js/ (source js-files) _src/js/ (source scss-files) _src/react/ (source react-files)

  • templates/ .. Theme template files.
  • tests/ .. contains PHP Unit Tests (run by grunt).

Files in these folders should not be modified directly:

  • languages/ .. contains .pot translation files (generated by grunt, do not modify).

AUTOMATION

See notes below on how to correctly set up and use grunt.

Many tasks as well as basic quality control are done via grunt. Below is a list of supported tasks.

Grunt Task Runner

ALWAYS use Grunt to build the production branches. Use the following commands:

Category Command Action
Build gulp build Build CSS and JS files.
Build npm run build Package and build plugin.
Build npm run react-build Run react build in dev mode.
Build npm run react-prod Build production ready react scripts