From 69a86d4c2d54d8d5464177b2fb9647184b570af8 Mon Sep 17 00:00:00 2001 From: Braad Date: Thu, 19 Mar 2015 15:02:35 -0700 Subject: [PATCH 01/10] Updates to functions.php --- functions.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/functions.php b/functions.php index 20b3121..aae0238 100644 --- a/functions.php +++ b/functions.php @@ -2,9 +2,9 @@ /** * Theme functionality - * + * * @since 1.0.0 - * + * * @package Trestle */ @@ -18,6 +18,9 @@ require_once dirname( __FILE__ ) . '/includes/functions/theme-functions.php'; // Admin functionality require_once dirname( __FILE__ ) . '/includes/admin/admin.php'; +// Customizer controls +require_once dirname( __FILE__ ) . '/includes/admin/customizer.php'; + // Shortcodes require_once dirname( __FILE__ ) . '/includes/shortcodes/shortcodes.php'; @@ -57,5 +60,4 @@ function trestle_theme_setup() { // Add support for footer widgets if specified in Trestle settings $trestle_footer_widgets_number = esc_attr( genesis_get_option( 'trestle_footer_widgets_number' ) ); add_theme_support( 'genesis-footer-widgets', $trestle_footer_widgets_number ); - } From bf244dce13bea9291374d4bdac7b8c58e3f81a7b Mon Sep 17 00:00:00 2001 From: Braad Date: Thu, 19 Mar 2015 15:09:37 -0700 Subject: [PATCH 02/10] Remove admin.css --- includes/admin/admin.css | 122 --------------------------------------- 1 file changed, 122 deletions(-) delete mode 100644 includes/admin/admin.css diff --git a/includes/admin/admin.css b/includes/admin/admin.css deleted file mode 100644 index 8a9bf26..0000000 --- a/includes/admin/admin.css +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Trestle admin styles - * - * @since 1.0.0 - * - * @package Trestle - */ - -.trestle-layout img { - margin-right: 10px; - border: 4px solid transparent; - cursor: pointer; -} - -.trestle-layout img:hover { - border-color: #EEE; -} - -.trestle-layout img.checked { - border-color: #CCC; -} - -/* Columns ---------------------------------------------- */ -.five-sixths, -.four-sixths, -.one-fourth, -.one-half, -.one-sixth, -.one-third, -.three-fourths, -.three-sixths, -.two-fourths, -.two-sixths, -.two-thirds, -.footer-widgets .widget-area { - float: left; - margin: 0; - width: 100%; -} - - -/* Media Queries ---------------------------------------------- */ -@media (min-width: 768px) { - - /* Columns - --------------------------------------------- */ - - .five-sixths, - .four-sixths, - .one-fourth, - .one-half, - .one-sixth, - .one-third, - .three-fourths, - .three-sixths, - .two-fourths, - .two-sixths, - .two-thirds, - .footer-widgets .widget-area { - margin-left: 2.564102564102564%; - } - - .one-half, - .three-sixths, - .two-fourths, - .footer-widgets-number-2 .footer-widgets .widget-area { - width: 48.717948717948715%; - } - - .one-third, - .two-sixths, - .sidebar-primary, - .title-area, - .footer-widgets-number-3 .footer-widgets .widget-area { - width: 31.623931623931625%; - } - - .four-sixths, - .two-thirds, - .content { - width: 65.81196581196582%; - } - - .one-fourth, - .footer-widgets-number-4 .footer-widgets .widget-area { - width: 23.076923076923077%; - } - - .three-fourths { - width: 74.35897435897436%; - } - - .one-fifth, - .footer-widgets-number-5 .footer-widgets .widget-area { - width: 17.948717949%; - } - - .one-sixth, - .footer-widgets-number-6 .footer-widgets .widget-area { - width: 14.52991452991453%; - } - - .five-sixths { - width: 82.90598290598291%; - } - - .first, - .footer-widgets .footer-widgets-1 { - clear: both; - margin-left: 0; - } - - /* Lists inside columns (to remove bottom margin as needed at mobile sizes */ - .no-list-margin ul, - .no-list-margin ol { - margin-bottom: 26px; - margin-bottom: 2.6rem; - } - -} \ No newline at end of file From d6542d2091db5460e5c4dfc5a88925f060875e05 Mon Sep 17 00:00:00 2001 From: Braad Date: Thu, 19 Mar 2015 15:10:02 -0700 Subject: [PATCH 03/10] Remove admin.js --- includes/admin/admin.js | 40 ---------------------------------------- 1 file changed, 40 deletions(-) delete mode 100644 includes/admin/admin.js diff --git a/includes/admin/admin.js b/includes/admin/admin.js deleted file mode 100644 index c580186..0000000 --- a/includes/admin/admin.js +++ /dev/null @@ -1,40 +0,0 @@ -/** - * jQuery that runs in the WordPress admin - * - * @since 1.0.0 - * - * @package Trestle - */ - -// Executes when the document is ready -jQuery(document).ready(function() { - - // Hide Trestle layout radio buttons - jQuery('.trestle-layout img').next('input[type="radio"]').hide(); - - // Add radio button functionality to layout icons - jQuery('.trestle-layout img').click(function() { - jQuery(this).next('input[type="radio"]').attr('checked', true); - jQuery('.trestle-layout img').removeClass('checked'); - jQuery(this).addClass('checked'); - }); - - // Add drop-down functionality for Post Info & Meta options - if( ! jQuery('#genesis-settings\\[trestle_manual_post_info_meta\\]').is(':checked') ) { - jQuery('.trestle-post-info-meta').hide(); - } - - jQuery('#genesis-settings\\[trestle_manual_post_info_meta\\]').change(function() { - jQuery('.trestle-post-info-meta').slideToggle(); - }); - - // Add drop-down functionality for equal height breakpoint - if( ! jQuery('#genesis-settings\\[trestle_equal_height_cols\\]').is(':checked') ) { - jQuery('.trestle-equal-columns-breakpoint').hide(); - } - - jQuery('#genesis-settings\\[trestle_equal_height_cols\\]').change(function() { - jQuery('.trestle-equal-columns-breakpoint').slideToggle(); - }); - -}); /* end of as page load scripts */ From 5d8a55bd03ab55aaffad92b69b0887797c512d9b Mon Sep 17 00:00:00 2001 From: Braad Date: Thu, 19 Mar 2015 15:11:50 -0700 Subject: [PATCH 04/10] Update admin.php --- includes/admin/admin.php | 271 ++------------------------------------- 1 file changed, 11 insertions(+), 260 deletions(-) diff --git a/includes/admin/admin.php b/includes/admin/admin.php index d0d342d..7fafbff 100644 --- a/includes/admin/admin.php +++ b/includes/admin/admin.php @@ -14,37 +14,28 @@ add_action( 'admin_enqueue_scripts', 'trestle_admin_actions' ); * @since 1.0.0 */ function trestle_admin_actions() { - // Add admin jQuery - wp_enqueue_script( 'trestle-admin-jquery', get_stylesheet_directory_uri() . '/includes/admin/admin.js', array( 'jquery' ), '1.0.0', true ); - // Add admin jQuery - wp_enqueue_style( 'trestle-admin', get_stylesheet_directory_uri() . '/includes/admin/admin.css' ); - - // Add admin CSS - add_editor_style( get_stylesheet_directory_uri() . '/includes/admin/editor-style.css' ); + // Include the main stylesheet in the editor + add_editor_style( get_stylesheet_uri() ); } add_filter( 'genesis_theme_settings_defaults', 'trestle_custom_defaults' ); /** * Sets up Trestle default settings. * - * @since 1.0.0 + * @since 1.0.0 * - * @param array $defaults Genesis default settings. - * @return array Genesis settings updated to include Trestle defaults. + * @param array $defaults Genesis default settings. + * @return array Genesis settings updated to include Trestle defaults. */ function trestle_custom_defaults( $defaults ) { + // Trestle default key/value pairs $trestle_defaults = array( 'trestle_layout' => 'solid', 'trestle_logo_url' => '', 'trestle_logo_url_mobile' => '', 'trestle_nav_primary_location' => 'full', - 'trestle_auto_nav' => 0, - 'trestle_auto_nav_depth' => 0, - 'trestle_include_home_link' => 0, - 'trestle_home_link_text' => __( 'Home', 'trestle' ), - 'trestle_nav_button_text' => '[icon name="icon-list-ul"] ' . __( 'Navigation', 'trestle' ), 'trestle_read_more_text' => __( 'Read More »', 'trestle' ), 'trestle_revisions_number' => 3, 'trestle_footer_widgets_number' => 3, @@ -54,267 +45,26 @@ function trestle_custom_defaults( $defaults ) { $options = get_option( GENESIS_SETTINGS_FIELD ); foreach ( $trestle_defaults as $k => $v ) { + // Add defaults to Genesis default settings array $defaults[$k] = $v; // Update actual options if they don't yet exist - if ( $options && ! array_key_exists( $k, $options ) ) + if ( $options && ! array_key_exists( $k, $options ) ) $options[$k] = $v; } // Update options with defaults update_option( GENESIS_SETTINGS_FIELD, $options ); - + return $defaults; } -add_action( 'genesis_settings_sanitizer_init', 'trestle_register_social_sanitization_filters' ); -/** - * Adds sanitization for various Trestle admin settings. - * - * @since 1.0.0 - */ -function trestle_register_social_sanitization_filters() { - // 1 or 0 - genesis_add_option_filter( - 'one_zero', - GENESIS_SETTINGS_FIELD, - array( - 'trestle_auto_nav', - 'trestle_include_home_link', - 'trestle_custom_nav_extras', - 'trestle_manual_post_info_meta', - 'trestle_equal_height_cols', - 'trestle_external_link_icons', - 'trestle_email_link_icons', - 'trestle_pdf_link_icons', - 'trestle_doc_link_icons', - ) - ); - - // Integer - genesis_add_option_filter( - 'absint', - GENESIS_SETTINGS_FIELD, - array( - 'trestle_auto_nav_depth', - 'trestle_revisions_number', - 'trestle_footer_widgets_number', - ) - ); - - // No HTML - genesis_add_option_filter( - 'no_html', - GENESIS_SETTINGS_FIELD, - array( - 'trestle_layout', - 'trestle_nav_primary_location' - ) - ); - - // Safe HTML - genesis_add_option_filter( - 'safe_html', - GENESIS_SETTINGS_FIELD, - array( - 'trestle_logo_url', - 'trestle_logo_url_mobile', - 'trestle_home_link_text', - 'trestle_nav_button_text', - 'trestle_custom_nav_extras_text', - 'trestle_read_more_text' - ) - ); -} - -add_action( 'genesis_theme_settings_metaboxes', 'trestle_register_settings_box' ); -/** - * Registers Trestle admin settings box. - * - * @since 1.0.0 - * - * @global array $_genesis_admin_settings Genesis admin settings. - * - * @param string $_genesis_theme_settings_pagehook Hook for main Genesis settings page in admin. - */ -function trestle_register_settings_box( $_genesis_theme_settings_pagehook ) { - global $_genesis_admin_settings; - - // Create Trestle settings metabox - $settings_box_title = __( 'Trestle Settings by', 'trestle' ) . ' MIGHTYminnow'; - add_meta_box( 'trestle-settings', $settings_box_title, 'trestle_settings_box', $_genesis_theme_settings_pagehook, 'main', 'high' ); -} - -/** - * Outputs contents of Trestle admin settings box on Genesis settings page. - * - * @since 1.0.0 - */ -function trestle_settings_box() { - // Set path for image radio inputs - $img_path = get_stylesheet_directory_uri() . '/images/admin/'; - - ?> -

