This starter theme will not work with Genesis versions 3+. Please check out Seothemes' genesis-starter-theme instead.
Modular starter child theme with Sass partials for the Genesis Framework, based on the Genesis Sample Theme version 2.6.
Requires the Genesis Framework 2.6+ and PHP 5.6+
Gulp has been updated to version 4. You can find the Gulp 3 version here: https://github.com/christophherr/prometheus/releases/tag/1.0.0
If you have Gulp 3 installed globally, please use the npm scripts in package.json to run the Gulp 4 tasks, e.g. npm run gulp
.
Bug fixes and new features will not be backported to the Gulp 3 version.
Brian Johnson, @themustardseed, has done outstanding work converting the Sass partials to be compatible with Convertkit 3. He also improved the partials for this repo, which can be seen in PR #20. You can find Brian's Repo here: https://github.com/themustardseed/prometheus.
Thank you, Brian!
-
The child theme files are loading before the Genesis Framework. You might have to wrap changes in a callback hooked to
genesis_setup
. -
The child theme has a more modular structure. Instead of cramming everything into functions.php, the code is spread over multiple files.
-
The child theme uses a simple autoloader (see
/lib/functions/autoload.php
). -
The autoloader is 'fed' from two config files found in
config/autoload-admin-files.php
andconfig/autoload-nonadmin-files.php
. -
Woocommerce and additional Customizer functionality are deactivated but can easily be activated by uncommenting the files in the autoloader config.
-
AdSense settings are deactivated in
admin/remove-adsense.php
and incustomizer/remove-adsense.php
. -
The Sass partials for the theme are located in
scss
. The Sass partials for Woocommerce are located in/lib/plugins/woocommerce/scss
. -
Print styles are commented out in
scss/styles.scss
. -
Gulp commands are available to lint and compile Sass, minify the stylesheet, lint and minify the JavaScript files.
Please open
gulpfile.js
and configure Browser-Sync (in the watch task) to load the website you are working on.To use Gulp, you can either just type
gulp
in a terminal window or take a look at the available commands ingulpfile.js
.Please be aware that the Javascript minifier expects ES2016+ syntax.
More functionality (e.g. image optimization) may be added in the future. If you want more advanced Gulp features, take a look at Craig Simpson's Gulp WP Toolkit or Lee Anthony's gulpfile.js.
-
The minified stylesheet is loaded from
functions/load-minified-css.php
. Please uncomment the file in the (nonadmin) config to use style.min.css. Unminified JavaScript files are loaded ifSCRIPT_DEBUG
is set to true inwp-config.php
. -
Stylelint and ESlint are configured to follow WordPress standards and available to check CSS and JavaScript. Four Stylelint rules were changed to allow including the HTML resets and the Genesis structure; one additional rule was changed because Stylelint can't autofix it, yet.
-
If you are using VS Code, you can automatically format CSS and JavaScript files with Prettier (e.g. using the
prettier-eslint
andprettier-stylelint
extensions). -
If Javascript ES5 style is required, please replace the files with copies from Genesis Sample.
-
The functionality of Gary Jones' genesis-js-no-js has been added/enqueued to the theme in order to help prevent a flash of the desktop menu on mobile devices.
It can be deactivated by commenting out the line
functions/no-js.php
in the nonadmin files autoloader. If you need ES5 JavaScript syntax, please deactivate the feature and use Gary's plugin.
- Download the .zip-file into the
wp-content/themes/
folder. - Extract it.
- Make sure the Genesis parent theme is in the
wp-content/themes/
directory. - Activate the Prometheus 2 child theme from the WordPress dashboard.
- Open
wp-content/themes/
of your project in a terminal window. - Type:
git clone https://github.com/christophherr/prometheus
. - Activate the theme from the WordPress dashboard.
Feedback, bug reports, and pull requests are welcome. Please refer to CONTRIBUTING.md for details.
Thank you to everyone contributing to this project.
@polishedwp, @GaryJones, @themustardseed, @mjsdiaz, @seothemes, @srikat, @craigsimps