Grav Devtools Plugin
devtools is a Grav Plugin that lets you quickly create a scaffolding for your new plugins and themes. The plugin provides CLI commands that allow for the quick and easy deployment of a sample scaffolding for your new plugin.
GPM Installation (Preferred)
The simplest way to install this plugin is via the Grav Package Manager (GPM). From the root of your Grav install type:
bin/gpm install devtools
If for some reason you can't use GPM you can manually install this plugin. Download the zip version of this repository and unzip it under
/your/site/grav/user/plugins. Then, rename the folder to
You should now have all the plugin files under
By default, devtools will perform a check with the online gpm repository to ensure name-collision avoidance. If you wish to not perform this online check, change the devtools.yaml at
collision_check: true to
To create a new plugin you simply need to run:
bin/plugin devtools newplugin and fill in the few questions at the prompts:
> bin/plugin devtools newplugin Enter Plugin Name: MyPlugin Enter Plugin Description: My New Custom Plugin Enter Developer Name: Johnny Rotten Enter GitHub ID (can be blank): pretty-vacant Enter Developer Email: firstname.lastname@example.org SUCCESS plugin myplugin -> Created Successfully Path: /home/johnnyr/webroot/grav-installation/user/plugins/myplugin
To create a new theme you simply need to run:
bin/plugin devtools new-theme and fill in the few questions at the prompts:
> bin/plugin devtools newtheme Enter Theme Name: MyTheme Enter Theme Description: My New Custom Theme Enter Developer Name: Johnny Rotten Enter GitHub ID (can be blank): pretty-vacant Enter Developer Email: email@example.com Please choose a template type [pure-blank ] Basic Theme using Pure.css [inheritance] Inherit from another theme [copy ] Copy another theme > pure-blank SUCCESS theme mytheme -> Created Successfully Path: /home/johnnyr/webroot/grav-installation/user/themes/mytheme
There are three template creation options
pure-blank- This is a very basic blank theme that uses the Pure CSS framework
inheritance- This creates a very basic template with minimal files that inherits a base theme. To find out more about theme inheritance, check out the subject in more details on the Grav Learn site.
copy- This allows you to create a new theme based on an existing theme. This is the simplest way to get started with a new theme by using another theme as the basis.