Version: 2.7.0
Matt Banks ( @mattbanks / kernelcreativemedia.com / mattbanks.me )
WordPress Starter Theme for use as Child Theme of the Genesis Framework for building custom themes, using Compass/SCSS and Grunt. Tested with WordPress 3.8.1 and Genesis 2.0.1.
The theme is setup to use Grunt to compile Compass/SCSS, lint, concatenate and minify JavaScript (with source maps), optimize images, and LiveReload the browser (with extension), with flexibility to add any additional tasks via the Gruntfile. Alternatively, you can use CodeKit or whatever else you prefer to compile the SCSS and manage the JavaScript.
Rename folder to your theme name, change the assets/styles/source/style.scss
intro block to your theme information. Open the theme directory in terminal and run npm install
to pull in all Grunt dependencies. Run grunt
to execute tasks. Code as you will. If you have the LiveReload browser extension, it will reload after any SCSS or JS changes.
- Compile
assets/styles/source/style.scss
tostyle.css
(all paths defined in config.rb for Compass) - Compile
assets/styles/source/editor-style.scss
toeditor-style.css
- Concatenate and minify plugins in
assets/js/vendor
andassets/js/source/plugins.js
toassets/js/plugins.min.js
- Minify
assets/js/source/main.js
toassets/js/main.min.js
- ??
- Profit
To concatenate and minify your jQuery plugins, add them to the assets/js/vendor
directory and add the js
filename and path to the Gruntfile
uglify
task. Previous versions of the starter theme automatically pulled all plugins in the vendor
directory, but this has changed to allow more granular control and for managing plugins and assets with bower.
Supports bower to install and manage JavaScript dependencies in the assets/js/vendor
folder.
The theme includes deployments via grunt-rsync. The Gruntfile includes setups for staging and production - edit your paths and host, then run grunt rsync:staging
or grunt rsync:production
to deploy your files via rsync.
- Compass & SCSS with easy-to-use of mixins ready to go
- Easy to customize
- Grunt and LiveReload to make it more gooder
- Child theme tweaks
- More to come!
- Use Google Libraries
- WordPress SEO by Yoast
- Google Analytics for WordPress by Yoast
- W3 Total Cache
- Gravity Forms
- Pods Framework
- rename assets/scss to assets/styles/source
- move scss directory
- process and livereload images in watch task
- don't livereload html and php due to collisions and bugs in watch task
- tweak imagemin processing
- run all tasks on grunt run initially
- update grunt dependencies
- update grunt dependencies
- update spacing in functions
- update deployment info to fit new rsyncwrapper options
- source maps fully work now!
- update to Genesis 2.0.1 stylesheet
- update grunt dependencies
- update grunt dependencies
- switch to load-grunt-tasks for loading everything
- restructure deploy task based on grunt-rsync updates
- update to Genesis 2.0.0 final
- manually manage plugins in
Gruntfile
instead of automatically pulling all files to streamline bower usage.
- add bower support with
.bowerrc
(thanks tjtate) - update to Genesis 2.0 RC1
- remove duplicate meta tag function
- add partials folder with social network sharing buttons partial as example
- update to Genesis 2.0.0 beta 2 for HTML5 markup and structure
- tweak Gruntfile.js to fix LiveReload issues and generate source maps for both main.js and plugins.js
- optimizations and tweaks here and there
- add deployments via rsync
- reorganize code in
assets
folder for fonts, images, js and scss - setup Gruntfile to use Grunt for all compiling, concatenation and minification
- add TGM Plugin Activation to require plugins be installed and activated
- prevent file editing in theme editor
- load Apple touch icon in head
- fix improper footer function
- added
templates
folder for page templates with Portfolio page template (as an example)
- code cleanup in
functions.php
- hooks and filters now here, functions moved tolib/theme-functions.php
- added more functions and tweaked others to streamline development time
- added
lib/theme-views.php
for placing all hooked functions for various pages (ie. custom queries, loops, addons, etc)
- initial version
Without these projects, this WordPress Genesis Starter Child Theme wouldn't be where it is today.