Simple boilerplate to help kick start a new Silverstripe module.
Simple boilerplate to help kick start a new Silverstripe module.
Quickly setup a new module skeleton by cloning this repository and deleting the .git folder.
To do this in one line, from the command line run:
(Replace MyModuleFolder
with name of the folder where you want to create your new module.)
###Windows
Using Composer
cmd /V /C "set "SS_MODULE_DIR=MyModuleFolder" && composer require gdmedia/silverstripe-module-boilerplate && move silverstripe-module-boilerplate !SS_MODULE_DIR! && composer remove gdmedia/silverstripe-module-boilerplate && IF EXIST !SS_MODULE_DIR!\.git rmdir /q /s !SS_MODULE_DIR!\.git"
Using GIT
cmd /V /C "set "SS_MODULE_DIR=MyModuleFolder" && git clone https://github.com/guru-digital/silverstripe-module-boilerplate.git !SS_MODULE_DIR! && rmdir /q /s !SS_MODULE_DIR!\.git"
###*nix
Using Composer
SS_MODULE_DIR=MyModuleFolder && composer require --prefer-dist gdmedia/silverstripe-module-boilerplate && mv silverstripe-module-boilerplate $SS_MODULE_DIR && composer remove gdmedia/silverstripe-module-boilerplate && [ -d ${SS_MODULE_DIR}/.git ] && rm -r ${SS_MODULE_DIR}/.git
Using GIT
SS_MODULE_DIR=MyModuleFolder && git clone https://github.com/guru-digital/silverstripe-module-boilerplate.git $SS_MODULE_DIR && rm -rf ${SS_MODULE_DIR}/.git
You can use Grunt to quickly rename the boiler plate file names and place holders.
###grunt rename-project
To use, after installing with the steps above:
package.json
and update the values to suit your new module.Gruntfile.js
- lines 5 to 9
and update the values to suit your new module.MyModuleFolder
with name of the folder where you want to create your new module.)cd MyModuleFolder npm install grunt rename-project
This will:
package.json
and Gruntfile.js
- lines 5 to 9
composer.json
and bower.json
from the corresponding values in package.json
MyModule
with the value of prefix
in Gruntfile.js
###grunt update_json
Running grunt update_json
will update composer.json
and bower.json
from the corresponding values in package.json
###grunt jshint
Running grunt jshint
will run js hint over all non-minified javascript files in assets/javascript
###grunt uglify
Running grunt uglify
will run minify javascript files in assets/javascript
###grunt cssmin
Running grunt cssmin
will run minify CSS files in assets/css
###grunt default
Running grunt default
will run the update_json
, jshint
, uglify
and cssmin
tasks one after another.
If you have a class, file or anything else that may be handy to have in this boilerplate, submit an issue or pull request
Module rating system helping users find modules that are well supported. For more on how the rating system works visit Module standards
Score not correct? Let us know there is a problem