-

- /> - /> - /> - /> -

- -

-

-
- -

-

-
- -

- -

-

-
- -

-

- /> -
- /> -

- -

-
- -

- -

-
- -

- -

-

- /> -

-

-
- -

- -

-

- : -

-

- - -

- -

-

- /> -

- - -

-

- - -

-

-

- />
- />
- />
- /> -

- Date: Thu, 19 Mar 2015 15:14:31 -0700 Subject: [PATCH 05/10] Add customizer.php --- includes/admin/customizer.php | 324 ++++++++++++++++++++++++++++++++++ 1 file changed, 324 insertions(+) create mode 100644 includes/admin/customizer.php diff --git a/includes/admin/customizer.php b/includes/admin/customizer.php new file mode 100644 index 0000000..39e7526 --- /dev/null +++ b/includes/admin/customizer.php @@ -0,0 +1,324 @@ +add_section( + 'trestle_settings_section', + array( + 'title' => __( 'Trestle Settings', 'trestle' ), + 'priority' => 160, + ) + ); + + // Layout + $wp_customize->add_setting( + 'genesis-settings[trestle_layout]', + array( + 'default' => '', + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_layout_control', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_layout]', + 'label' => __( 'Layout', 'trestle' ), + 'type' => 'radio', + 'choices' => array( + 'bubble' => __( 'Bubble', 'trestle' ), + 'solid' => __( 'Solid', 'trestle' ), + ) + ) + ); + + // Upload a logo + $wp_customize->add_setting( + 'genesis-settings[trestle_logo_url]', + array( + 'default' => genesis_get_option( 'trestle_logo_url' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + new WP_Customize_Image_Control( + $wp_customize, + 'trestle_logo_control', + array( + 'label' => __( 'Upload a logo', 'trestle' ), + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_logo_url]', + ) + ) + ); + + // Upload a mobile logo + $wp_customize->add_setting( + 'genesis-settings[trestle_logo_url_mobile]', + array( + 'default' => genesis_get_option( 'trestle_logo_url_mobile' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + new WP_Customize_Image_Control( + $wp_customize, + 'trestle_mobile_logo_control', + array( + 'label' => __( 'Upload a logo for mobile', 'trestle' ), + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_logo_url_mobile]', + ) + ) + ); + + // Primary nav style + $wp_customize->add_setting( + 'genesis-settings[trestle_nav_primary_location]', + array( + 'default' => genesis_get_option( 'trestle_nav_primary_location' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_nav_primary_location_control', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_nav_primary_location]', + 'label' => __( 'Menu style', 'trestle' ), + 'type' => 'select', + 'choices' => array( + 'full' => __( 'Full Width', 'trestle' ), + 'header' => __( 'Header Right', 'trestle' ), + ) + ) + ); + + // Blog post custom read more link text + $wp_customize->add_setting( + 'genesis-settings[trestle_read_more_text]', + array( + 'default' => genesis_get_option( 'trestle_read_more_text' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + 'sanitize_callback' => 'wp_kses_post', + ) + ); + $wp_customize->add_control( + 'trestle_read_more_text_control', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_read_more_text]', + 'label' => __( 'Custom read more link text', 'trestle' ), + ) + ); + + // Post revisions number + $wp_customize->add_setting( + 'genesis-settings[trestle_revisions_number]', + array( + 'default' => genesis_get_option( 'trestle_revisions_number' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_revisions_number_control', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_revisions_number]', + 'label' => __( 'Number of post revisions', 'trestle' ), + 'type' => 'select', + 'choices' => array( + '-1' => __( 'Unlimited', 'trestle' ), + '0' => '0', + '1' => '1', + '2' => '2', + '3' => '3', + '4' => '4', + '5' => '5', + '6' => '6', + '7' => '7', + '8' => '8', + '9' => '9', + '10' => '10', + ) + ) + ); + + // Footer Widget Areas + $wp_customize->add_setting( + 'genesis-settings[trestle_footer_widgets_number]', + array( + 'default' => genesis_get_option( 'trestle_footer_widgets_number' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_footer_widgets_number_control', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_footer_widgets_number]', + 'label' => __( 'Number of footer widgets', 'trestle' ), + 'type' => 'select', + 'choices' => array( + '0' => '0', + '1' => '1', + '2' => '2', + '3' => '3', + '4' => '4', + '5' => '5', + '6' => '6', + ) + ) + ); + + // Add a label for the link icons + $wp_customize->add_setting( + 'genesis-settings[trestle_link_icons_title]', + array( + 'default' => '', + 'type' => 'option', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_link_icons_title', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_link_icons_title]', + 'label' => __( 'Icon links', 'trestle' ), + 'type' => 'hidden', + ) + ); + + // External Link Icons + $wp_customize->add_setting( + 'genesis-settings[trestle_external_link_icons]', + array( + 'default' => genesis_get_option( 'trestle_external_link_icons' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_external_link_icons', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_external_link_icons]', + 'label' => __( 'Add icons to external links', 'trestle' ), + 'type' => 'checkbox', + ) + ); + + // E-mail Link Icons + $wp_customize->add_setting( + 'genesis-settings[trestle_email_link_icons]', + array( + 'default' => genesis_get_option( 'trestle_email_link_icons' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_email_link_icons', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_email_link_icons]', + 'label' => __( 'Add icons to email links', 'trestle' ), + 'type' => 'checkbox', + ) + ); + + // PDF Link Icons + $wp_customize->add_setting( + 'genesis-settings[trestle_pdf_link_icons]', + array( + 'default' => genesis_get_option( 'trestle_pdf_link_icons' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_pdf_link_icons', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_pdf_link_icons]', + 'label' => __( 'Add icons to .pdf links', 'trestle' ), + 'type' => 'checkbox', + ) + ); + + // Doc Link Icons + $wp_customize->add_setting( + 'genesis-settings[trestle_doc_link_icons]', + array( + 'default' => genesis_get_option( 'trestle_doc_link_icons' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_doc_link_icons', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_doc_link_icons]', + 'label' => __( 'Add icons to .doc links', 'trestle' ), + 'type' => 'checkbox', + ) + ); + +} From b23e0e3f7be1288b82967b0c9838ba9d38d83c70 Mon Sep 17 00:00:00 2001 From: Braad Date: Thu, 19 Mar 2015 15:15:50 -0700 Subject: [PATCH 06/10] Add customizer.js --- includes/admin/customizer.js | 137 +++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 includes/admin/customizer.js diff --git a/includes/admin/customizer.js b/includes/admin/customizer.js new file mode 100644 index 0000000..b6fb4ea --- /dev/null +++ b/includes/admin/customizer.js @@ -0,0 +1,137 @@ +/** + * JavaScript for the Customizer Preview + * + * @since 1.0.0 + */ + +( function( $ ) { + + // Layout + wp.customize( 'genesis-settings[trestle_layout]', function( value ) { + value.bind( function( value ) { + + var $body = $( 'body' ); + + switch ( value ) { + case 'solid': + $body.removeClass( 'bubble' ); + break; + case 'bubble': + $body.addClass( 'bubble' ); + break; + } + + }); + }); + + // Custom logo + wp.customize( 'genesis-settings[trestle_logo_url]', function( value ) { + value.bind( function( url ) { + + var $body = $( 'body' ); + + if ( 0 === $.trim( url ).length ) { + $body.removeClass( 'has-logo' ); + $( '.site-title a.image-link' ).remove(); + } else { + $body.addClass( 'has-logo' ); + $( '.site-title a.image-link' ).remove(); + $( '.site-title' ).append( '' ); + } + + }); + }); + + // Primary Nav Location + wp.customize( 'genesis-settings[trestle_nav_primary_location]', function( value ) { + value.bind( function( value ) { + + var $body = $( 'body' ); + var $nav = $( '.nav-primary' ); + + switch ( value ) { + case 'full': + $body.removeClass( 'nav-primary-location-header' ) + .addClass( 'nav-primary-location-full' ); + $nav.remove().insertAfter( '.site-header' ); + break; + case 'header': + $body.removeClass( 'nav-primary-location-full' ) + .addClass( 'nav-primary-location-header' ); + $nav.remove().appendTo( '.site-header .wrap' ); + break; + } + + }); + }); + + // Custom Read More Link Text + wp.customize( 'genesis-settings[trestle_read_more_text]', function( value ) { + value.bind( function( value ) { + + $( 'a.more-link' ).text( value ); + + }); + }); + + // External Links + wp.customize( 'genesis-settings[trestle_external_link_icons]', function( value ) { + value.bind( function( value ) { + + var $body = $( 'body' ); + + if ( value ) { + $body.addClass( 'external-link-icons' ); + } else { + $body.removeClass( 'external-link-icons' ); + } + + }); + }); + + // Email Links + wp.customize( 'genesis-settings[trestle_email_link_icons]', function( value ) { + value.bind( function( value ) { + + var $body = $( 'body' ); + + if ( value ) { + $body.addClass( 'email-link-icons' ); + } else { + $body.removeClass( 'email-link-icons' ); + } + + }); + }); + + // PDF Links + wp.customize( 'genesis-settings[trestle_pdf_link_icons]', function( value ) { + value.bind( function( value ) { + + var $body = $( 'body' ); + + if ( value ) { + $body.addClass( 'pdf-link-icons' ); + } else { + $body.removeClass( 'pdf-link-icons' ); + } + + }); + }); + + // Doc Links + wp.customize( 'genesis-settings[trestle_doc_link_icons]', function( value ) { + value.bind( function( value ) { + + var $body = $( 'body' ); + + if ( value ) { + $body.addClass( 'doc-link-icons' ); + } else { + $body.removeClass( 'doc-link-icons' ); + } + + }); + }); + +})( jQuery ); From 47ca5a873acfb576e184b113fd238fc4668c7917 Mon Sep 17 00:00:00 2001 From: Braad Date: Thu, 19 Mar 2015 15:16:41 -0700 Subject: [PATCH 07/10] Remove editor-style.css --- includes/admin/editor-style.css | 36 --------------------------------- 1 file changed, 36 deletions(-) delete mode 100644 includes/admin/editor-style.css diff --git a/includes/admin/editor-style.css b/includes/admin/editor-style.css deleted file mode 100644 index 4d17d21..0000000 --- a/includes/admin/editor-style.css +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Trestle editor styles - * - * @since 1.0.0 - * - * @package Trestle - */ - -@import url( '../../style.css' ); - -/* Overrides ---------------------------------------------- */ -body { - padding: 8px 16px; - background-color: #FFF; - background-image: none; -} - -.content { - width: 100%; - font-size: 1.6rem; -} - -.content a { - color: #f15123; -} - -.content a:hover { - color: #333; -} - -.content ul, -.content ol { - margin: 0 0 26px 40px; - margin: 0 0 2.6rem 4rem; -} \ No newline at end of file From 26278516b694ec19851135b10b72966c162136d5 Mon Sep 17 00:00:00 2001 From: Braad Date: Thu, 19 Mar 2015 15:18:43 -0700 Subject: [PATCH 08/10] Update theme-functions.php --- includes/functions/theme-functions.php | 48 +++++++++++++++----------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/includes/functions/theme-functions.php b/includes/functions/theme-functions.php index 2efc389..40309e6 100644 --- a/includes/functions/theme-functions.php +++ b/includes/functions/theme-functions.php @@ -20,7 +20,7 @@ add_action( 'wp_enqueue_scripts', 'trestle_header_actions' ); * @since 1.0.0 */ function trestle_header_actions() { - + // Google fonts wp_enqueue_style( 'theme-google-fonts', '//fonts.googleapis.com/css?family=Lato:300,400,700' ); @@ -36,7 +36,7 @@ function trestle_header_actions() { $custom_css_file = '/trestle/custom.css'; if ( is_readable( $upload_path . $custom_css_file ) ) wp_enqueue_style( 'trestle-custom-css', $upload_url . $custom_css_file ); - + // Custom jQuery (if it exists) $custom_js_file = '/trestle/custom.js'; if ( is_readable( $upload_path . $custom_js_file ) ) @@ -58,7 +58,7 @@ add_filter( 'body_class', 'trestle_body_classes' ); * @return array Updated body classes. */ function trestle_body_classes( $classes ) { - + // Add 'no-jquery' class to be removed by jQuery if enabled $classes[] = 'no-jquery'; @@ -79,19 +79,15 @@ function trestle_body_classes( $classes ) { // Add menu style class if ( genesis_get_option( 'trestle_nav_primary_location' ) ) $classes[] = 'nav-primary-location-' . esc_attr( genesis_get_option( 'trestle_nav_primary_location' ) ); - + // Add footer widget number class if ( genesis_get_option( 'trestle_footer_widgets_number' ) ) $classes[] = 'footer-widgets-number-' . esc_attr( genesis_get_option( 'trestle_footer_widgets_number' ) ); - // Add class for equal height Genesis Extender columns - if ( 1 == genesis_get_option( 'trestle_equal_height_cols' ) ) - $classes[] = 'equal-height-genesis-extender-cols'; - // Add logo class if ( genesis_get_option( 'trestle_logo_url' ) || genesis_get_option( 'trestle_logo_url_mobile' ) ) $classes[] = 'has-logo'; - + return $classes; } @@ -108,6 +104,7 @@ add_filter( 'genesis_seo_title', 'trestle_do_logos', 10, 3 ); * @since 1.0.0 */ function trestle_do_logos( $title, $inside, $wrap ) { + $logo_url = genesis_get_option( 'trestle_logo_url' ); $logo_url_mobile = genesis_get_option( 'trestle_logo_url_mobile' ); $logo_html = ''; @@ -125,7 +122,7 @@ function trestle_do_logos( $title, $inside, $wrap ) { $logo_html .= sprintf( '', implode(' ', $classes), esc_attr( get_bloginfo( 'name' ) ), - $logo_url + $logo_url ); } @@ -142,8 +139,8 @@ function trestle_do_logos( $title, $inside, $wrap ) { $logo_html .= sprintf( '', implode(' ', $classes), esc_attr( get_bloginfo( 'name' ) ), - $logo_url_mobile - ); + $logo_url_mobile + ); } if ( $logo_html ) { @@ -154,11 +151,11 @@ function trestle_do_logos( $title, $inside, $wrap ) { ); } - //* Build the title + // Build the title $title = genesis_html5() ? sprintf( "<{$wrap} %s>", genesis_attr( 'site-title' ) ) : sprintf( '<%s id="title">%s', $wrap, $inside, $wrap ); $title .= genesis_html5() ? "{$inside}" : ''; - //* Echo (filtered) + // Echo (filtered) return $title; } @@ -179,6 +176,7 @@ add_action( 'init', 'trestle_nav_modifications' ); * @see trestle_nav_placeholder() */ function trestle_nav_modifications() { + global $trestle_nav_title; // Set title for Trestle placeholder navigation menu @@ -193,7 +191,7 @@ function trestle_nav_modifications() { if ( 1 == genesis_get_option( 'trestle_custom_nav_extras' ) ) { // Remove default nav extras remove_filter( 'wp_nav_menu_items', 'genesis_nav_right' ); - + // Add custom nav extras add_filter( 'wp_nav_menu_items', 'trestle_custom_nav_extras', 10, 2 ); } @@ -227,6 +225,7 @@ function trestle_nav_primary_location() { * @return string
  • list of (modified) navigation menu items. */ function trestle_auto_nav_items( $nav_items, stdClass $menu_args ) { + if ( 'primary' == $menu_args->theme_location ) { $args = array( 'depth' => genesis_get_option( 'trestle_auto_nav_depth' ) ? genesis_get_option( 'trestle_auto_nav_depth' ) : 0, @@ -249,7 +248,7 @@ function trestle_auto_nav_items( $nav_items, stdClass $menu_args ) { // Remove closing $nav_items = preg_replace( '/<\/ul>\s*<\/div>/', '', $nav_items ); } - + return $nav_items; } @@ -263,6 +262,7 @@ function trestle_auto_nav_items( $nav_items, stdClass $menu_args ) { * @return string
  • list of menu items with custom navigation extras
  • appended. */ function trestle_custom_nav_extras( $nav_items, stdClass $menu_args ) { + if ( 'primary' == $menu_args->theme_location ) { $custom_text = esc_attr( genesis_get_option( 'trestle_custom_nav_extras_text' ) ); return $nav_items . '
  • ' . do_shortcode( genesis_get_option( 'trestle_custom_nav_extras_text' ) ) . '
  • '; @@ -281,6 +281,7 @@ function trestle_custom_nav_extras( $nav_items, stdClass $menu_args ) { * @since 1.0.0 */ function trestle_nav_placeholder() { + global $trestle_nav_title; // Create placeholder menu for 'primary' spot if auto-nav is selected - this ensures that nav extras can be used even when no custom menu is formally set to primary @@ -309,7 +310,7 @@ function trestle_nav_placeholder() { add_filter( 'wp_revisions_to_keep', 'trestle_update_revisions_number', 10, 2 ); /** - * Sets the number of post revisions. + * Sets the number of post revisions. * * @since 1.0.0 * @@ -317,6 +318,7 @@ add_filter( 'wp_revisions_to_keep', 'trestle_update_revisions_number', 10, 2 ); * @return int Number of post revisions specified in Trestle admin panel. */ function trestle_update_revisions_number( $num ) { + $trestle_revisions_number = esc_attr( genesis_get_option( 'trestle_revisions_number' ) ); if ( isset( $trestle_revisions_number ) ) @@ -335,13 +337,14 @@ add_action( 'the_post', 'trestle_post_info_meta', 5 ); * @global object $post The current $post object. */ function trestle_post_info_meta() { + if ( ! is_admin() && in_the_loop() && genesis_get_option( 'trestle_manual_post_info_meta' ) ) { global $post; // Get post type $post_type = get_post_type( $post->ID ); - + // Remove all Post Info & Meta remove_action( 'genesis_entry_header', 'genesis_post_info', 12 ); remove_action( 'genesis_entry_footer', 'genesis_post_meta' ); @@ -350,7 +353,7 @@ function trestle_post_info_meta() { if ( is_singular() ) { $single_info_option = 'trestle_post_info_' . $post_type . '_single'; $single_meta_option = 'trestle_post_meta_' . $post_type . '_single'; - + // Post Info if ( genesis_get_option( $single_info_option ) ) add_action( 'genesis_entry_header', 'genesis_post_info', 12 ); @@ -364,7 +367,7 @@ function trestle_post_info_meta() { if ( ! is_singular() ) { $archive_info_option = 'trestle_post_info_' . $post_type . '_archive'; $archive_meta_option = 'trestle_post_meta_' . $post_type . '_archive'; - + // Post Info if ( genesis_get_option( $archive_info_option ) ) add_action( 'genesis_entry_header', 'genesis_post_info', 12 ); @@ -390,7 +393,9 @@ add_filter( 'genesis_get_image_default_args', 'trestle_featured_image_fallback' * @return array Updated image args */ function trestle_featured_image_fallback( $args ) { + $args['fallback'] = false; + return $args; } @@ -411,10 +416,11 @@ add_filter( 'the_content_more_link', 'trestle_read_more_link' ); * @return string (Updated) "read more" text. */ function trestle_read_more_link( $default_text ) { + // Get Trestle custom "read more" link text $custom_text = esc_attr( genesis_get_option( 'trestle_read_more_text' ) ); - if ( $custom_text ) + if ( $custom_text ) return '… ' . $custom_text . ''; else return $default_text; From 2d87079e05dfa1d6ba70a2bb7fba853e4e8f1f97 Mon Sep 17 00:00:00 2001 From: Braad Date: Thu, 19 Mar 2015 15:20:37 -0700 Subject: [PATCH 09/10] Update theme-jquery.js --- includes/js/theme-jquery.js | 186 ++++++++++++++++++------------------ 1 file changed, 93 insertions(+), 93 deletions(-) diff --git a/includes/js/theme-jquery.js b/includes/js/theme-jquery.js index 781141a..514b840 100644 --- a/includes/js/theme-jquery.js +++ b/includes/js/theme-jquery.js @@ -9,132 +9,132 @@ // Executes when the document is ready jQuery( document ).ready( function( $ ) { - // Remove .no-jquery body class - $( 'body' ).removeClass( 'no-jquery' ); + // Remove .no-jquery body class + $( 'body' ).removeClass( 'no-jquery' ); - // External Links - var h = window.location.host.toLowerCase(); - $( '[href^="http"]' ).not( '[href*="' + h + '"]' ).addClass( 'external-link' ).attr( "target", "_blank" ); + // External Links + var h = window.location.host.toLowerCase(); + $( '[href^="http"]' ).not( '[href*="' + h + '"]' ).addClass( 'external-link' ).attr( "target", "_blank" ); - // Add classes to different types of links - $( 'a[href^="mailto:"]' ).addClass( 'email-link' ); - $( 'a[href$=".pdf"]' ).attr({ "target":"_blank" }).addClass( 'pdf-link' ); - $( 'a[href$=".doc"]' ).attr({ "target":"_blank" }).addClass( 'doc-link' ); - $( 'a' ).has( 'img' ).addClass( 'image-link' ); + // Add classes to different types of links + $( 'a[href^="mailto:"]' ).addClass( 'email-link' ); + $( 'a[href$=".pdf"]' ).attr({ "target":"_blank" }).addClass( 'pdf-link' ); + $( 'a[href$=".doc"]' ).attr({ "target":"_blank" }).addClass( 'doc-link' ); + $( 'a' ).has( 'img' ).addClass( 'image-link' ); - // Add classes to parts of lists - $( 'li:last-child' ).addClass( 'last' ); - $( 'li:first-child' ).addClass( 'first' ); - $( 'ul, ol' ).parent( 'li' ).addClass( 'parent' ); + // Add classes to parts of lists + $( 'li:last-child' ).addClass( 'last' ); + $( 'li:first-child' ).addClass( 'first' ); + $( 'ul, ol' ).parent( 'li' ).addClass( 'parent' ); - // Mobile header toggle buttons - $( '.site-header .title-area' ).after( '
    ' ); - $( '.site-header .widget-area, .nav-primary' ).each( function( i ) { + // Mobile header toggle buttons + $( '.site-header .title-area' ).after( '
    ' ); + $( '.site-header .widget-area, .nav-primary' ).each( function( i ) { - // Store target - $target = $( this ); + // Store target + $target = $( this ); - // Scope variables - var $target, buttonClass, targetClass; + // Scope variables + var $target, buttonClass, targetClass; - // Setup classes - buttonClass = 'toggle-button'; - targetClass = $target.attr( 'class' ).split( /\s+/ ); + // Setup classes + buttonClass = 'toggle-button'; + targetClass = $target.attr( 'class' ).split( /\s+/ ); - // Add targets-[] class to buttonClass - $.each( targetClass, function( index, value ) { - buttonClass += ' targets-' + value; - }); + // Add targets-[] class to buttonClass + $.each( targetClass, function( index, value ) { + buttonClass += ' targets-' + value; + }); - // Add nav-toggle class to buttonClass if the button is for the nav - if ( $target.is( 'nav' ) ) { - buttonClass += ' nav-toggle'; - } + // Add nav-toggle class to buttonClass if the button is for the nav + if ( $target.is( 'nav' ) ) { + buttonClass += ' nav-toggle'; + } - // Add toggle buttons to header - $( '.toggle-buttons' ).prepend( 'Toggle' ); + // Add toggle buttons to header + $( '.toggle-buttons' ).prepend( 'Toggle' ); - // Add target class to nav and widget areas - $target.addClass( 'toggle-target-' + i ); - }); + // Add target class to nav and widget areas + $target.addClass( 'toggle-target-' + i ); + }); - // Toggle widget areas and primary nav - $( '.site-header .toggle-button' ).click( function( event ) { + // Toggle widget areas and primary nav + $( '.site-header .toggle-button' ).click( function( event ) { - // Prevent default behavior - event.preventDefault(); + // Prevent default behavior + event.preventDefault(); - // Scope our variables - var $button, $target; + // Scope our variables + var $button, $target; - // Get toggle button that was clicked - $button = $( this ); + // Get toggle button that was clicked + $button = $( this ); - //Remove focus - $button.blur(); + //Remove focus + $button.blur(); - // Match the button to the right target - $target = $( '.toggle-target-' + $button.attr( 'id' ).match( /\d+/ ) ); + // Match the button to the right target + $target = $( '.toggle-target-' + $button.attr( 'id' ).match( /\d+/ ) ); - // Toggle buttons - $button.toggleClass( 'open' ); - $( '.site-header .toggle-button' ).not( $button ).removeClass( 'open' ); + // Toggle buttons + $button.toggleClass( 'open' ); + $( '.site-header .toggle-button' ).not( $button ).removeClass( 'open' ); - // Toggle targets - $target.toggleClass( 'open' ); - $( '[class^="toggle-target"]' ).not( $target ).removeClass( 'open' ); - }); + // Toggle targets + $target.toggleClass( 'open' ); + $( '[class^="toggle-target"]' ).not( $target ).removeClass( 'open' ); + }); - // Mobile navigation icons - var closedIcon = '+'; - var openIcon = '-'; + // Mobile navigation icons + var closedIcon = '+'; + var openIcon = '-'; - // Insert the icons into the nav where appropriate - $( '.nav-primary' ).find( '.genesis-nav-menu .parent:not( .current-menu-item, .current_page_item, .current_page_parent, .current_page_ancestor) > a' ).after( '' + closedIcon + '' ); - $( '.nav-primary' ).find( '.genesis-nav-menu .parent.current-menu-item > a, .genesis-nav-menu .parent.current_page_item > a, .genesis-nav-menu .parent.current_page_parent > a, .genesis-nav-menu .parent.current_page_ancestor > a' ).after( '' + openIcon + '' ); + // Insert the icons into the nav where appropriate + $( '.nav-primary' ).find( '.genesis-nav-menu .parent:not( .current-menu-item, .current_page_item, .current_page_parent, .current_page_ancestor) > a' ).after( '' + closedIcon + '' ); + $( '.nav-primary' ).find( '.genesis-nav-menu .parent.current-menu-item > a, .genesis-nav-menu .parent.current_page_item > a, .genesis-nav-menu .parent.current_page_parent > a, .genesis-nav-menu .parent.current_page_ancestor > a' ).after( '' + openIcon + '' ); - // Mobile navigation expand/contract functionality - $( '.sub-icon' ).click( function( event ) { + // Mobile navigation expand/contract functionality + $( '.sub-icon' ).click( function( event ) { - // Prevent default behavior - event.preventDefault(); + // Prevent default behavior + event.preventDefault(); - // Get icon click - var $icon = $( this ); + // Get icon click + var $icon = $( this ); - // Remove focus - $icon.blur(); + // Remove focus + $icon.blur(); - // Expand/contract - $icon.next( 'ul' ).slideToggle().toggleClass( 'open' ); + // Expand/contract + $icon.next( 'ul' ).slideToggle().toggleClass( 'open' ); - // Change the icon to indicate open/closed - if ( $icon.text().indexOf( closedIcon ) !== -1 ) { - $icon.text( openIcon ); - } else if ( $icon.text().indexOf( openIcon ) !== -1 ) { - $icon.text( closedIcon ); - } - }); + // Change the icon to indicate open/closed + if ( $icon.text().indexOf( closedIcon ) !== -1 ) { + $icon.text( openIcon ); + } else if ( $icon.text().indexOf( openIcon ) !== -1 ) { + $icon.text( closedIcon ); + } + }); - // Header widget area expand/contract functionality - $( '.widget-area-toggle' ).click( function( event ) { + // Header widget area expand/contract functionality + $( '.widget-area-toggle' ).click( function( event ) { - // Prevent default behavior - event.preventDefault(); + // Prevent default behavior + event.preventDefault(); - // Get button clicked - var $button = $( this ); + // Get button clicked + var $button = $( this ); - // Remove focus - $button.blur(); + // Remove focus + $button.blur(); - // Expand/contract - $button.toggleClass( 'open' ).next( '.widget-area' ).slideToggle(); - }); + // Expand/contract + $button.toggleClass( 'open' ).next( '.widget-area' ).slideToggle(); + }); - // Executes when complete page is fully loaded, including all frames, objects, and images - $( window ).on( 'load', function() { + // Executes when complete page is fully loaded, including all frames, objects, and images + $( window ).on( 'load', function() { - }); + }); }); /* end of page load scripts */ From 9de3310f116bb4f7dd5323ca40b16f2fe4160dcd Mon Sep 17 00:00:00 2001 From: Braad Date: Thu, 19 Mar 2015 15:21:54 -0700 Subject: [PATCH 10/10] Update style.css --- style.css | 89 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 53 insertions(+), 36 deletions(-) diff --git a/style.css b/style.css index 144a514..3aaf97d 100644 --- a/style.css +++ b/style.css @@ -151,6 +151,10 @@ body { line-height: 1.625; } +body.mce-content-body { + width: 100%; /* Used in the editor */ +} + body.bubble { background-color: #f5f5f5; } @@ -177,7 +181,7 @@ textarea:focus, -ms-transition: all 0.1s ease-in-out; -o-transition: all 0.1s ease-in-out; transition: all 0.1s ease-in-out; - + -webkit-appearance: none; -moz-appearance: none; } @@ -213,7 +217,9 @@ ul { } .site-inner ol, -.site-inner ul { +.site-inner ul, +.mce-content-body ol, /* Used in the editor */ +.mce-content-body ul { /* used in the editor */ margin-left: 40px; margin-left: 4rem; margin-bottom: 26px; @@ -296,12 +302,14 @@ a:hover { color: #333; } -.site-inner a { +.site-inner a, +.mce-content-body a { /* Used in the Editor */ border-bottom: 1px solid #ddd; color: #f15123; } -.site-inner a:hover { +.site-inner a:hover, +.mce-content-body a:hover { /* Used in the Editor */ color: #333; } @@ -442,8 +450,12 @@ button, .genesis-nav-menu a, .genesis-nav-menu > .right, #subscribe-email input, /* Begin Jetpack - Blog Subscription */ -div.gform_wrapper input[type="email"], /* Begin Gravity Forms */ -div.gform_wrapper input[type="text"], +div.gform_wrapper input[type=text], +div.gform_wrapper input[type=url], +div.gform_wrapper input[type=email], +div.gform_wrapper input[type=tel], +div.gform_wrapper input[type=number], +div.gform_wrapper input[type=password], div.gform_wrapper textarea, div.gform_wrapper .ginput_complex label { padding: 15px; @@ -463,7 +475,8 @@ textarea { } input[type="radio"], -input[type="checkbox"] { +input[type="checkbox"], +input[type="image"] { width: auto; } @@ -537,11 +550,6 @@ body .button:hover, /* Sidebar Forms, Buttons, & Inputs */ -.sidebar input, -.sidebar select, -.sidebar textarea, -.sidebar button, -.sidebar .button, .sidebar #subscribe-email input, /* Begin Jetpack - Blog Subscription */ .sidebar div.gform_wrapper input[type="email"], /* Begin Gravity Forms */ .sidebar div.gform_wrapper input[type="text"], @@ -555,11 +563,6 @@ body .button:hover, padding: 0.5em; } -.sidebar input[type="radio"], -.sidebar input[type="checkbox"] { - width: auto !important; -} - .sidebar input[type="file"] { padding: 0; } @@ -593,7 +596,7 @@ body .red:hover { .genesis-nav-menu .button:hover { background-color: #555; - border-color: #555; + border-color: #555; } body .blue { @@ -1061,8 +1064,12 @@ div.gform_wrapper { max-width: 100%; } -div.gform_wrapper input[type="email"], -div.gform_wrapper input[type="text"], +div.gform_wrapper input[type=text], +div.gform_wrapper input[type=url], +div.gform_wrapper input[type=email], +div.gform_wrapper input[type=tel], +div.gform_wrapper input[type=number], +div.gform_wrapper input[type=password], div.gform_wrapper textarea { font-size: 16px; font-size: 1.6rem; @@ -1169,10 +1176,11 @@ body .mapp-layout { .simple-section-nav .current_page_item > a, .simple-section-nav .current_page_ancestor > a { - + } -.simple-section-nav .current_page_item > a { +.simple-section-nav .current_page_item > a, +.simple-section-nav .custom-custom-post-type-parent > a { font-weight: bold; } @@ -1360,9 +1368,14 @@ Site Header .site-header .widget-area { width: 100%; - padding: 20px; background-color: #eee; border: 1px solid #ddd; + border-width: 0; + overflow: hidden; +} + +.site-header .widget-area.open { + padding: 20px; border-width: 1px 0; } @@ -1383,7 +1396,6 @@ Site Header .site-header .toggle-button { margin-left: 15px; - outline: none; } .site-header .toggle-button.open { @@ -1404,7 +1416,7 @@ Site Header .nav-primary, -.site-header .nav-primary, +/*.site-header .nav-primary,*/ .site-header .widget-area { position: absolute; top: 100%; @@ -1414,11 +1426,11 @@ Site Header opacity: 0; box-shadow: 0 4px 8px 1px rgba(0,0,0,0.4); -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; - -webkit-transition: all .5s ease; - -moz-transition: all .5s ease; - -ms-transition: all .5s ease; - -o-transition: all .5s ease; - transition: all .5s ease; + -webkit-transition: all .5s ease, padding 0s .5s; + -moz-transition: all .5s ease, padding 0s .5s; + -ms-transition: all .5s ease, padding 0s .5s; + -o-transition: all .5s ease, padding 0s .5s; + transition: all .5s ease, padding 0s .5s; } .site-container > .nav-primary { @@ -1430,7 +1442,12 @@ Site Header z-index: 50; max-height: 9999px; opacity: 1; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-transition: opacity .5s ease, padding 0s 0s; + -moz-transition: opacity .5s ease, padding 0s 0s; + -ms-transition: opacity .5s ease, padding 0s 0s; + -o-transition: opacity .5s ease, padding 0s 0s; + transition: opacity .5s ease, padding 0s 0s; } @@ -2084,19 +2101,19 @@ Media Queries font-size: 16px; font-size: 1.6rem; } - + } /* Responsive Tables CSS --------------------------------------------- */ @media (max-width: 600px) { - + table { clear: both; } tr { - padding: 0.5em; + padding: 0.5em; } th, @@ -2387,7 +2404,7 @@ Media Queries .five-sixths { width: 82.90598290598291%; } - + .first, .footer-widgets .footer-widgets-1 { clear: both; @@ -2556,7 +2573,7 @@ Media Queries /* Plugins --------------------------------------------- */ - + /* Events Manager */ .em-calendar-wrapper .fullcalendar tr { display: table-row !important;