WordPress.org

Plugin Directory

Changeset 611640


Ignore:
Timestamp:
10/12/12 18:55:50 (19 months ago)
Author:
cfinke
Message:

Syncing from .com:

  • Fixes for editing CSS on an iPad.
  • Reset the content_width setting when the theme is changed.
  • Preserve comments in the CSS shown in the editor, but minify the CSS served on the frontend.
Location:
jetpack/trunk/modules/custom-css
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • jetpack/trunk/modules/custom-css/csstidy/class.csstidy.php

    r607295 r611640  
    658658                            $this->selector .= $string{$i}; 
    659659                        } 
     660                        else if (ctype_space($string{$i}) && $this->get_cfg('preserve_css') && !$this->get_cfg('merge_selectors')) { 
     661                            $this->selector .= $string{$i}; 
     662                        } 
    660663                    } 
    661664                    break; 
  • jetpack/trunk/modules/custom-css/custom-css.php

    r607578 r611640  
    151151    $safecss_post = get_safecss_post(); 
    152152 
     153    $compressed_css = custom_css_minify( $css ); 
     154 
    153155    // If null, there was no original safecss record, so create one 
    154156    if ( null == $safecss_post ) { 
     
    161163        $post['post_status'] = 'publish'; 
    162164        $post['post_type'] = 'safecss'; 
     165        $post['post_content_filtered'] = $compressed_css; 
    163166 
    164167        // Set excerpt to current theme, for display in revisions list 
     
    178181    // Update CSS in post array with new value passed to this function 
    179182    $safecss_post['post_content'] = $css; 
     183    $safecss_post['post_content_filtered'] = $compressed_css; 
    180184 
    181185    // Set excerpt to current theme, for display in revisions list 
     
    213217 
    214218function safecss_init() { 
    215     define( 'SAFECSS_USE_ACE', apply_filters( 'safecss_use_ace', true ) ); 
     219    define( 'SAFECSS_USE_ACE', ! jetpack_is_mobile() && ! Jetpack_User_Agent_Info::is_ipad() && apply_filters( 'safecss_use_ace', true ) ); 
    216220 
    217221    // Register safecss as a custom post_type 
     
    275279        $csstidy = new csstidy(); 
    276280        $csstidy->optimise = new safecss($csstidy); 
    277         $csstidy->set_cfg('remove_bslash', false); 
    278         $csstidy->set_cfg('compress_colors', false); 
    279         $csstidy->set_cfg('compress_font-weight', false); 
    280         $csstidy->set_cfg('discard_invalid_properties', true); 
    281         $csstidy->set_cfg('merge_selectors', false); 
    282         $csstidy->set_cfg('remove_last_;', false); 
    283         $csstidy->set_cfg('css_level', 'CSS3.0'); 
    284         $csstidy->set_cfg('template', dirname( __FILE__ ) . '/csstidy/wordpress-standard.tpl'); 
     281 
     282        $csstidy->set_cfg( 'remove_bslash',              false ); 
     283        $csstidy->set_cfg( 'compress_colors',            false ); 
     284        $csstidy->set_cfg( 'compress_font-weight',       false ); 
     285        $csstidy->set_cfg( 'optimise_shorthands',        0 ); 
     286        $csstidy->set_cfg( 'remove_last_;',              false ); 
     287        $csstidy->set_cfg( 'case_properties',            false ); 
     288        $csstidy->set_cfg( 'discard_invalid_properties', true ); 
     289        $csstidy->set_cfg( 'css_level',                  'CSS3.0' ); 
     290        $csstidy->set_cfg( 'preserve_css',               true ); 
     291        $csstidy->set_cfg( 'template',                   dirname( __FILE__ ) . '/csstidy/wordpress-standard.tpl' ); 
    285292 
    286293        $css = $orig = stripslashes($_POST['safecss']); 
     
    364371} 
    365372 
    366 function safecss() { 
     373function safecss( $compressed = false ) { 
    367374    $default_css = apply_filters( 'safecss_get_css_error', false ); 
    368375 
     
    375382        if ( get_option( 'safecss_revision_migrated' ) ) { 
    376383            $safecss_post = get_safecss_post(); 
    377             $css = $safecss_post['post_content']; 
     384            $css = ( $compressed && $safecss_post['post_content_filtered'] ) ? $safecss_post['post_content_filtered'] : $safecss_post['post_content']; 
    378385        } else { 
    379386            $current_revision = get_current_revision(); 
     
    381388                $css = ''; 
    382389            } else { 
    383                 $css = $current_revision['post_content']; 
     390                $css = ( $compressed && $current_revision['post_content_filtered'] ) ? $current_revision['post_content_filtered'] : $current_revision['post_content']; 
    384391            } 
    385392        } 
     
    393400        } 
    394401    } 
    395  
    396     if ( 'safecss_preview' == $option ) { 
     402    else if ( 'safecss_preview' == $option ) { 
    397403        $safecss_post = get_current_revision(); 
    398404        $css = $safecss_post['post_content']; 
    399405        $css = stripslashes( $css ); 
     406        $css = custom_css_minify( $css ); 
    400407    } 
    401408 
     
    424431    do_action( 'safecss_print_pre' ); 
    425432 
    426     echo safecss(); 
     433    echo safecss( true ); 
    427434} 
    428435 
     
    679686#safecssform .button, 
    680687#safecssform .button-primary { 
    681     border-radius: 2em; 
    682688    padding: 7px 12px; 
     689    margin-left: 6px; 
    683690} 
    684691<?php 
     
    764771<div class="wrap"> 
    765772    <?php do_action( 'custom_design_header' ); ?> 
    766     <div id="poststuff" class="has-right-sidebar"> 
     773    <div id="poststuff" class="has-right-sidebar metabox-holder"> 
    767774    <h2><?php _e( 'CSS Stylesheet Editor', 'jetpack' ); ?></h2> 
    768775    <p class="css-support"><?php echo apply_filters( 'safecss_intro_text', __( 'New to CSS? Start with a <a href="http://www.htmldog.com/guides/cssbeginner/">beginner tutorial</a>. Questions? 
     
    938945} 
    939946 
     947/** 
     948 * Reset all aspects of Custom CSS on a theme switch so that changing 
     949 * themes is a sure-fire way to get a clean start. 
     950 */ 
    940951function custom_css_reset() { 
    941952    save_revision( '' ); 
    942953    update_option( 'safecss_rev', intval( get_option( 'safecss_rev' ) ) + 1 ); 
    943954    update_option( 'safecss_add', 'yes' ); 
     955    update_option( 'safecss_content_width', false ); 
    944956} 
    945957 
     
    952964    return false; 
    953965} 
     966 
     967function custom_css_minify( $css ) { 
     968    if ( ! $css ) 
     969        return ''; 
     970 
     971    safecss_class(); 
     972    $csstidy = new csstidy(); 
     973    $csstidy->optimise = new safecss( $csstidy ); 
     974 
     975    $csstidy->set_cfg( 'remove_bslash',              false ); 
     976    $csstidy->set_cfg( 'compress_colors',            true ); 
     977    $csstidy->set_cfg( 'compress_font-weight',       true ); 
     978    $csstidy->set_cfg( 'lowercase_s',                true ); 
     979    $csstidy->set_cfg( 'remove_last_;',              true ); 
     980    $csstidy->set_cfg( 'case_properties',            true ); 
     981    $csstidy->set_cfg( 'discard_invalid_properties', true ); 
     982    $csstidy->set_cfg( 'css_level',                  'CSS3.0' ); 
     983    $csstidy->set_cfg( 'template', 'highest'); 
     984    $csstidy->parse( $css ); 
     985 
     986    return $csstidy->print->plain(); 
     987} 
Note: See TracChangeset for help on using the changeset viewer.