bootstrap-genesis
bootstrap-genesis copied to clipboard
WordPress Genesis Child Theme setup to use Bootstrap, Sass, and Grunt
bootstrap-genesis
WordPress Genesis Child Theme setup to use Bootstrap 3, Sass, and Grunt.
Contributors
@salcode, @dustyndoyle, @codenameEli, @bryanwillis
The CSS is Missing
I hear from a lot of users, "Hey, I tried to use your theme but there is no CSS."
Quick Fix
Download the latest Bootstrap Genesis release and use that.
The Long Version
This is the base theme I use for the projects I build. Part of my workflow includes using
GruntJS for my CSS/Sass and JavaScript compilation, concatenation, and minification.
Because the resulting css/style.min.css
and js/javascript.min.js
files are compiled files, I do NOT
check them into version control (i.e. they are listed in the .gitignore
file).
The result of all this is the files in the repo are a copy of the theme with all the source files for the CSS and JavaScript but not the final CSS and JavaScript.
If you're running GruntJS and have Sass
installed you can run npm install
and grunt
from the command line and the
CSS and JavaScript will be generated. If you're not running these tools yet,
you can use the latest
Bootstrap Genesis release,
which includes the compilied CSS and JavaScript.
Why no CSS in style.css?
Since I'm treating the CSS as a compiled asset that I do not want to include it
in version control, I use style.css
only for the theme header information and
all applied CSS is stored in css/style.min.css
Menu Modifications
The menu is modified to use Bootstrap markup and the menus are placed at the top of the page by default. All menu modifications are removed, when the Ubermenu plugin is present
Project Goal
This theme was created as my own starting point when building custom Genesis child themes using the Bootstrap front-end framework.
The goal is to leverage Bootstrap as much as possible by adding the appropriate markup to trigger Bootstrap styling.
Whenever there is a choice between making an adjustment via the markup or via Sass/CSS, markup modifications are preferrable. There are two justifications for this:
- We want to keep the CSS as small as possible for load time
- By using Bootstrap Markup we make the Bootstrap integration more transparent and easier understand and manipulate.
How to Update Bootstrap
Here are my notes on updating Bootstrap in this project.
Warning
After updating the Bootstrap files, the Grunt task must be run to update
css/style.min.css
and js/javascript.min.js
. There are the only two files
loaded for CSS and JavaScript, all of the other files are the source files
which are used to create these two minified files.
Steps
- Download the latest Sass version of Bootstrap
- Replace the JavaScript file. Move the new
assets/javascripts/bootstrap.js
tojs/vendor/bootstrap/
- Replace the fonts. Move all files in the new download from
assets/fonts/bootstrap/
tofonts/bootstrap/
- Replace the top level Sass file. Move the new
assets/stylesheets/_bootstrap.scss
tocss/sass/supporting/bootstrap.scss
- Replace the Bootstrap partial and mixin files. Mall all files in the new download from
assets/stylesheets/bootstrap/
tocss/sass/supporting/bootstrap/
License
GPL