Esempio n. 1
0
 public static function get()
 {
     if (!is_a(self::$_instance, get_class())) {
         self::$_instance = new Youxi_LESS_Compiler();
     }
     return self::$_instance;
 }
Esempio n. 2
0
 function helium_wp_enqueue_script()
 {
     /* Get theme version */
     $wp_theme = wp_get_theme();
     $theme_version = $wp_theme->exists() ? $wp_theme->get('Version') : false;
     /* Get script debug status */
     $script_debug = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG;
     $suffix = $script_debug ? '' : '.min';
     /* Enqueue Core Styles */
     wp_enqueue_style('helium-bootstrap', get_template_directory_uri() . "/assets/bootstrap/css/bootstrap{$suffix}.css", array(), '3.3.5', 'screen');
     wp_enqueue_style('helium-core', get_stylesheet_uri(), array('helium-bootstrap'), $theme_version, 'screen');
     /* Enqueue Google Fonts */
     if ($google_fonts_url = Youxi_Font::google_font_request_url()) {
         wp_enqueue_style('helium-google-fonts', $google_fonts_url, array(), $theme_version, 'screen');
     }
     /* Enqueue Icons */
     wp_enqueue_style('font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css', array(), '4.4.0', 'screen');
     /* Make sure the LESS compiler exists */
     if (!class_exists('Youxi_LESS_Compiler')) {
         require_once get_template_directory() . '/lib/framework/class-less-compiler.php';
     }
     $less_compiler = Youxi_LESS_Compiler::get();
     /* Prepare variables */
     $theme_options_vars = array();
     /* Get the accent color setting */
     $brand_primary = Youxi()->option->get('accent_color', helium_default_accent_color());
     /* Custom accent color styles */
     if (helium_default_accent_color() !== $brand_primary) {
         wp_add_inline_style('helium-bootstrap', $less_compiler->compile('/assets/less/mods/bootstrap.less', array('bs-override' => array('brand-primary' => $brand_primary))));
         $theme_options_vars['brand-primary'] = $brand_primary;
     }
     /* Custom theme styles */
     if ($header_logo_height = absint(Youxi()->option->get('logo_height'))) {
         $theme_options_vars['logo-height'] = sprintf('%dpx', $header_logo_height);
     }
     /* Add custom styles from theme options */
     $theme_options_css = $less_compiler->compile('/assets/less/mods/theme-options.less', array('theme-options' => $theme_options_vars));
     if (!is_wp_error($theme_options_css)) {
         wp_add_inline_style('helium-core', $theme_options_css);
     }
     /* Add custom fonts from theme options */
     $font_less_vars = Youxi_Font::get_less_vars();
     if (!empty($font_less_vars)) {
         $theme_fonts_css = $less_compiler->compile('/assets/less/mods/theme-fonts.less', array('theme-fonts' => $font_less_vars));
         if (!is_wp_error($theme_fonts_css)) {
             wp_add_inline_style('helium-core', $theme_fonts_css);
         }
     }
     /* Custom user styles */
     $custom_css = trim(Youxi()->option->get('custom_css'));
     if ($custom_css) {
         wp_add_inline_style('helium-core', $custom_css);
     }
     /* Core */
     if ($script_debug) {
         wp_enqueue_script('helium-plugins', get_template_directory_uri() . "/assets/js/helium.plugins.js", array('jquery'), $theme_version, true);
         wp_enqueue_script('helium-gridlist', get_template_directory_uri() . "/assets/js/helium.gridlist.js", array('jquery'), $theme_version, true);
         wp_enqueue_script('helium-core', get_template_directory_uri() . "/assets/js/helium.setup.js", array('jquery', 'helium-plugins', 'helium-gridlist'), $theme_version, true);
     } else {
         wp_enqueue_script('helium-core', get_template_directory_uri() . "/assets/js/helium.min.js", array('jquery'), $theme_version, true);
     }
     /* AJAX */
     $ajax_enabled = Youxi()->option->get('ajax_navigation');
     if ($ajax_enabled) {
         wp_enqueue_script('helium-ajax', get_template_directory_uri() . "/assets/js/helium.ajax{$suffix}.js", array('helium-core'), $theme_version, true);
     }
     /* Enqueue wp-mediaelement if AJAX is enabled */
     if ($ajax_enabled) {
         wp_enqueue_script('wp-mediaelement');
     }
     /* Enqueue Magnific Popup */
     wp_enqueue_script('helium-mfp', get_template_directory_uri() . "/assets/plugins/mfp/jquery.mfp-1.0.0{$suffix}.js", array('jquery'), '1.0.0', true);
     wp_enqueue_style('helium-mfp', get_template_directory_uri() . "/assets/plugins/mfp/mfp.css", array(), '1.0.0', 'screen');
     /* Enqueue Isotope */
     wp_enqueue_script('helium-isotope', get_template_directory_uri() . "/assets/plugins/isotope/isotope.pkgd{$suffix}.js", array('jquery'), '2.2.0', true);
     /* Enqueue RoyalSlider */
     wp_enqueue_script('helium-royalslider', get_template_directory_uri() . "/assets/plugins/royalslider/jquery.royalslider-9.5.7.min.js", array('jquery'), '9.5.7', true);
     wp_enqueue_style('helium-royalslider', get_template_directory_uri() . "/assets/plugins/royalslider/royalslider{$suffix}.css", array(), '1.0.5', 'screen');
     /* Enqueue Google Maps */
     wp_enqueue_script('helium-gmap3', get_template_directory_uri() . "/assets/plugins/gmap/gmap3{$suffix}.js", array('jquery'), '6.0.0.', true);
     /* Pass configuration to frontend */
     wp_localize_script('helium-core', '_helium', apply_filters('helium_js_vars', array('ajaxUrl' => admin_url('admin-ajax.php'), 'homeUrl' => home_url('/'))));
     /* Enqueue AddThis script on singular pages */
     if (is_singular(array('post', 'portfolio', 'download')) || $ajax_enabled) {
         $addthis_config = array('ui_delay' => 100);
         if ($addthis_profile_id = Youxi()->option->get('addthis_profile_id')) {
             $addthis_config['pubid'] = $addthis_profile_id;
         }
         wp_enqueue_script('helium-addthis', '//s7.addthis.com/js/300/addthis_widget.js', array(), 300, true);
         wp_localize_script('helium-addthis', 'addthis_config', $addthis_config);
     }
     /* Enqueue comment-reply */
     if ((is_singular(array('post', 'portfolio', 'download')) || $ajax_enabled) && comments_open() && get_option('thread_comments')) {
         wp_enqueue_script('comment-reply');
     }
 }