17 Commits

Author SHA1 Message Date
Mickey Kay 51c177d85a Merge pull request #34 from MIGHTYminnow/fix/mobile-menu-jquery
Update jQuery to add +/- signs to mobile menu. Fixes #33.
2015-07-20 13:52:37 -05:00
Mickey Kay 69184c5f90 Merge pull request #36 from MIGHTYminnow/feature/add-img-check-function
Feature/add img check function
2015-07-20 13:36:07 -05:00
MickeyKay b52e7e3387 Add empty line at file end. 2015-07-20 11:31:19 -07:00
MickeyKay 59ec252bc4 Update comment 2015-07-20 11:27:49 -07:00
MickeyKay 331fd2e271 Add helper function to check if img has size. 2015-07-20 11:26:36 -07:00
Braad b1d4ec9775 Add screen-reader-text class to our stylesheet for accessibility
WordPress has been moving in the direction of better accessibility for themes, and as part of this they are encouraging the use of a standard class "screen-reader-text" on the front end of all themes. This change adds the official CSS recommended by core.

For more information see https://make.wordpress.org/themes/2015/01/26/supporting-screen-reader-text/ and https://codex.wordpress.org/CSS#WordPress_Generated_Classes
2015-07-13 11:11:43 -07:00
Braad Martin 974933f5c2 Fix CSS typo and move editor body style 2015-07-12 12:04:13 -07:00
Braad Martin 0ba318f54a Explicitly set the editor background color to white 2015-07-12 12:01:32 -07:00
Braad Martin 2b50585a14 Fix detection of logo for body class 2015-07-12 10:38:17 -07:00
Braad 4d104ab1f2 Add a class "logos" to the anchors that wrap the logos 2015-07-06 16:36:30 -07:00
MickeyKay a6b0a37771 Update jQuery to add +/- signs to mobile menu. Fixes #33. 2015-07-06 11:59:03 -07:00
Mickey Kay eb655a32e1 Merge pull request #32 from MIGHTYminnow/retina-logos
Add support for retina logos
2015-07-01 19:30:08 -07:00
Braad c8125f0d91 Merge pull request #30 from MIGHTYminnow/update-bfal
Update Better Font Awesome Library to 1.3.4
2015-06-30 22:08:56 -07:00
Braad Martin 81b17fd9b7 Add RICG Responsive Images to our recommended plugins list 2015-06-30 20:53:35 -07:00
Braad Martin 3e6432dc8d Add a mime type check, add an extra check on post revision number, and cleanup formatting 2015-06-30 20:37:00 -07:00
Braad Martin 8cd6b7ae9b Switch to storing logos by image ID and outputting them properly 2015-06-30 20:19:35 -07:00
Braad Martin 05448fdd0f Bump version number 2015-06-30 20:10:36 -07:00
6 changed files with 251 additions and 160 deletions
+1 -1
View File
@@ -49,7 +49,7 @@ function trestle_theme_setup() {
// Child theme definitions (do not remove). // Child theme definitions (do not remove).
define( 'TRESTLE_THEME_NAME', 'Trestle' ); define( 'TRESTLE_THEME_NAME', 'Trestle' );
define( 'TRESTLE_THEME_URL', 'http://demo.mightyminnow.com/theme/trestle/' ); define( 'TRESTLE_THEME_URL', 'http://demo.mightyminnow.com/theme/trestle/' );
define( 'TRESTLE_THEME_VERSION', '2.0.1' ); define( 'TRESTLE_THEME_VERSION', '2.1.0' );
define( 'TRESTLE_SETTINGS_FIELD', 'trestle-settings' ); define( 'TRESTLE_SETTINGS_FIELD', 'trestle-settings' );
// Setup default theme settings. // Setup default theme settings.
+8 -2
View File
@@ -19,8 +19,8 @@ function trestle_settings_defaults() {
// Trestle default key/value pairs. // Trestle default key/value pairs.
$trestle_defaults = array( $trestle_defaults = array(
'layout' => 'solid', 'layout' => 'solid',
'logo_url' => '', 'logo_id' => '',
'logo_url_mobile' => '', 'logo_id_mobile' => '',
'favicon_url' => '', 'favicon_url' => '',
'nav_primary_location' => 'full', 'nav_primary_location' => 'full',
'mobile_nav_toggle' => 'small-icon', 'mobile_nav_toggle' => 'small-icon',
@@ -210,6 +210,12 @@ function trestle_register_required_plugins() {
'required' => false, 'required' => false,
), ),
array(
'name' => 'RICG Responsive Images',
'slug' => 'ricg-responsive-images',
'required' => false,
),
array( array(
'name' => 'Widget Context', 'name' => 'Widget Context',
'slug' => 'widget-context', 'slug' => 'widget-context',
+13 -10
View File
@@ -55,44 +55,46 @@ function trestle_customizer_controls( $wp_customize ) {
// Upload a logo. // Upload a logo.
$wp_customize->add_setting( $wp_customize->add_setting(
'trestle-settings[logo_url]', 'trestle-settings[logo_id]',
array( array(
'default' => trestle_get_option( 'logo_url' ), 'default' => trestle_get_option( 'logo_id' ),
'type' => 'option', 'type' => 'option',
'capability' => 'edit_theme_options', 'capability' => 'edit_theme_options',
'sanitize_callback' => 'esc_url_raw', 'sanitize_callback' => 'absint',
) )
); );
$wp_customize->add_control( $wp_customize->add_control(
new WP_Customize_Image_Control( new WP_Customize_Media_Control(
$wp_customize, $wp_customize,
'trestle_logo_control', 'trestle_logo_control',
array( array(
'label' => __( 'Upload a logo', 'trestle' ), 'label' => __( 'Upload a logo', 'trestle' ),
'section' => 'trestle_settings_section', 'section' => 'trestle_settings_section',
'settings' => 'trestle-settings[logo_url]', 'settings' => 'trestle-settings[logo_id]',
'mime_type' => 'image',
) )
) )
); );
// Upload a mobile logo. // Upload a mobile logo.
$wp_customize->add_setting( $wp_customize->add_setting(
'trestle-settings[logo_url_mobile]', 'trestle-settings[logo_id_mobile]',
array( array(
'default' => trestle_get_option( 'logo_url_mobile' ), 'default' => trestle_get_option( 'logo_id_mobile' ),
'type' => 'option', 'type' => 'option',
'capability' => 'edit_theme_options', 'capability' => 'edit_theme_options',
'sanitize_callback' => 'esc_url_raw', 'sanitize_callback' => 'absint',
) )
); );
$wp_customize->add_control( $wp_customize->add_control(
new WP_Customize_Image_Control( new WP_Customize_Media_Control(
$wp_customize, $wp_customize,
'trestle_mobile_logo_control', 'trestle_mobile_logo_control',
array( array(
'label' => __( 'Upload a mobile logo', 'trestle' ), 'label' => __( 'Upload a mobile logo', 'trestle' ),
'section' => 'trestle_settings_section', 'section' => 'trestle_settings_section',
'settings' => 'trestle-settings[logo_url_mobile]', 'settings' => 'trestle-settings[logo_id_mobile]',
'mime_type' => 'image',
) )
) )
); );
@@ -210,6 +212,7 @@ function trestle_customizer_controls( $wp_customize ) {
'default' => trestle_get_option( 'revisions_number' ), 'default' => trestle_get_option( 'revisions_number' ),
'type' => 'option', 'type' => 'option',
'capability' => 'edit_theme_options', 'capability' => 'edit_theme_options',
'sanitize_callback' => 'absint',
) )
); );
$wp_customize->add_control( $wp_customize->add_control(
+71 -19
View File
@@ -195,7 +195,7 @@ function trestle_body_classes( $classes ) {
} }
// Add logo class. // Add logo class.
if ( trestle_get_option( 'logo_url' ) || trestle_get_option( 'logo_url_mobile' ) ) { if ( trestle_get_option( 'logo_id' ) || trestle_get_option( 'logo_id_mobile' ) ) {
$classes[] = 'has-logo'; $classes[] = 'has-logo';
} }
@@ -216,46 +216,59 @@ add_filter( 'genesis_seo_title', 'trestle_do_logos', 10, 3 );
*/ */
function trestle_do_logos( $title, $inside, $wrap ) { function trestle_do_logos( $title, $inside, $wrap ) {
$logo_url = trestle_get_option( 'logo_url' ); $logo_id = trestle_get_option( 'logo_id' );
$logo_url_mobile = trestle_get_option( 'logo_url_mobile' ); $logo_id_mobile = trestle_get_option( 'logo_id_mobile' );
$logo_html = ''; $logo_html = '';
// Regular logo. // Regular logo.
if ( $logo_url ) { if ( $logo_id ) {
// Default logo class. // Default logo classes.
$classes = array('logo-full'); $classes = array(
'logo',
'logo-full'
);
// If no mobile logo is specified, make regular logo act as mobile logo too. // If no mobile logo is specified, make regular logo act as mobile logo too.
if( ! $logo_url_mobile ) if( ! $logo_id_mobile ) {
$classes[] = 'show'; $classes[] = 'show';
}
$logo_html .= sprintf( '<img class="logo %s" alt="%s" src="%s" />', // Prepare the classes.
implode(' ', $classes), $logo_attr = array(
esc_attr( get_bloginfo( 'name' ) ), 'class' => implode( $classes, ' ' ),
$logo_url
); );
// Build the <img> tag.
$logo_html .= wp_get_attachment_image( $logo_id, 'full', false, $logo_attr );
} }
// Mobile logo. // Mobile logo.
if ( $logo_url_mobile ) { if ( $logo_id_mobile ) {
// Default mobile logo class. // Default mobile logo class.
$classes = array('logo-mobile'); $classes = array(
'logo',
'logo-mobile'
);
// If no regular logo is specified, make mobile logo act as regular logo too. // If no regular logo is specified, make mobile logo act as regular logo too.
if( ! $logo_url ) if( ! $logo_id )
$classes[] = 'show'; $classes[] = 'show';
$logo_html .= sprintf( '<img class="logo %s" alt="%s" src="%s" />', // Prepare the classes.
implode(' ', $classes), $logo_attr = array(
esc_attr( get_bloginfo( 'name' ) ), 'class' => implode( $classes, ' ' ),
$logo_url_mobile
); );
// Build the <img> tag.
$logo_html .= wp_get_attachment_image( $logo_id_mobile, 'full', false, $logo_attr );
} }
if ( $logo_html ) { if ( $logo_html ) {
$inside .= sprintf( '<a href="%s" title="%s">%s</a>', $inside .= sprintf( '<a href="%s" title="%s" class="logos">%s</a>',
trailingslashit( home_url() ), trailingslashit( home_url() ),
esc_attr( get_bloginfo( 'name' ) ), esc_attr( get_bloginfo( 'name' ) ),
$logo_html $logo_html
@@ -405,3 +418,42 @@ function trestle_read_more_link( $default_text ) {
return $default_text; return $default_text;
} }
} }
/*===========================================
* Helper Functions
===========================================*/
/**
* Check if image has specified image size.
*
* @since 2.2.0
*
* @param int $image_id ID of image to check.
* @param string $image_size Slug of image size to check for.
*
* @return true|false Whether or not the image has the specified size generated.
*/
function trestle_image_has_size( $image_id, $image_size = null ) {
global $_wp_additional_image_sizes;
// Return with error if no image_size is specified.
if ( ! $image_size ) {
return new WP_Error( 'no_image_size_specified', __( 'Please specify an image size.', 'trestle' ) );
}
// Get the attributes for the specified image size.
$image_size_atts = $_wp_additional_image_sizes[ $image_size ];
// Get data for specified image ID and size.
$img_data = wp_get_attachment_image_src( $image_id, $image_size );
// Check if the dimensions match.
if ( $img_data[1] == $image_size_atts['width'] && $img_data[2] == $image_size_atts['height'] ) {
return true;
}
return false;
}
+2 -2
View File
@@ -107,8 +107,8 @@ jQuery( document ).ready( function( $ ) {
var openIcon = '-'; var openIcon = '-';
// Insert the icons into the nav where appropriate. // 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( '<a class="sub-icon" href="#">' + closedIcon + '</a>' ); $( '.nav-primary' ).find( '.genesis-nav-menu .parent:not( [class*="current"] ) > a' ).after( '<a class="sub-icon" href="#">' + closedIcon + '</a>' );
$( '.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( '<a class="sub-icon" href="#">' + openIcon + '</a>' ); $( '.nav-primary' ).find( '.genesis-nav-menu .parent[class*="current"] > a' ).after( '<a class="sub-icon" href="#">' + openIcon + '</a>' );
// Mobile navigation expand/contract functionality. // Mobile navigation expand/contract functionality.
$( '.sub-icon' ).click( function( event ) { $( '.sub-icon' ).click( function( event ) {
+34 -4
View File
@@ -151,6 +151,10 @@ body {
line-height: 1.625; line-height: 1.625;
} }
body.bubble {
background-color: #f5f5f5;
}
/* Used in the editor */ /* Used in the editor */
body.mce-content-body { body.mce-content-body {
width: auto; width: auto;
@@ -158,10 +162,7 @@ body.mce-content-body {
float: none; float: none;
-webkit-font-smoothing: auto !important; -webkit-font-smoothing: auto !important;
font-smoothing: auto !important; font-smoothing: auto !important;
} background: #fff;
body.bubble {
background-color: #f5f5f5;
} }
a, a,
@@ -868,6 +869,35 @@ img.alignright,
text-align: center; text-align: center;
} }
/* Text meant only for screen readers. */
.screen-reader-text {
clip: rect(1px, 1px, 1px, 1px);
position: absolute !important;
height: 1px;
width: 1px;
overflow: hidden;
}
.screen-reader-text:focus {
background-color: #f1f1f1;
border-radius: 3px;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
clip: auto !important;
color: #21759b;
display: block;
font-size: 14px;
font-size: 0.875rem;
font-weight: bold;
height: auto;
left: 5px;
line-height: normal;
padding: 15px 23px 14px;
text-decoration: none;
top: 5px;
width: auto;
z-index: 100000; /* Above WP toolbar. */
}
/* Genesis /* Genesis
--------------------------------------------- */ --------------------------------------------- */