WordPress.org

Make WordPress Core

Ticket #28539: 28539.patch

File 28539.patch, 9.5 KB (added by iseulde, 6 years ago)
  • src/wp-admin/js/post.js

     
    10801080                                        body = editor.getBody();
    10811081                                        body.className = body.className.replace( /\bpost-format-[^ ]+/, '' );
    10821082                                        editor.dom.addClass( body, format == 'post-format-0' ? 'post-format-standard' : format );
     1083                                        editor.setUIColor();
    10831084                                }
    10841085                        }
    10851086                });
  • src/wp-includes/js/mce-view.js

     
    869869                }
    870870        } ) );
    871871
     872        wp.mce.views.register( 'more', {
     873                toView: function( content ) {
     874                        var re = /<!--(more|nextpage)\s?(.*?)-->/gi,
     875                                match = re.exec( content );
     876
     877                        if ( ! match ) {
     878                                return;
     879                        }
     880
     881                        return {
     882                                index: match.index,
     883                                content: match[0],
     884                                options: {
     885                                        _type: match[1],
     886                                        text: match[2]
     887                                }
     888                        };
     889                },
     890                View: {
     891                        initialize: function( options ) {
     892                                this.text = options.text;
     893                                this._type = options._type;
     894                        },
     895                        getHtml: function() {
     896                                var text;
     897
     898                                if ( this._type === 'nextpage' ) {
     899                                        text = 'NEXT PAGE';
     900                                } else if ( this.text ) {
     901                                        text = this.text;
     902                                } else {
     903                                        text = 'MORE';
     904                                }
     905
     906                                return '<p><span>' + text + '</span></p>';
     907                        }
     908                }
     909        } );
     910
    872911}(jQuery));
  • src/wp-includes/js/tinymce/plugins/wordpress/plugin.js

     
    77        var DOM = tinymce.DOM, wpAdvButton, modKey, style,
    88                last = 0;
    99
     10        editor.setUIColor = function( selector, property ) {
     11                var dom = this.dom,
     12                        fn = this.setUIColor,
     13                        style = '',
     14                        bodyColor;
     15
     16                fn.colors = fn.colors || [];
     17
     18                if ( selector ) {
     19                        fn.colors.push( {
     20                                selector: selector,
     21                                property: property || 'color'
     22                        } );
     23                } else {
     24                        bodyColor = dom.getStyle( this.getBody(), 'color', true );
     25                        tinymce.each( fn.colors, function( color ) {
     26                                style += color.selector + '{' + color.property + ':' + bodyColor + ';}';
     27                        } );
     28       
     29                        if ( fn.styleElement ) {
     30                                dom.setHTML( fn.styleElement, style );
     31                        } else {
     32                                fn.styleElement = dom.create( 'style', { type: 'text/css' }, style );
     33                                this.getDoc().head.appendChild( fn.styleElement );
     34                        }
     35                }
     36        };
     37
    1038        function toggleToolbars( state ) {
    1139                var iframe, initial, toolbars,
    1240                        pixels = 0;
     
    79107        window.wpActiveEditor = editor.id;
    80108    });
    81109
    82         // Replace Read More/Next Page tags with images
    83         editor.on( 'BeforeSetContent', function( e ) {
    84                 if ( e.content ) {
    85                         if ( e.content.indexOf( '<!--more' ) !== -1 ) {
    86                                 e.content = e.content.replace( /<!--more(.*?)-->/g, function( match, moretext ) {
    87                                         return '<img src="' + tinymce.Env.transparentSrc + '" data-wp-more="' + moretext + '" ' +
    88                                                 'class="wp-more-tag mce-wp-more" title="Read More..." data-mce-resize="false" data-mce-placeholder="1" />';
    89                                 });
    90                         }
    91 
    92                         if ( e.content.indexOf( '<!--nextpage-->' ) !== -1 ) {
    93                                 e.content = e.content.replace( /<!--nextpage-->/g,
    94                                         '<img src="' + tinymce.Env.transparentSrc + '" class="wp-more-tag mce-wp-nextpage" ' +
    95                                                 'title="Page break" data-mce-resize="false" data-mce-placeholder="1" />' );
    96                         }
    97                 }
    98         });
    99 
    100         // Replace images with tags
    101         editor.on( 'PostProcess', function( e ) {
    102                 if ( e.get ) {
    103                         e.content = e.content.replace(/<img[^>]+>/g, function( image ) {
    104                                 var match, moretext = '';
    105 
    106                                 if ( image.indexOf('wp-more-tag') !== -1 ) {
    107                                         if ( image.indexOf('mce-wp-more') !== -1 ) {
    108                                                 if ( match = image.match( /data-wp-more="([^"]+)"/ ) ) {
    109                                                         moretext = match[1];
    110                                                 }
    111 
    112                                                 image = '<!--more' + moretext + '-->';
    113                                         } else if ( image.indexOf('mce-wp-nextpage') !== -1 ) {
    114                                                 image = '<!--nextpage-->';
    115                                         }
    116                                 }
    117 
    118                                 return image;
    119                         });
    120                 }
    121         });
    122 
    123         // Display the tag name instead of img in element path
    124         editor.on( 'ResolveName', function( e ) {
    125                 var dom = editor.dom,
    126                         target = e.target;
    127 
    128                 if ( target.nodeName === 'IMG' && dom.hasClass( target, 'wp-more-tag' ) ) {
    129                         if ( dom.hasClass( target, 'mce-wp-more' ) ) {
    130                                 e.name = 'more';
    131                         } else if ( dom.hasClass( target, 'mce-wp-nextpage' ) ) {
    132                                 e.name = 'nextpage';
    133                         }
    134                 }
    135         });
     110        editor.setUIColor( '.wpview-type-more span:before, .wpview-type-more span:after', 'border-bottom-color' );
    136111
    137112        // Register commands
    138113        editor.addCommand( 'WP_More', function( tag ) {
    139                 var parent, html, title,
    140                         classname = 'wp-more-tag',
     114                var parent, html,
    141115                        dom = editor.dom,
    142116                        node = editor.selection.getNode();
    143117
    144118                tag = tag || 'more';
    145                 classname += ' mce-wp-' + tag;
    146                 title = tag === 'more' ? 'More...' : 'Next Page';
    147                 html = '<img src="' + tinymce.Env.transparentSrc + '" title="' + title + '" class="' + classname + '" ' +
    148                         'data-mce-resize="false" data-mce-placeholder="1" />';
     119                html = '<!--' + tag + '-->';
    149120
    150121                // Most common case
    151122                if ( node.nodeName === 'BODY' || ( node.nodeName === 'P' && node.parentNode.nodeName === 'BODY' ) ) {
     
    328299                                }
    329300                        });
    330301                }
     302
     303                setTimeout( editor.setUIColor(), 250 );
    331304        });
    332305
    333306        // Word count
  • src/wp-includes/js/tinymce/plugins/wpview/plugin.js

     
    88                TreeWalker = tinymce.dom.TreeWalker,
    99                toRemove = false;
    1010
     11        editor.setUIColor( '.wpview-wrap[data-mce-selected]:before', 'border-color' );
     12
    1113        function getParentView( node ) {
    1214                while ( node && node.nodeName !== 'BODY' ) {
    1315                        if ( isView( node ) ) {
  • src/wp-includes/js/tinymce/skins/wordpress/wp-content.css

     
    11/* Additional default styles for the editor */
    22
     3html {
     4        margin: 0 40px;
     5}
     6
    37html.ios {
    48        height: 100%;
    59}
     
    1418        font-size: 13px;
    1519        line-height: 19px;
    1620        color: #333;
    17         margin: 10px;
     21        margin: 9px auto;
     22        max-width: 100%;
     23        overflow: visible !important;
     24        padding-top: 1px 0; /* This ensure margins are contained in the body. */
     25       
    1826}
    1927
    2028/* DFW mode */
     
    188196 */
    189197
    190198.wpview-wrap {
    191         width: 99.99%; /* All IE need hasLayout, incl. 11 (ugh, not again!!) */
    192         position: relative;
     199        -webkit-box-sizing: border-box;
     200        -moz-box-sizing: border-box;
     201        box-sizing: border-box;
    193202        clear: both;
     203        margin-bottom: 16px;
     204        position: relative;
     205        width: 100%; /* All IE need hasLayout, incl. 11 (ugh, not again!!) */   
    194206}
    195207
    196208/* delegate the handling of the selection to the wpview tinymce plugin */
     
    225237/**
    226238 * Media previews
    227239 */
    228 .wpview-wrap {
    229     position: relative;
    230     margin-bottom: 16px;
    231         border: 1px solid transparent;
    232 }
    233240
    234 .wpview-wrap[data-mce-selected] {
    235         background-color: rgba(0,0,0,0.1);
    236         border-color: rgba(0,0,0,0.3);
    237 }
    238 
    239 .ie8 .wpview-wrap[data-mce-selected],
    240 .ie7 .wpview-wrap[data-mce-selected] {
    241         background-color: #e5e5e5;
    242         border-color: #777;
     241.wpview-wrap[data-mce-selected]:before {
     242        border: 2px dashed #333;
     243        content: '';
     244        margin: 0;
     245        opacity: 0.5;
     246        padding: 0;
     247        position: absolute;
     248        top: -7px;
     249        left: -7px;
     250        right: -7px;
     251        bottom: -7px;
     252        z-index: -1;
    243253}
    244254
    245255.wpview-overlay {
     
    256266
    257267.wpview-wrap .toolbar {
    258268        position: absolute;
    259         top: 0;
    260         left: 0;
     269        left: -38px;
     270        top: -5px;
    261271        display: none;
    262272        z-index: 100;
    263273}
     
    271281        margin: 0;
    272282}
    273283
    274 .wpview-wrap .toolbar div,
    275284#wp-image-toolbar i {
    276285        margin-top: 7px;
    277286        margin-left: 7px;
     
    286295        font-size: 30px;
    287296}
    288297
    289 .ie8 .wpview-wrap .toolbar div,
    290 .ie7 .wpview-wrap .toolbar div,
     298.wpview-wrap .toolbar div {
     299        cursor: pointer;
     300        display: block;
     301        font-size: 30px;
     302        opacity: 0.5;
     303        width: 30px;
     304        height: 30px;
     305        -webkit-transition: opacity 0.1s ease-in 0;
     306        -moz-transition: opacity 0.1s ease-in 0;
     307        transition: opacity 0.1s ease-in 0;
     308}
     309
     310.wpview-wrap .toolbar div:hover {
     311        opacity: 1;
     312}
     313
    291314.ie8 #wp-image-toolbar i,
    292315.ie7 #wp-image-toolbar i {
    293316        display: inline;
     
    328351        font-family: 'Open Sans', sans-serif;
    329352}
    330353
    331 .wpview-wrap .toolbar div:hover,
    332354#wp-image-toolbar i:hover {
    333355        box-shadow: 0 1px 3px rgba(0,0,0,0.8);
    334356        background-color: #000;
    335357        color: #2ea2cc;
    336358}
    337359
    338 /* Audio player is short; therefore let's put the toolbar above */
    339 .wpview-type-audio .toolbar {
    340         top: auto;
    341         bottom: -34px;
    342 }
    343 
    344 .wpview-type-audio .toolbar div {
    345         margin-top: 0;
    346 }
    347 
    348 .wpview-type-audio .toolbar div:first-child {
    349         margin-left: 0;
    350 }
    351 
    352360.wont-play {
    353361        padding: 4px 0;
    354362}
     
    470478        outline: 0;
    471479}
    472480
     481.wpview-type-more p,
     482.wpview-type-nextpage p {
     483        text-align: center;
     484        position: relative;
     485        opacity: 0.5;
     486        overflow: hidden;
     487}
     488
     489.wpview-type-more span,
     490.wpview-type-nextpage span {
     491        position: relative;
     492}
     493
     494.wpview-type-more span:before,
     495.wpview-type-more span:after,
     496.wpview-type-nextpage span:before,
     497.wpview-type-nextpage span:after {
     498        content: '';
     499        position: absolute;
     500        border-bottom: 2px dashed #333;
     501        top: 50%;
     502        width: 1000px;
     503}
     504
     505.wpview-type-more span:before,
     506.wpview-type-nextpage span:before {
     507        right: 100%;
     508        margin-right: 5px;
     509}
     510
     511.wpview-type-more span:after,
     512.wpview-type-nextpage span:after {
     513        left: 100%;
     514        margin-left: 5px;
     515}
     516
    473517/* rtl */
    474518.rtl .gallery .gallery-item {
    475519        float: right;