diff --git a/CHANGELOG.md b/CHANGELOG.md index a35394153a..3612baf35f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,6 @@ -### 9.0.0-beta.2: January 11th, 2016 +### 9.0.0-beta.2: TBD +* Add option to change theme file headers ([#1811](https://github.com/roots/sage/pull/1811)) +* Add option to remove Bootstrap ([#1810](https://github.com/roots/sage/pull/1810)) * Remove Font Awesome ([#1809](https://github.com/roots/sage/pull/1809)) * Remove grid defaults ([#1808](https://github.com/roots/sage/pull/1808)) * Fix for `publicPath` ([#1806](https://github.com/roots/sage/pull/1806)) diff --git a/README.md b/README.md index 71d2f24ef0..3251566a7a 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Sage is a WordPress starter theme with a modern development workflow. * ES6 for JavaScript * [Webpack](https://webpack.github.io/) for compiling assets, optimizing images, and concatenating and minifying files * [Browsersync](http://www.browsersync.io/) for synchronized browser testing -* [Bootstrap 4](http://getbootstrap.com/) for a front-end framework (can be removed or replaced) +* [Bootstrap 4](http://getbootstrap.com/) for a front-end framework (option to remove during installation) * [Laravel's Blade](https://laravel.com/docs/5.3/blade) as a templating engine See a working example at [roots-example-project.com](https://roots-example-project.com/). @@ -36,6 +36,11 @@ Install Sage using Composer from your WordPress themes directory (replace `your- $ composer create-project roots/sage your-theme-name dev-master ``` +During theme installation you will have the options to: + +* Update theme headers (theme name, description, author, etc.) +* Remove Bootstrap + ## Theme structure ```shell diff --git a/composer.json b/composer.json index 6a42c21512..b516d75698 100644 --- a/composer.json +++ b/composer.json @@ -41,6 +41,9 @@ "test": [ "vendor/bin/phpcs" ], - "post-create-project-cmd": "Roots\\Sage\\PostCreateProject::removeBootstrap" + "post-create-project-cmd": [ + "Roots\\Sage\\PostCreateProject::updateHeaders", + "Roots\\Sage\\PostCreateProject::removeBootstrap" + ] } } diff --git a/src/lib/Sage/PostCreateProject.php b/src/lib/Sage/PostCreateProject.php index df9eb58eb4..37489cbfec 100755 --- a/src/lib/Sage/PostCreateProject.php +++ b/src/lib/Sage/PostCreateProject.php @@ -6,11 +6,39 @@ class PostCreateProject { + public static function updateHeaders(Event $event) + { + // @codingStandardsIgnoreStart + $io = $event->getIO(); + + if ($io->isInteractive()) { + $io->write('Define theme headers. Press enter key for default.'); + + $theme_headers_default = [ + 'name' => 'Sage Starter Theme', + 'uri' => 'https://roots.io/sage/', + 'description' => 'Sage is a WordPress starter theme.', + 'version' => '9.0.0-beta.2', + 'author' => 'Roots', + 'author_uri' => 'https://roots.io/' + ]; + $theme_headers = [ + 'name' => $io->ask('Theme Name ['.$theme_headers_default['name'].']: ', $theme_headers_default['name']), + 'uri' => $io->ask('Theme URI ['.$theme_headers_default['uri'].']: ', $theme_headers_default['uri']), + 'description' => $io->ask('Theme Description ['.$theme_headers_default['description'].']: ', $theme_headers_default['description']), + 'version' => $io->ask('Theme Version ['.$theme_headers_default['version'].']: ', $theme_headers_default['version']), + 'author' => $io->ask('Theme Author ['.$theme_headers_default['author'].']: ', $theme_headers_default['author']), + 'author_uri' => $io->ask('Theme Author URI ['.$theme_headers_default['author_uri'].']: ', $theme_headers_default['author_uri']) + ]; + + file_put_contents('style.css', str_replace($theme_headers_default, $theme_headers, file_get_contents('style.css'))); + } + } + public static function removeBootstrap(Event $event) { $io = $event->getIO(); - // @codingStandardsIgnoreStart if ($io->isInteractive()) { if ($io->askConfirmation('Remove Bootstrap? [y,N]? ', false)) { file_put_contents('package.json', str_replace(' "bootstrap": "^4.0.0-alpha.6",' . "\n", '', file_get_contents('package.json'))); @@ -23,6 +51,6 @@ public static function removeBootstrap(Event $event) file_put_contents('assets/styles/layouts/_header.scss', ''); } } - // @codingStandardsIgnoreEnd } + // @codingStandardsIgnoreEnd } diff --git a/style.css b/style.css index 8a395ac247..23cd888db5 100644 --- a/style.css +++ b/style.css @@ -1,7 +1,7 @@ /* Theme Name: Sage Starter Theme Theme URI: https://roots.io/sage/ -Description: Sage is a WordPress starter theme. Contribute on GitHub +Description: Sage is a WordPress starter theme. Version: 9.0.0-beta.2 Author: Roots Author URI: https://roots.io/