30 Commits

Author SHA1 Message Date
MickeyKay 21817ea81d Bump version number. 2015-06-08 17:31:29 -07:00
MickeyKay ddef43a7a5 Fix whitespace. 2015-06-08 17:08:35 -07:00
MickeyKay 6460223c7f Add Font Awesome optimization styles for all icon outputs in stylesheet. Fixes #18. 2015-06-08 17:05:16 -07:00
MickeyKay 02feca7265 Merge branch 'dev' of https://github.com/MIGHTYminnow/trestle into dev 2015-06-08 17:00:17 -07:00
MickeyKay c8b594d747 Remove extract() calls from shortcodes. Fixes #16. 2015-06-08 17:00:11 -07:00
MickeyKay 48a83ba64a Remove extract() calls from shortcodes. 2015-06-08 16:58:15 -07:00
MickeyKay f87fc1e50e Merge branch 'dev' of https://github.com/MIGHTYminnow/trestle into dev 2015-06-08 16:44:25 -07:00
MickeyKay d369ef6853 Update TGM Plugin Class list. Fixes #23. 2015-06-08 16:43:53 -07:00
MickeyKay 2faea53445 Update TGM Plugin Activation class recommened/required plugins list. 2015-06-08 16:41:26 -07:00
MickeyKay df35ff6560 Update TGM Plugin Activation class to version 2.4.2 2015-06-08 16:31:28 -07:00
MickeyKay d8d22e6def Fix missing /lib folder. 2015-06-08 16:18:52 -07:00
MickeyKay 7a5acbbe9a Move TGM Plugin Activation class into /lib and correct include paths for TGM and utilities.php 2015-06-08 16:15:52 -07:00
MickeyKay 88a3261cfd Update utilities.php location, include, and header. 2015-06-08 16:08:48 -07:00
Mickey Kay 7e5e7b03dc Merge pull request #22 from BraadMartin/trestle-log
Add new utilities.php and a custom logging function
2015-06-08 16:06:16 -07:00
Braad e45223311a Add new utilities.php with a custom logging function 2015-06-02 14:05:59 -07:00
Mickey Kay ed20653fbb Merge pull request #19 from BraadMartin/move-css
Move CSS enqueue to a later hook to come after plugins
2015-06-01 11:38:25 -07:00
Braad 68aa66d549 Move CSS enqueue to a later hook to come after plugins 2015-06-01 11:29:37 -07:00
Braad 03de45dadd Switch to using var to avoid hitting the DOM 2015-05-22 12:41:35 -07:00
Braad 851f5ff19d Move CSS for toggle buttons to a better selector 2015-05-22 12:35:34 -07:00
Braad 54eb9ab02c Add option for mobile nav toggle style 2015-05-22 12:19:57 -07:00
Braad 4b85568883 Set font-smoothing property for better font rendering in the editor 2015-05-20 11:09:51 -07:00
Braad Martin 7ec25a1c8d Bump the version number to 2.0.1 2015-05-19 20:25:55 -07:00
Braad ea717c00ff Include Lato in the editor 2015-05-14 00:58:14 -07:00
Braad 7ffeb0c85f Fix margins on content in the editor 2015-05-14 00:47:36 -07:00
Braad 9d30ddbed5 Fix BFA paths
- Introduce setup_root_url() from latest version of the Better Font Awesome Library
- Switch to using new root_url var in place of plugins_url()
- This fixes issue #13
2015-05-14 00:32:22 -07:00
MickeyKay 94f2276f7e Remove test comment. 2015-05-12 13:57:21 -07:00
MickeyKay 7e994c85e8 Merge branch 'master' of https://github.com/MIGHTYminnow/trestle 2015-05-12 13:56:44 -07:00
MickeyKay 86e64b007c Test comment 2015-05-12 13:56:17 -07:00
Mickey Kay 00be1d2046 Merge pull request #12 from BraadMartin/master
Fix for jQuery UI datepicker CSS issue
2015-05-12 13:34:46 -07:00
Braad f24364e114 Fix for jQuery UI datepicker CSS issue 2015-05-12 12:38:03 -07:00
11 changed files with 2620 additions and 2282 deletions
+5 -2
View File
@@ -28,11 +28,14 @@ require_once dirname( __FILE__ ) . '/includes/shortcodes/shortcodes.php';
require_once dirname( __FILE__ ) . '/includes/widget-areas/widget-areas.php';
// Plugin activation class.
require_once dirname( __FILE__ ) . '/includes/classes/class-tgm-plugin-activation.php';
require_once dirname( __FILE__ ) . '/lib/class-tgm-plugin-activation.php';
// Better Font Awesome Library.
require_once dirname( __FILE__ ) . '/lib/better-font-awesome-library/better-font-awesome-library.php';
// Dev utility functions.
require_once dirname( __FILE__ ) . '/includes/utilities/utilities.php';
add_action( 'genesis_setup', 'trestle_theme_setup', 15 );
/**
@@ -49,7 +52,7 @@ function trestle_theme_setup() {
// Child theme definitions (do not remove).
define( 'TRESTLE_THEME_NAME', 'Trestle' );
define( 'TRESTLE_THEME_URL', 'http://demo.mightyminnow.com/theme/trestle/' );
define( 'TRESTLE_THEME_VERSION', '2.0.0' );
define( 'TRESTLE_THEME_VERSION', '2.1.0' );
define( 'TRESTLE_SETTINGS_FIELD', 'trestle-settings' );
// Setup default theme settings.
Regular → Executable
+19 -55
View File
@@ -23,6 +23,7 @@ function trestle_settings_defaults() {
'logo_url_mobile' => '',
'favicon_url' => '',
'nav_primary_location' => 'full',
'mobile_nav_toggle' => 'small-icon',
'search_in_nav' => '',
'read_more_text' => __( 'Read More »', 'trestle' ),
'revisions_number' => 3,
@@ -85,7 +86,11 @@ add_action( 'admin_enqueue_scripts', 'trestle_admin_actions' );
*/
function trestle_admin_actions() {
// Include the main stylesheet in the editor
// Google fonts.
$font_url = str_replace( ',', '%2C', '//fonts.googleapis.com/css?family=Lato:300,400,700' );
add_editor_style( $font_url );
// Include the main stylesheet in the editor.
add_editor_style( get_stylesheet_uri() );
}
@@ -124,30 +129,6 @@ function trestle_register_required_plugins() {
'required' => false,
),
array(
'name' => 'Equal Height Columns',
'slug' => 'equal-height-columns',
'required' => false,
),
array(
'name' => 'Events Manager',
'slug' => 'events-manager',
'required' => false,
),
array(
'name' => 'Exclude Pages',
'slug' => 'exclude-pages',
'required' => false,
),
array(
'name' => 'Facebook Open Graph Meta Tags for WordPress',
'slug' => 'wonderm00ns-simple-facebook-open-graph-tags',
'required' => false,
),
array(
'name' => 'Easy FancyBox',
'slug' => 'easy-fancybox',
@@ -155,8 +136,14 @@ function trestle_register_required_plugins() {
),
array(
'name' => 'Genesis Featured Widget Amplified',
'slug' => 'genesis-featured-widget-amplified',
'name' => 'Equal Height Columns',
'slug' => 'equal-height-columns',
'required' => false,
),
array(
'name' => 'Exclude Pages',
'slug' => 'exclude-pages',
'required' => false,
),
@@ -172,30 +159,12 @@ function trestle_register_required_plugins() {
'required' => false,
),
array(
'name' => 'Jetpack by WordPress.com',
'slug' => 'jetpack',
'required' => false,
),
array(
'name' => 'MapPress Easy Google Maps',
'slug' => 'mappress-google-maps-for-wordpress',
'required' => false,
),
array(
'name' => 'My Page Order',
'slug' => 'my-page-order',
'required' => false,
),
array(
'name' => 'NextGen Gallery',
'slug' => 'nextgen-gallery',
'required' => false,
),
array(
'name' => 'Post Thumbnail Editor',
'slug' => 'post-thumbnail-editor',
@@ -214,12 +183,6 @@ function trestle_register_required_plugins() {
'required' => false,
),
array(
'name' => 'Social Media Widget',
'slug' => 'social-media-widget',
'required' => false,
),
array(
'name' => 'Widget Context',
'slug' => 'widget-context',
@@ -245,14 +208,15 @@ function trestle_register_required_plugins() {
),
array(
'name' => 'WP Hotkeys',
'slug' => 'wp-hotkeys',
'name' => 'WordPress SEO by Yoast',
'slug' => 'wordpress-seo',
'required' => false,
),
);
// Change this to your theme text domain, used for internationalising strings.
$theme_text_domain = 'mightyminnow';
$theme_text_domain = 'trestle';
/**
* Array of configuration settings. Amend each line as needed.
@@ -293,4 +257,4 @@ function trestle_register_required_plugins() {
);
tgmpa( $plugins, $config );
}
}
Regular → Executable
+23
View File
@@ -142,6 +142,29 @@ function trestle_customizer_controls( $wp_customize ) {
)
);
// Mobile nav toggle.
$wp_customize->add_setting(
'trestle-settings[mobile_nav_toggle]',
array(
'default' => trestle_get_option( 'mobile_nav_toggle' ),
'type' => 'option',
'capability' => 'edit_theme_options',
)
);
$wp_customize->add_control(
'trestle_mobile_nav_toggle_control',
array(
'section' => 'trestle_settings_section',
'settings' => 'trestle-settings[mobile_nav_toggle]',
'label' => __( 'Mobile Menu Toggle', 'trestle' ),
'type' => 'select',
'choices' => array(
'small-icon' => __( 'Small Icon', 'trestle' ),
'big-button' => __( 'Big Button', 'trestle' ),
)
)
);
// Primary nav extras.
$wp_customize->add_setting(
'trestle-settings[search_in_nav]',
File diff suppressed because it is too large Load Diff
+35 -8
View File
@@ -31,6 +31,18 @@ function trestle_add_theme_support() {
}
add_action( 'after_setup_theme', 'trestle_remove_genesis_css_enqueue' );
/**
* Stop Genesis from enqueuing the child theme stylesheet in the usual way.
*
* @since 2.1.0
*/
function trestle_remove_genesis_css_enqueue() {
remove_action( 'genesis_meta', 'genesis_load_stylesheet' );
}
/*===========================================
* 3rd Party Libraries
===========================================*/
@@ -63,7 +75,7 @@ function trestle_load_bfa() {
* Header
===========================================*/
add_action( 'wp_enqueue_scripts', 'trestle_header_actions' );
add_action( 'wp_enqueue_scripts', 'trestle_header_actions', 15 );
/**
* Loads theme scripts and styles.
*
@@ -71,12 +83,25 @@ add_action( 'wp_enqueue_scripts', 'trestle_header_actions' );
*/
function trestle_header_actions() {
// Our main stylesheet.
wp_enqueue_style( 'trestle', get_stylesheet_uri(), array(), TRESTLE_THEME_VERSION );
// Google fonts.
wp_enqueue_style( 'theme-google-fonts', '//fonts.googleapis.com/css?family=Lato:300,400,700' );
// Theme jQuery.
wp_enqueue_script( 'theme-jquery', get_stylesheet_directory_uri() . '/includes/js/theme-jquery.js', array( 'jquery' ), TRESTLE_THEME_VERSION, true );
// Prepare and include some necessary variables.
$mobile_nav_text = apply_filters( 'trestle_mobile_nav_text', __( 'Navigation', 'trestle' ) );
wp_localize_script(
'theme-jquery',
'trestle_vars',
array(
'mobile_nav_text' => esc_attr( $mobile_nav_text ),
)
);
// Get WP uploads directory.
$upload_dir = wp_upload_dir();
$upload_path = $upload_dir['basedir'];
@@ -132,22 +157,16 @@ function trestle_body_classes( $classes ) {
if ( 'bubble' == trestle_get_option( 'layout' ) )
$classes[] = 'bubble';
/**
* Add link icon classes.
*/
// Add link icon classes.
if ( trestle_get_option( 'external_link_icons' ) ) {
$classes[] = 'external-link-icons';
}
if ( trestle_get_option( 'email_link_icons' ) ) {
$classes[] = 'email-link-icons';
}
if ( trestle_get_option( 'pdf_link_icons' ) ) {
$classes[] = 'pdf-link-icons';
}
if ( trestle_get_option( 'doc_link_icons' ) ) {
$classes[] = 'doc-link-icons';
}
@@ -158,6 +177,14 @@ function trestle_body_classes( $classes ) {
$classes[] = 'nav-primary-location-' . $nav_primary_location;
}
// Add mobile menu toggle class.
$mobile_nav_toggle = esc_attr( trestle_get_option( 'mobile_nav_toggle' ) );
if ( 'big-button' == $mobile_nav_toggle ) {
$classes[] = 'big-button-nav-toggle';
} elseif ( 'small-icon' == $mobile_nav_toggle ) {
$classes[] = 'small-icon-nav-toggle';
}
// Add footer widget number class.
$footer_widgets_number = esc_attr( trestle_get_option( 'footer_widgets_number' ) );
if ( $footer_widgets_number ) {
Regular → Executable
+110 -95
View File
@@ -6,137 +6,152 @@
* @package Trestle
*/
// Executes when the document is ready
// Executes when the document is ready.
jQuery( document ).ready( function( $ ) {
// Remove .no-jquery body class
$( 'body' ).removeClass( 'no-jquery' );
// Store selectors we use multiple times.
$body = $( 'body' );
// External Links
var h = window.location.host.toLowerCase();
$( '[href^="http"]' ).not( '[href*="' + h + '"]' ).addClass( 'external-link' ).attr( "target", "_blank" );
// Remove .no-jquery body class.
$body.removeClass( 'no-jquery' );
// 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' );
// External Links.
var h = window.location.host.toLowerCase();
$( '[href^="http"]' ).not( '[href*="' + h + '"]' ).addClass( 'external-link' ).attr( "target", "_blank" );
// 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 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' );
// Create mobile header toggle buttons
$( '.site-header .title-area' ).after( '<div class="toggle-buttons" />' );
$( '.site-header .widget-area, .nav-primary' ).each( function( i ) {
// Add classes to parts of lists.
$( 'li:last-child' ).addClass( 'last' );
$( 'li:first-child' ).addClass( 'first' );
$( 'ul, ol' ).parent( 'li' ).addClass( 'parent' );
// Store target
$target = $( this );
// Create container for toggle buttons.
if ( $body.hasClass( 'big-button-nav-toggle' ) ) {
$( '.site-header' ).after( '<div class="header-toggle-buttons" />' );
} else {
$( '.site-header .title-area' ).after( '<div class="header-toggle-buttons" />' );
}
// Scope variables
var $target, buttonClass, targetClass;
// Add either small icon toggles or big button toggle.
$( '.site-header .widget-area, .nav-primary' ).each( function( i ) {
// Setup classes
buttonClass = 'toggle-button';
targetClass = $target.attr( 'class' ).split( /\s+/ );
// Store target.
$target = $( this );
// Add targets-[] class to buttonClass
$.each( targetClass, function( index, value ) {
buttonClass += ' targets-' + value;
});
// Scope variables.
var $target, buttonClass, targetClass;
// Add nav-toggle class to buttonClass if the button is for the nav
if ( $target.is( 'nav' ) ) {
buttonClass += ' nav-toggle';
}
// Setup classes.
buttonClass = 'toggle-button';
targetClass = $target.attr( 'class' ).split( /\s+/ );
// Add toggle buttons to header
$( '.toggle-buttons' ).prepend( '<a id="toggle-button-' + i + '" class="' + buttonClass + '" href="#">Toggle</a>' );
// Add targets-[] class to buttonClass.
$.each( targetClass, function( index, value ) {
buttonClass += ' targets-' + value;
});
// Add target class to nav and widget areas
$target.addClass( 'toggle-target-' + i );
});
// Add nav-toggle class to buttonClass if the button is for the nav.
if ( $target.is( 'nav' ) ) {
buttonClass += ' nav-toggle';
}
// A widget areas and primary nav mobile toggle functionality
$( '.site-header .toggle-button' ).click( function( event ) {
// Allow the use of custom text when using the 'big-button' mobile nav style.
if ( $target.is( 'nav' ) && $body.hasClass( 'big-button-nav-toggle' ) ) {
navText = trestle_vars['mobile_nav_text'];
} else {
navText = 'Toggle';
}
// Prevent default behavior
event.preventDefault();
// Add toggle buttons to header.
$( '.header-toggle-buttons' ).prepend( '<a id="toggle-button-' + i + '" class="' + buttonClass + '" href="#">' + navText + '</a>' );
// Scope our variables
var $button, $target;
// Add target class to nav and widget areas.
$target.addClass( 'toggle-target-' + i );
});
// Get toggle button that was clicked
$button = $( this );
// A widget areas and primary nav mobile toggle functionality.
$( '.header-toggle-buttons .toggle-button' ).click( function( event ) {
// Match the button to the right target
$target = $( '.toggle-target-' + $button.attr( 'id' ).match( /\d+/ ) );
console.log( 'Target: ' + $target.attr('class'));
// Prevent default behavior.
event.preventDefault();
// Toggle buttons
$button.toggleClass( 'open' );
$( '.site-header .toggle-button' ).not( $button ).removeClass( 'open' );
// Scope our variables.
var $button, $target;
// Toggle targets
$target.toggleClass( 'open' );
$( '[class*="toggle-target"]' ).not( $target ).removeClass( 'open' );
// Get toggle button that was clicked.
$button = $( this );
// Remove focus
$button.blur();
// Match the button to the right target.
$target = $( '.toggle-target-' + $button.attr( 'id' ).match( /\d+/ ) );
});
// Toggle buttons.
$button.toggleClass( 'open' );
$( '.header-toggle-buttons .toggle-button' ).not( $button ).removeClass( 'open' );
// Mobile navigation icons
var closedIcon = '+';
var openIcon = '-';
// Toggle targets.
$target.toggleClass( 'open' );
$( '[class*="toggle-target"]' ).not( $target ).removeClass( 'open' );
// 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.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>' );
// Remove focus.
$button.blur();
// Mobile navigation expand/contract functionality
$( '.sub-icon' ).click( function( event ) {
});
// Prevent default behavior
event.preventDefault();
// Mobile navigation icons.
var closedIcon = '+';
var openIcon = '-';
// Get icon click
var $icon = $( this );
// 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.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>' );
// Remove focus
$icon.blur();
// Mobile navigation expand/contract functionality.
$( '.sub-icon' ).click( function( event ) {
// Expand/contract
$icon.next( 'ul' ).slideToggle().toggleClass( 'open' );
// Prevent default behavior.
event.preventDefault();
// 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 );
}
});
// Get icon click.
var $icon = $( this );
// Header widget area expand/contract functionality
$( '.widget-area-toggle' ).click( function( event ) {
// Remove focus.
$icon.blur();
// Prevent default behavior
event.preventDefault();
// Expand/contract.
$icon.next( 'ul' ).slideToggle().toggleClass( 'open' );
// Get button clicked
var $button = $( this );
// 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 );
}
});
// Remove focus
$button.blur();
// Header widget area expand/contract functionality.
$( '.widget-area-toggle' ).click( function( event ) {
// Expand/contract
$button.toggleClass( 'open' ).next( '.widget-area' ).slideToggle();
});
// Prevent default behavior.
event.preventDefault();
// Executes when complete page is fully loaded, including all frames, objects, and images
$( window ).on( 'load', function() {
// Get button clicked.
var $button = $( this );
});
// Remove focus.
$button.blur();
// 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() {
});
}); /* end of page load scripts */
+22 -12
View File
@@ -50,10 +50,13 @@ add_shortcode( 'col', 'trestle_column' );
* @return string Shortcode output.
*/
function trestle_column( $atts, $content = null ) {
extract( shortcode_atts( array(
$atts = shortcode_atts( array(
'class' => '',
), $atts ) );
return '<div class="col ' . $class . '">' . do_shortcode( $content ) . '</div>';
), $atts );
return '<div class="col ' . $atts['class'] . '">' . do_shortcode( $content ) . '</div>';
}
add_shortcode( 'button', 'trestle_button' );
@@ -67,13 +70,16 @@ add_shortcode( 'button', 'trestle_button' );
* @return string Shortcode output.
*/
function trestle_button( $atts, $content = null ) {
extract( shortcode_atts( array(
$atts = shortcode_atts( array(
'href' => '#',
'target' => '',
'title' => '',
'class' => '',
), $atts ) );
return '<a class="button ' . $class . '" href="' . $href . '" title="' . $title . '" target="' . $target . '">' . do_shortcode( $content ) . '</a>';
), $atts );
return '<a class="button ' . $atts['class'] . '" href="' . $atts['href'] . '" title="' . $atts['title'] . '" target="' . $atts['target'] . '">' . do_shortcode( $content ) . '</a>';
}
add_shortcode( 'date', 'trestle_date' );
@@ -87,15 +93,17 @@ add_shortcode( 'date', 'trestle_date' );
* @return string Shortcode output.
*/
function trestle_date( $atts ) {
extract( shortcode_atts( array(
'format' => 'M d, Y',
), $atts ) );
if ( ! $format ) {
$format = 'M d, Y';
$atts = shortcode_atts( array(
'format' => 'M d, Y',
), $atts );
if ( ! $atts['format'] ) {
$atts['format'] = 'M d, Y';
}
return date( $format );
return date( $atts['format'] );
}
add_shortcode( 'blockquote', 'trestle_blockquote_shortcode' );
@@ -111,6 +119,7 @@ add_shortcode( 'blockquote', 'trestle_blockquote_shortcode' );
* @return string Shortcode output.
*/
function trestle_blockquote_shortcode( $atts, $content = null ) {
$atts = shortcode_atts( array(
'citation' => '',
), $atts );
@@ -134,4 +143,5 @@ function trestle_blockquote_shortcode( $atts, $content = null ) {
$output = ob_get_clean();
return $output;
}
+21
View File
@@ -0,0 +1,21 @@
<?php
/**
* Development utility functions.
*
* @since 2.1.0
*
* @package Trestle
*/
/**
* Custom logging function for development purposes.
*/
function trestle_log( $log ) {
if ( true === WP_DEBUG ) {
if ( is_array( $log ) || is_object( $log ) ) {
error_log( print_r( $log, true ) );
} else {
error_log( $log );
}
}
}
@@ -308,6 +308,9 @@ class Better_Font_Awesome_Library {
// Parse the initialization args with the defaults.
$this->parse_args( $args );
// Setup root URL, which differs for plugins vs. themes.
$this->setup_root_url();
// Set fallback stylesheet directory URL and path.
$this->setup_fallback_data();
@@ -345,6 +348,45 @@ class Better_Font_Awesome_Library {
}
/**
* Set up root URL for library, which differs for plugins vs. themes.
*
* @since 1.0.4
*/
function setup_root_url() {
// Get BFA directory and theme root directory paths.
$bfa_directory = dirname(__FILE__);
$theme_directory = get_stylesheet_directory();
$plugin_dir = plugin_dir_url( __FILE__ );
/**
* Check if we're inside a theme or plugin.
*
* If we're in a theme, than plugin_dir_url() will return a
* funky URL that includes the actual file path (e.g.
* /srv/www/site_name/wp-content/...)
*/
$is_theme = false;
if ( strpos( $plugin_dir, $bfa_directory ) !== false ) {
$is_theme = true;
}
// First check if we're inside a theme.
if ( $is_theme ) {
// Get relative BFA directory by removing theme root directory path.
$bfa_rel_path = str_replace( $theme_directory, '', $bfa_directory );
$this->root_url = trailingslashit( get_stylesheet_directory_uri() . $bfa_rel_path );
} else { // Otherwise we're inside a plugin.
$this->root_url = trailingslashit( plugin_dir_url( __FILE__ ) );
}
}
/**
* Set up data for the local fallback version of Font Awesome.
*
@@ -366,7 +408,7 @@ class Better_Font_Awesome_Library {
// Set fallback path and URL.
$this->fallback_data['path'] = $directory_path . 'css/font-awesome' . $this->get_min_suffix() . '.css';
$this->fallback_data['url'] = plugins_url( $this->fallback_data['directory'] . 'css/font-awesome' . $this->get_min_suffix() . '.css', dirname( $directory_path ) );
$this->fallback_data['url'] = $this->root_url . $this->fallback_data['directory'] . 'css/font-awesome' . $this->get_min_suffix() . '.css';
// Get the fallback version based on package.json.
$fallback_json_file_path = $directory_path . 'package.json';
@@ -965,9 +1007,9 @@ class Better_Font_Awesome_Library {
* being used.
*/
if ( version_compare( $tinymce_version, '4000', '>=' ) ) {
$plugin_array['bfa_plugin'] = plugins_url( 'js/tinymce-icons.js', __FILE__ );
$plugin_array['bfa_plugin'] = $this->root_url . 'js/tinymce-icons.js';
} else {
$plugin_array['bfa_plugin'] = plugins_url( 'js/tinymce-icons-old.js', __FILE__ );
$plugin_array['bfa_plugin'] = $this->root_url . 'js/tinymce-icons-old.js';
}
return $plugin_array;
@@ -1013,7 +1055,7 @@ class Better_Font_Awesome_Library {
* @since 1.0.0
*/
public function register_custom_admin_css() {
wp_enqueue_style( self::SLUG . '-admin-styles', plugins_url( 'css/admin-styles.css', __FILE__ ) );
wp_enqueue_style( self::SLUG . '-admin-styles', $this->root_url . 'css/admin-styles.css' );
}
/**
+2209
View File
File diff suppressed because it is too large Load Diff
Regular → Executable
+130 -20
View File
@@ -5,10 +5,10 @@
Description: Trestle is a Genesis child theme for developers based on the default <a href="http://www.genesisframework.com/">Genesis 2.0 Sample Theme</a>. It features mobile first CSS, helpful theme options, and lots more tools to support your development process.
Author: MIGHTYminnow
Author URI: http://www.mightyminnow.com/
Version: 1.1.0
Version: 2.1.0
Tags: black, gray, red, white, light, one-column, two-columns, three-columns, left-sidebar, right-sidebar, fluid-layout, responsive-layout, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-images, flexible-header, front-page-post-form, full-width-template, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready, genesis, mobile-first, responsive, clean
Text Domain: trestle
GitHub Theme URI: mickeykay/trestle
GitHub Theme URI: MIGHTYminnow/trestle
*/
/* Table of Contents
@@ -151,8 +151,13 @@ body {
line-height: 1.625;
}
/* Used in the editor */
body.mce-content-body {
width: 100%; /* Used in the editor */
width: auto;
margin: 10px;
float: none;
-webkit-font-smoothing: auto !important;
font-smoothing: auto !important;
}
body.bubble {
@@ -325,6 +330,11 @@ a:hover {
margin: 0 4px;
white-space: nowrap;
font-family: FontAwesome;
font-weight: normal;
font-stretch: normal;
font-style: normal;
font-variant: normal;
-webkit-font-smoothing: antialiased;
}
.external-link-icons .external-link:after {
@@ -619,18 +629,24 @@ body .green:hover {
border-color: #333;
}
.arrow-right:after {
.arrow-right:after,
.arrow-left:before {
display: inline-block;
content: "\00a0\00a0\f0a9";
font-family: FontAwesome;
font-weight: normal;
font-stretch: normal;
font-style: normal;
font-variant: normal;
line-height: 1;
-webkit-font-smoothing: antialiased;
}
.arrow-right:after {
content: "\00a0\00a0\f0a9";
}
.arrow-left:before {
display: inline-block;
content: "\f0a8\00a0\00a0";
font-family: FontAwesome;
line-height: 1;
}
/* Tables
@@ -673,6 +689,10 @@ Structure and Layout
/* Site Containers
--------------------------------------------- */
.site-container {
position: relative;
}
.site-inner,
.wrap {
margin: 0 auto;
@@ -1286,6 +1306,11 @@ th a.wpv-header-desc:after {
margin-left: 0.5em;
font-family: FontAwesome;
font-size: 0.7em;
font-weight: normal;
font-stretch: normal;
font-style: normal;
font-variant: normal;
-webkit-font-smoothing: antialiased;
}
th a.wpv-header-desc:after {
@@ -1385,31 +1410,72 @@ Site Header
/* Header Toggle Styles
--------------------------------------------- */
.site-header .toggle-buttons {
.header-toggle-buttons {
font-size: 0;
text-align: right;
}
.site-header .toggle-button {
.header-toggle-buttons .toggle-button {
margin-left: 15px;
}
.site-header .toggle-button.open {
.header-toggle-buttons .toggle-button.open {
color: #f15123;
}
.site-header .toggle-button:before {
.header-toggle-buttons .toggle-button:before {
content: "\f002";
font-family: FontAwesome;
font-weight: normal;
font-stretch: normal;
font-style: normal;
font-variant: normal;
-webkit-font-smoothing: antialiased;
font-size: 28px;
font-size: 2.8rem;
line-height: 1;
}
.site-header .toggle-button.nav-toggle:before {
.header-toggle-buttons .toggle-button.nav-toggle:before {
content: "\f0c9";
}
.big-button-nav-toggle .header-toggle-buttons .nav-toggle {
display: block;
background-color: #333;
color: #fff;
margin-left: 0;
font-size: 16px;
font-size: 1.6rem;
padding: 15px 26px;
padding: 1.5rem 2.6rem;
margin: 0 20px;
margin: 0 2rem;
text-align: center;
border-radius: 3px;
text-transform: uppercase;
-webkit-transition: all 0s;
-moz-transition: all 0s;
-ms-transition: all 0s;
-o-transition: all 0s;
transition: all 0s;
}
.big-button-nav-toggle .header-toggle-buttons .nav-toggle:before {
content: "\f0ca";
margin-right: 8px;
font-size: 16px;
font-size: 1.6rem;
}
.big-button-nav-toggle .header-toggle-buttons .targets-widget-area {
position: absolute;
right: 20px;
right: 2rem;
top: 20px;
top: 2rem;
}
.nav-primary,
.site-header .widget-area {
position: absolute;
@@ -1443,7 +1509,6 @@ Site Header
transition: z-index 0s ease, opacity 0.25s 0s;
}
/*
Site Navigation
---------------------------------------------------------------------------------------------------- */
@@ -1586,6 +1651,12 @@ Site Navigation
padding-right: 5rem;
}
.big-button-nav-toggle .nav-primary {
margin: 4px 20px 0;
margin: 0.4rem 2rem 0;
border-radius: 3px;
box-shadow: none;
}
/* Navigation Extras
--------------------------------------------- */
@@ -1615,8 +1686,10 @@ Site Navigation
}
.genesis-nav-menu > .right .search-form {
display: inline-block;
padding: 8px 0;
display: block;
padding: 0;
margin: 0 auto;
text-align: center;
}
.genesis-nav-menu > .right input[type="submit"] {
@@ -1667,6 +1740,7 @@ Site Navigation
/* Header Primary Navigation
--------------------------------------------- */
.site-header .nav-primary {
margin: 0;
}
@@ -1679,8 +1753,6 @@ Site Navigation
padding-right: 0;
}
/* Non jQuery Styles
--------------------------------------------- */
@@ -2023,6 +2095,19 @@ Site Footer
General Components
---------------------------------------------------------------------------------------------------- */
/* jQuery UI
--------------------------------------------- */
/* Datepicker */
table.ui-datepicker-calendar {
line-height: 1;
}
.ui-datepicker select {
width: auto;
}
/* Search Form
--------------------------------------------- */
@@ -2211,6 +2296,7 @@ Media Queries
/* Header Toggle Styles
--------------------------------------------- */
.nav-primary,
.site-header .nav-primary,
.site-header .widget-area {
@@ -2229,11 +2315,11 @@ Media Queries
background-color: transparent;
}
.site-header .toggle-button {
.header-toggle-buttons .toggle-button,
.big-button-nav-toggle .header-toggle-buttons .toggle-button.nav-toggle {
display: none;
}
/* Content
--------------------------------------------- */
@@ -2482,6 +2568,11 @@ Media Queries
display: inline-block;
}
.genesis-nav-menu > .right .search-form {
display: inline-block;
padding: 8px 0;
}
/* Sub Menus
--------------------------------------------- */
@@ -2508,6 +2599,11 @@ Media Queries
margin-left: 8px;
font-family: FontAwesome;
font-size: .6em;
font-weight: normal;
font-stretch: normal;
font-style: normal;
font-variant: normal;
-webkit-font-smoothing: antialiased;
}
.genesis-nav-menu ul .parent > a:after {
@@ -2517,6 +2613,11 @@ Media Queries
margin: 0;
font-family: FontAwesome;
font-size: .8em;
font-weight: normal;
font-stretch: normal;
font-style: normal;
font-variant: normal;
-webkit-font-smoothing: antialiased;
line-height: 1.5;
}
@@ -2536,8 +2637,17 @@ Media Queries
margin-left: -1px;
}
/* Primary Navigation
--------------------------------------------- */
.big-button-nav-toggle .nav-primary {
margin: 0;
border-radius: 0;
}
/* Header Primary Navigation
--------------------------------------------- */
.site-header .nav-primary {
background-color: transparent;
text-align: right;