annotate vendor/chi-teck/drupal-code-generator/src/Command/Drupal_7/Theme.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents a9cd425dd02b
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace DrupalCodeGenerator\Command\Drupal_7;
Chris@0 4
Chris@0 5 use DrupalCodeGenerator\Command\BaseGenerator;
Chris@0 6 use DrupalCodeGenerator\Utils;
Chris@0 7 use Symfony\Component\Console\Input\InputInterface;
Chris@0 8 use Symfony\Component\Console\Output\OutputInterface;
Chris@0 9 use Symfony\Component\Console\Question\Question;
Chris@0 10
Chris@0 11 /**
Chris@0 12 * Implements d7:theme command.
Chris@0 13 */
Chris@0 14 class Theme extends BaseGenerator {
Chris@0 15
Chris@0 16 protected $name = 'd7:theme';
Chris@0 17 protected $description = 'Generates Drupal 7 theme';
Chris@0 18 protected $destination = 'themes';
Chris@0 19
Chris@0 20 /**
Chris@0 21 * {@inheritdoc}
Chris@0 22 */
Chris@0 23 protected function interact(InputInterface $input, OutputInterface $output) {
Chris@0 24 $questions['name'] = new Question('Theme name');
Chris@0 25 $questions['name']->setValidator([Utils::class, 'validateRequired']);
Chris@0 26 $questions['machine_name'] = new Question('Theme machine name');
Chris@0 27 $questions['machine_name']->setValidator([Utils::class, 'validateMachineName']);
Chris@0 28 $questions['description'] = new Question('Theme description', 'A simple Drupal 7 theme.');
Chris@0 29 $questions['base_theme'] = new Question('Base theme');
Chris@0 30
Chris@0 31 $vars = &$this->collectVars($input, $output, $questions);
Chris@0 32 $vars['asset_name'] = str_replace('_', '-', $vars['machine_name']);
Chris@0 33
Chris@0 34 $this->addFile()
Chris@0 35 ->path('{machine_name}/{machine_name}.info')
Chris@0 36 ->template('d7/theme-info.twig');
Chris@0 37
Chris@0 38 $this->addFile()
Chris@0 39 ->path('{machine_name}/template.php')
Chris@0 40 ->template('d7/template.php.twig');
Chris@0 41
Chris@0 42 $this->addFile()
Chris@0 43 ->path('{machine_name}/js/{asset_name}.js')
Chris@0 44 ->template('d7/javascript.twig');
Chris@0 45
Chris@0 46 $this->addFile()
Chris@0 47 ->path('{machine_name}/css/{asset_name}.css')
Chris@4 48 ->template('d7/theme-css.twig');
Chris@0 49
Chris@0 50 $this->addDirectory()
Chris@0 51 ->path('{machine_name}/templates');
Chris@0 52
Chris@0 53 $this->addDirectory()
Chris@0 54 ->path('{machine_name}/images');
Chris@0 55 }
Chris@0 56
Chris@0 57 }