/**
  * generate skeleton type 'simple'.
  *
  * @param string $plugin_name
  * @param array  $metadata
  * @param array  $langs
  * @param string $stub_path
  */
 protected function generateSkeletonSimple($plugin_name, array $metadata, array $langs, $stub_path)
 {
     $this->storage->directory($plugin_name, function ($storage) use($plugin_name, $metadata, $langs, $stub_path) {
         $storage->file($plugin_name . '.php')->template($stub_path . '/main.php', $metadata);
         $storage->file('classes/.gitkeep')->template($stub_path . '/classes/.gitkeep', $metadata);
         foreach ($langs as $lang) {
             $storage->file('languages/' . $lang . '/messages.php')->template($stub_path . '/languages/en/messages.php', $metadata);
         }
     });
 }
 /**
  * generate skeleton type 'bootstrap'.
  *
  * @param string $theme_name
  * @param array  $metadata
  * @param string $stub_path
  */
 protected function generateSkeletonBootstrap($theme_name, array $metadata, array $langs, $stub_path)
 {
     $this->storage->directory($theme_name, function ($storage) use($metadata, $langs, $stub_path) {
         $storage->file('index.php')->template($stub_path . '/index.php', $metadata);
         $storage->file('style.css')->template($stub_path . '/style.css', $metadata);
         $storage->file('screenshot.png')->touch();
         // TODO use no-image
         $storage->file('functions.php')->template($stub_path . '/functions.php', $metadata);
         $storage->file('blade/layout.blade.php')->template($stub_path . '/blade/layout.blade.php', $metadata);
         $storage->file('blade/index.blade.php')->template($stub_path . '/blade/index.blade.php', $metadata);
         $storage->file('classes/.gitkeep')->template($stub_path . '/classes/.gitkeep', $metadata);
         foreach ($langs as $lang) {
             $storage->file('languages/' . $lang . '/messages.php')->template($stub_path . '/languages/en/messages.php', $metadata);
         }
     });
 }