diff --git a/inc/roots-actions.php b/inc/roots-actions.php index b800f9f..884a02a 100644 --- a/inc/roots-actions.php +++ b/inc/roots-actions.php @@ -5,11 +5,16 @@ add_action('roots_head', 'roots_fout_b_gone'); add_action('roots_head', 'roots_1140_head'); add_action('roots_head', 'roots_adapt_head'); add_action('roots_head', 'roots_foundation_head'); +add_action('roots_head', 'roots_bootstrap_head'); add_action('roots_stylesheets', 'roots_get_stylesheets'); add_action('roots_header_before', 'roots_1140_header_before'); add_action('roots_header_after', 'roots_1140_header_after'); add_action('roots_footer_before', 'roots_1140_footer_before'); add_action('roots_footer_after', 'roots_1140_footer_after'); +add_action('roots_header_before', 'roots_bootstrap_header_before'); +add_action('roots_header_after', 'roots_bootstrap_header_after'); +add_action('roots_footer_before', 'roots_bootstrap_footer_before'); +add_action('roots_footer_after', 'roots_bootstrap_footer_after'); add_action('roots_post_inside_before', 'roots_page_breadcrumb'); function roots_google_analytics() { @@ -90,6 +95,49 @@ function roots_foundation_head() { } } +function roots_bootstrap_head() { + global $roots_options; + $roots_css_framework = $roots_options['css_framework']; + $roots_bootstrap_js = $roots_options['bootstrap_javascript']; + $roots_bootstrap_less_js = $roots_options['bootstrap_less_javascript']; + $template_uri = get_template_directory_uri(); + if ($roots_css_framework === 'bootstrap') { + echo "\t\n"; + } + if ($roots_css_framework === 'bootstrap_less') { + echo "\t\n"; + echo "\t\n"; + } + if ($roots_bootstrap_js === true) { + $roots_options['bootstrap_less_javascript'] = false; + + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + } + if ($roots_bootstrap_less_js === true) { + $roots_options['bootstrap_javascript'] = false; + + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + } +} + function roots_get_stylesheets() { global $roots_options; $roots_css_framework = $roots_options['css_framework']; @@ -134,6 +182,12 @@ function roots_get_stylesheets() { case 'less' : $styles .= stylesheet_link_tag('/less/less.css'); break; + case 'bootstrap' : + $styles .= stylesheet_link_tag('/bootstrap/bootstrap.css'); + break; + case 'bootstrap_less' : + $styles .= stylesheet_link_tag_boostrap_less('/bootstrap/lib/bootstrap.less'); + break; } if (class_exists('RGForms')) { @@ -167,6 +221,11 @@ function stylesheet_link_tag($file, $tabs = 0, $newline = true) { return $indent . '' . ($newline ? "\n" : ""); } +function stylesheet_link_tag_boostrap_less($file, $tabs = 0, $newline = true) { + $indent = str_repeat("\t", $tabs); + return $indent . '' . ($newline ? "\n" : ""); +} + function roots_1140_header_before() { global $roots_options; $roots_css_framework = $roots_options['css_framework']; @@ -200,6 +259,39 @@ function roots_1140_footer_after() { echo "\n"; } } +function roots_bootstrap_header_before() { + global $roots_options; + $roots_css_framework = $roots_options['css_framework']; + if ($roots_css_framework === 'bootstrap' || $roots_css_framework === 'bootstrap_less') { + echo '
', "\n"; + } +} + +function roots_bootstrap_header_after() { + global $roots_options; + $roots_css_framework = $roots_options['css_framework']; + if ($roots_css_framework === 'bootstrap' || $roots_css_framework === 'bootstrap_less') { + echo "
\n"; + echo '
', "\n"; + } +} + +function roots_bootstrap_footer_before() { + global $roots_options; + $roots_css_framework = $roots_options['css_framework']; + if ($roots_css_framework === 'bootstrap' || $roots_css_framework === 'bootstrap_less') { + echo "
\n"; + echo '
', "\n"; + } +} + +function roots_bootstrap_footer_after() { + global $roots_options; + $roots_css_framework = $roots_options['css_framework']; + if ($roots_css_framework === 'bootstrap' || $roots_css_framework === 'bootstrap_less') { + echo "
\n"; + } +} function roots_page_breadcrumb() { global $post; diff --git a/inc/roots-options.php b/inc/roots-options.php index d7ec5dc..08c113d 100644 --- a/inc/roots-options.php +++ b/inc/roots-options.php @@ -125,7 +125,25 @@ $roots_css_frameworks = array( 'main' => 'eight columns', 'sidebar' => 'four columns' ) - ), + ), + 'bootstrap' => array( + 'name' => 'bootstrap', + 'label' => __('Bootstrap', 'roots'), + 'classes' => array( + 'container' => 'row', + 'main' => 'span11', + 'sidebar' => 'span5' + ) + ), + 'bootstrap_less' => array( + 'name' => 'bootstrap_less', + 'label' => __('Bootstrap w/ Less', 'roots'), + 'classes' => array( + 'container' => 'row', + 'main' => 'span11', + 'sidebar' => 'span5' + ) + ), 'none' => array( 'name' => 'none', 'label' => __('None', 'roots'), @@ -161,7 +179,9 @@ function roots_get_default_theme_options($default_framework = '') { 'google_analytics_id' => '', 'root_relative_urls' => true, 'clean_menu' => true, - 'fout_b_gone' => false + 'fout_b_gone' => false, + 'bootstrap_javascript' => false, + 'bootstrap_less_javascript' => false ); return apply_filters('roots_default_theme_options', $default_theme_options); @@ -219,7 +239,33 @@ function roots_theme_options_render_page() { - + + + + +
+ +
+ + + + + + + +
+ +
+ + + +
@@ -325,6 +371,26 @@ function roots_theme_options_validate($input) { } $output['fout_b_gone'] = $input['fout_b_gone']; } + + if (isset($input['bootstrap_javascript'])) { + if ($input['bootstrap_javascript'] === 'yes') { + $input['bootstrap_javascript'] = true; + } + if ($input['bootstrap_javascript'] === 'no') { + $input['bootstrap_javascript'] = false; + } + $output['bootstrap_javascript'] = $input['bootstrap_javascript']; + } + + if (isset($input['bootstrap_less_javascript'])) { + if ($input['bootstrap_less_javascript'] === 'yes') { + $input['bootstrap_less_javascript'] = true; + } + if ($input['bootstrap_less_javascript'] === 'no') { + $input['bootstrap_less_javascript'] = false; + } + $output['bootstrap_less_javascript'] = $input['bootstrap_less_javascript']; + } return apply_filters('roots_theme_options_validate', $output, $input, $defaults); }