Make WordPress Core

Changeset 44264


Ignore:
Timestamp:
12/17/2018 04:35:32 PM (6 years ago)
Author:
desrosj
Message:

Help/About: WordPress 5.0 About Page.

The About page describes all the great changes in WordPress 5.0.

Highlights:

  • Warn users of Gutenberg plugin of its deactivation upon 5.0 upgrade.
  • Added illustrations to the Four Freedoms page.
  • Include a link to wporg user’s plugin favorites as a way to display only the classic plugin as a suggestion for install.
  • Detail the Classic Editor plugin and the support timeline.

Props pixelverbieger, ocean90, karmatosed, pento, boemedia, lonelyvegan, sami.keijonen, TimothyBlynJacobs, xkon, afercia, laurelfulford, joostdevalk, ipstenu, matveb, joen, tinkerbelly, chanthaboune, kjellr, alexislloyd, melchoyce, mcsf, courtney0burton, Otto42, cathibosco, tobifjellner, helen, audrasjb, antpb, jjj, elrae, desrosj, azaozz, joemcgill, skithund, gziolo.

Merges [43913], [43921-43922], [43937-43938], [43946-43947], [43952-43953], [43967-43969] into trunk.

Fixes #45178.

Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/wp-admin/about.php

    r43571 r44264  
    1717list( $display_version ) = explode( '-', get_bloginfo( 'version' ) );
    1818
     19wp_enqueue_style( 'wp-block-library' );
     20
    1921include( ABSPATH . 'wp-admin/admin-header.php' );
    2022?>
     
    2224        <h1><?php printf( __( 'Welcome to WordPress&nbsp;%s' ), $display_version ); ?></h1>
    2325
    24         <p class="about-text"><?php printf( __( 'Thank you for updating to the latest version! WordPress %s will smooth your design workflow and keep you safe from coding errors.' ), $display_version ); ?></p>
     26        <p class="about-text"><?php printf( __( 'Thank you for updating to the latest version! WordPress %s introduces a robust new content creation experience.' ), $display_version ); ?></p>
     27
     28        <?php
     29        if (
     30            // Was the Gutenberg plugin installed before upgrading to 5.0.x?
     31            get_option( 'upgrade_500_was_gutenberg_active' ) == '1' &&
     32            current_user_can( 'activate_plugins' ) &&
     33            // Has it not been reactivated since?
     34            is_plugin_inactive( 'gutenberg/gutenberg.php' ) &&
     35            // Is it still installed?
     36            file_exists( WP_PLUGIN_DIR . '/gutenberg/gutenberg.php' )
     37        ) :
     38            ?>
     39            <div class="about-text" style="font-style:italic;">
     40                <?php
     41                printf(
     42                    /* translators: 1: WordPress version, 2: HTML start tag of link, 3: HTML end tag of link */
     43                    __( 'The Gutenberg plugin has been deactivated, as the features are now included in WordPress %1$s by default. If you&#8217;d like to continue to test the upcoming changes in the WordPress editing experience, please %2$sreactivate the Gutenberg plugin%3$s.' ),
     44                    $display_version,
     45                    '<a href="' . esc_url( self_admin_url( 'plugins.php?s=gutenberg&plugin_status=all' ) ) . '">',
     46                    '</a>'
     47                );
     48                ?>
     49            </div>
     50        <?php elseif ( ! file_exists( WP_PLUGIN_DIR . '/classic-editor/classic-editor.php' ) ) : ?>
     51            <p class="about-text">
     52                &#x2139; <a href="#classic-editor"><?php _e( 'Learn how to keep using the old editor.' ); ?></a>
     53            </p>
     54        <?php endif; ?>
     55
    2556        <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
    2657
     
    3465        <div class="feature-section one-col">
    3566            <div class="col">
    36                 <h2>
    37                     <?php
    38                         printf(
    39                             /* translators: %s: party popper emoji */
    40                             __( 'Major Customizer Improvements, Code Error Checking, and More! %s' ),
    41                             '&#x1F389'
    42                         );
    43                         ?>
    44                 </h2>
    45                 <p><?php _e( 'Welcome to an improved Customizer workflow with design drafts, locking, scheduling, and preview links. What&#8217;s more, code syntax highlighting and error checking will make for a clean and smooth site building experience. Finally, if all that wasn&#8217;t pretty great, we&#8217;ve got a great new Gallery widget and improvements to theme browsing and switching.' ); ?></p>
    46             </div>
    47         </div>
    48 
    49         <div class="inline-svg full-width">
     67                <h2><?php _e( 'Say Hello to the New Editor' ); ?></h2>
     68            </div>
     69        </div>
     70
     71        <div class="full-width">
    5072            <picture>
    51                 <source media="(max-width: 500px)" srcset="<?php echo 'https://s.w.org/images/core/4.9/banner-mobile.svg'; ?>">
    52                 <img src="https://s.w.org/images/core/4.9/banner.svg" alt="">
     73                <source type="image/webp" media="(max-width: 782px)" srcset="https://s.w.org/images/core/5.0/header/Gutenberg%20Mobile1x.webp 1x, https://s.w.org/images/core/5.0/header/Gutenberg%20Mobile.webp 2x" />
     74                <source media="(max-width: 782px)" srcset="https://s.w.org/images/core/5.0/header/Gutenberg%20Mobile1x.jpg 1x, https://s.w.org/images/core/5.0/header/Gutenberg%20Mobile.jpg 2x" />
     75                <source type="image/webp" srcset="https://s.w.org/images/core/5.0/header/Gutenberg1x.webp 1x, https://s.w.org/images/core/5.0/header/Gutenberg.webp 2x" />
     76                <img src="https://s.w.org/images/core/5.0/header/Gutenberg1x.jpg" srcset="https://s.w.org/images/core/5.0/header/Gutenberg1x.jpg 1x, https://s.w.org/images/core/5.0/header/Gutenberg.jpg 2x" alt="">
    5377            </picture>
    5478        </div>
    5579
    56         <div class="floating-header-section">
    57             <div class="section-header">
    58                 <h2><?php _e( 'Customizer Workflow Improved' ); ?></h2>
    59             </div>
    60 
    61             <div class="section-content">
    62                 <div class="section-item">
    63                     <div class="inline-svg">
    64                         <img src="https://s.w.org/images/core/4.9/draft-and-schedule.svg" alt="">
    65                     </div>
    66                     <h3><?php _e( 'Draft and Schedule Site Design Customizations' ); ?></h3>
    67                     <p><?php _e( 'Yes, you read that right. Just like you can draft and revise posts and schedule them to go live on the date and time you choose, you can now tinker with your site&#8217;s design and schedule those design changes to go live as you please.' ); ?></p>
     80        <div class="feature-section one-col">
     81            <div class="col">
     82                <p><?php _e( 'You&#8217;ve successfully upgraded to WordPress 5.0! We’ve made some big changes to the editor. Our new block-based editor is the first step toward an exciting new future with a streamlined editing experience across your site. You’ll have more flexibility with how content is displayed, whether you are building your first site, revamping your blog, or write code for a living.' ); ?></p>
     83            </div>
     84        </div>
     85
     86        <div class="feature-section four-col">
     87            <div class="col">
     88                <figure>
     89                    <picture>
     90                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/features/Plugins1x.webp 1x, https://s.w.org/images/core/5.0/features/Plugins.webp 2x">
     91                        <img src="https://s.w.org/images/core/5.0/features/Plugins1x.jpg" srcset="https://s.w.org/images/core/5.0/features/Plugins1x.jpg 1x, https://s.w.org/images/core/5.0/features/Plugins.jpg 2x" alt="" width="250" height="250" />
     92                    </picture>
     93                    <figcaption><?php _e( 'Do more with fewer plugins.' ); ?></figcaption>
     94                </figure>
     95            </div>
     96            <div class="col">
     97                <figure>
     98                    <picture>
     99                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/features/Layout1x.webp 1x, https://s.w.org/images/core/5.0/features/Layout.webp 2x">
     100                        <img src="https://s.w.org/images/core/5.0/features/Layout1x.jpg" srcset="https://s.w.org/images/core/5.0/features/Layout1x.jpg 1x, https://s.w.org/images/core/5.0/features/Layout.jpg 2x" alt="" width="250" height="250" />
     101                    </picture>
     102                    <figcaption><?php _e( 'Create modern, multimedia-heavy layouts.' ); ?></figcaption>
     103                </figure>
     104            </div>
     105            <div class="col">
     106                <figure>
     107                    <picture>
     108                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/features/Responsive1x.webp 1x, https://s.w.org/images/core/5.0/features/Responsive.webp 2x">
     109                        <img src="https://s.w.org/images/core/5.0/features/Responsive1x.jpg" srcset="https://s.w.org/images/core/5.0/features/Responsive1x.jpg 1x, https://s.w.org/images/core/5.0/features/Responsive.jpg 2x" alt="" width="250" height="250" />
     110                    </picture>
     111                    <figcaption><?php _e( 'Work across all screen sizes and devices.' ); ?></figcaption>
     112                </figure>
     113            </div>
     114            <div class="col">
     115                <figure>
     116                    <picture>
     117                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/features/Editor%20Styles1x.webp 1x, https://s.w.org/images/core/5.0/features/Editor%20Styles.webp 2x">
     118                        <img src="https://s.w.org/images/core/5.0/features/Editor%20Styles1x.jpg" srcset="https://s.w.org/images/core/5.0/features/Editor%20Styles1x.jpg 1x, https://s.w.org/images/core/5.0/features/Editor%20Styles.jpg 2x" alt="" width="250" height="250" />
     119                    </picture>
     120                    <figcaption><?php _e( 'Trust that your editor looks like your website.' ); ?></figcaption>
     121                </figure>
     122            </div>
     123        </div>
     124
     125        <div class="feature-section one-col">
     126            <div class="col">
     127                <h2><?php _e( 'Building with Blocks' ); ?></h2>
     128                <p><?php _e( 'The new block-based editor won&#8217;t change the way any of your content looks to your visitors. What it will do is let you insert any type of multimedia in a snap and rearrange to your heart&#8217;s content. Each piece of content will be in its own block; a distinct wrapper for easy maneuvering. If you&#8217;re more of an HTML and CSS sort of person, then the blocks won&#8217;t stand in your way. WordPress is here to simplify the process, not the outcome.' ); ?></p>
     129                <video controls>
     130                    <source src="https://s.w.org/images/core/5.0/videos/add-block.mp4" type="video/mp4">
     131                    <source src="https://s.w.org/images/core/5.0/videos/add-block.webm" type="video/webm">
     132                    <p><?php printf( __( 'Your browser doesn&#8217;t support HTML5 video. Here is a %1$slink to the video%2$s instead.' ), '<a href="https://wordpress.org/gutenberg/files/2018/11/add-block.mp4">', '</a>' ); ?></p>
     133                </video>
     134                <p><?php _e( 'We have tons of blocks available by default, and more get added by the community every day. Here are a few of the blocks to help you get started:' ); ?></p>
     135            </div>
     136        </div>
     137
     138        <div class="feature-section eight-col">
     139            <div class="col">
     140                <figure>
     141                    <picture>
     142                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Paragraph@1x.webp 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Paragraph.webp 2x" />
     143                        <img src="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Paragraph@1x.jpg" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Paragraph@1x.jpg 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Paragraph.jpg 2x" alt=""/>
     144                    </picture>
     145                    <figcaption><?php _e( 'Paragraph' ); ?></figcaption>
     146                </figure>
     147            </div>
     148            <div class="col">
     149                <figure>
     150                    <picture>
     151                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Heading@1x.webp 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Heading.webp 2x" />
     152                        <img src="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Heading@1x.jpg" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Heading@1x.jpg 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Heading.jpg 2x" alt=""/>
     153                    </picture>
     154                    <figcaption><?php _e( 'Heading' ); ?></figcaption>
     155                </figure>
     156            </div>
     157            <div class="col">
     158                <figure>
     159                    <picture>
     160                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Preformatted@1x.webp 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Preformatted.webp 2x" />
     161                        <img src="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Preformatted@1x.jpg" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Preformatted@1x.jpg 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Preformatted.jpg 2x" alt=""/>
     162                    </picture>
     163                    <figcaption><?php _e( 'Preformatted' ); ?></figcaption>
     164                </figure>
     165            </div>
     166            <div class="col">
     167                <figure>
     168                    <picture>
     169                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Quote@1x.webp 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Quote.webp 2x" />
     170                        <img src="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Quote@1x.jpg" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Quote@1x.jpg 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Quote.jpg 2x" alt=""/>
     171                    </picture>
     172                    <figcaption><?php _e( 'Quote' ); ?></figcaption>
     173                </figure>
     174            </div>
     175            <div class="col">
     176                <figure>
     177                    <picture>
     178                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Image@1x.webp 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Image.webp 2x" />
     179                        <img src="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Image@1x.jpg" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Image@1x.jpg 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Image.jpg 2x" alt=""/>
     180                    </picture>
     181                    <figcaption><?php _e( 'Image' ); ?></figcaption>
     182                </figure>
     183            </div>
     184            <div class="col">
     185                <figure>
     186                    <picture>
     187                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Gallery@1x.webp 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Gallery.webp 2x" />
     188                        <img src="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Gallery@1x.jpg" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Gallery@1x.jpg 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Gallery.jpg 2x" alt=""/>
     189                    </picture>
     190                    <figcaption><?php _e( 'Gallery' ); ?></figcaption>
     191                </figure>
     192            </div>
     193            <div class="col">
     194                <figure>
     195                    <picture>
     196                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Cover%20Image@1x.webp 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Cover%20Image.webp 2x" />
     197                        <img src="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Cover%20Image@1x.jpg" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Cover%20Image@1x.jpg 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Cover%20Image.jpg 2x" alt=""/>
     198                    </picture>
     199                    <figcaption><?php _e( 'Cover' ); ?></figcaption>
     200                </figure>
     201            </div>
     202            <div class="col">
     203                <figure>
     204                    <picture>
     205                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Video@1x.webp 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Video.webp 2x" />
     206                        <img src="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Video@1x.jpg" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Video@1x.jpg 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Video.jpg 2x" alt=""/>
     207                    </picture>
     208                    <figcaption><?php _e( 'Video' ); ?></figcaption>
     209                </figure>
     210            </div>
     211            <div class="col">
     212                <figure>
     213                    <picture>
     214                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Audio@1x.webp 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Audio.webp 2x" />
     215                        <img src="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Audio@1x.jpg" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Audio@1x.jpg 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Audio.jpg 2x" alt=""/>
     216                    </picture>
     217                    <figcaption><?php _e( 'Audio' ); ?></figcaption>
     218                </figure>
     219            </div>
     220            <div class="col">
     221                <figure>
     222                    <picture>
     223                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Column@1x.webp 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Column.webp 2x" />
     224                        <img src="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Column@1x.jpg" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Column@1x.jpg 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Column.jpg 2x" alt=""/>
     225                    </picture>
     226                    <figcaption><?php _e( 'Columns' ); ?></figcaption>
     227                </figure>
     228            </div>
     229            <div class="col">
     230                <figure>
     231                    <picture>
     232                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20File@1x.webp 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20File.webp 2x" />
     233                        <img src="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20File@1x.jpg" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20File@1x.jpg 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20File.jpg 2x" alt=""/>
     234                    </picture>
     235                    <figcaption><?php _e( 'File' ); ?></figcaption>
     236                </figure>
     237            </div>
     238            <div class="col">
     239                <figure>
     240                    <picture>
     241                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Code@1x.webp 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Code.webp 2x" />
     242                        <img src="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Code@1x.jpg" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Code@1x.jpg 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Code.jpg 2x" alt=""/>
     243                    </picture>
     244                    <figcaption><?php _e( 'Code' ); ?></figcaption>
     245                </figure>
     246            </div>
     247            <div class="col">
     248                <figure>
     249                    <picture>
     250                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20List@1x.webp 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20List.webp 2x" />
     251                        <img src="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20List@1x.jpg" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20List@1x.jpg 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20List.jpg 2x" alt=""/>
     252                    </picture>
     253                    <figcaption><?php _e( 'List' ); ?></figcaption>
     254                </figure>
     255            </div>
     256            <div class="col">
     257                <figure>
     258                    <picture>
     259                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Button@1x.webp 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Button.webp 2x" />
     260                        <img src="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Button@1x.jpg" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Button@1x.jpg 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Button.jpg 2x" alt=""/>
     261                    </picture>
     262                    <figcaption><?php _e( 'Button' ); ?></figcaption>
     263                </figure>
     264            </div>
     265            <div class="col">
     266                <figure>
     267                    <picture>
     268                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Embeds@1x.webp 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Embeds.webp 2x" />
     269                        <img src="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Embeds@1x.jpg" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Embeds@1x.jpg 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20Embeds.jpg 2x" alt=""/>
     270                    </picture>
     271                    <figcaption><?php _e( 'Embeds' ); ?></figcaption>
     272                </figure>
     273            </div>
     274            <div class="col">
     275                <figure>
     276                    <picture>
     277                        <source type="image/webp" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20More@1x.webp 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20More.webp 2x" />
     278                        <img src="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20More@1x.jpg" srcset="https://s.w.org/images/core/5.0/blocks/Block%20Icon%20More@1x.jpg 1x, https://s.w.org/images/core/5.0/blocks/Block%20Icon%20More.jpg 2x" alt=""/>
     279                    </picture>
     280                    <figcaption><?php _e( 'More' ); ?></figcaption>
     281                </figure>
     282            </div>
     283        </div>
     284
     285        <div class="feature-section one-col">
     286            <div class="col">
     287                <h2><?php _e( 'Freedom to Build, Freedom to Write' ); ?></h2>
     288                <p><?php _e( 'This new editing experience provides a more consistent treatment of design as well as content. If you&#8217;re building client sites, you can create reusable blocks. This lets your clients add new content anytime, while still maintaining a consistent look and feel.' ); ?></p>
     289                <video controls>
     290                    <source src="https://s.w.org/images/core/5.0/videos/build.mp4" type="video/mp4">
     291                    <source src="https://s.w.org/images/core/5.0/videos/build.webm" type="video/webm">
     292                    <p><?php printf( __( 'Your browser doesn&#8217;t support HTML5 video. Here is a %1$slink to the video%2$s instead.' ), '<a href="https://wordpress.org/gutenberg/files/2018/11/build.mp4">', '</a>' ); ?></p>
     293                </video>
     294            </div>
     295        </div>
     296
     297        <?php if ( current_user_can( 'edit_posts' ) ) { ?>
     298            <div class="feature-section one-col cta">
     299                <div class="col">
     300                    <a class="button button-primary button-hero" href="<?php echo esc_url( admin_url( 'post-new.php' ) ); ?>"><?php _e( 'Build your first post' ); ?></a>
    68301                </div>
    69                 <div class="section-item">
    70                     <div class="inline-svg">
    71                         <img src="https://s.w.org/images/core/4.9/design-preview-links.svg" alt="">
    72                     </div>
    73                     <h3><?php _e( 'Collaborate with Design Preview Links' ); ?></h3>
    74                     <p><?php _e( 'Need to get some feedback on proposed site design changes? WordPress 4.9 gives you a preview link you can send to your team and customers so that you can collect and integrate feedback before you schedule the changes to go live. Can we say collaboration&#43;&#43;?' ); ?></p>
     302            </div>
     303        <?php } ?>
     304
     305
     306        <hr />
     307
     308        <div class="feature-section one-col">
     309            <div class="col">
     310                <h2><?php _e( 'A Stunning New Default Theme' ); ?></h2>
     311            </div>
     312        </div>
     313
     314        <div class="full-width">
     315            <figure>
     316                <picture>
     317                    <source type="image/webp" media="(max-width: 782px)" srcset="https://s.w.org/images/core/5.0/twenty%20nineteen/twenty-nineteen-mobile@1x.webp 1x, https://s.w.org/images/core/5.0/twenty%20nineteen/twenty-nineteen-mobile.webp 2x" />
     318                    <source media="(max-width: 782px)" srcset="https://s.w.org/images/core/5.0/twenty%20nineteen/twenty-nineteen-mobile@1x.jpg 1x, https://s.w.org/images/core/5.0/twenty%20nineteen/twenty-nineteen-mobile.jpg 2x" />
     319                    <source type="image/webp" srcset="https://s.w.org/images/core/5.0/twenty%20nineteen/twenty-nineteen@1x.webp 1x, https://s.w.org/images/core/5.0/twenty%20nineteen/twenty-nineteen.webp 2x" />
     320                    <img src="https://s.w.org/images/core/5.0/twenty%20nineteen/twenty-nineteen@1x.jpg" srcset="https://s.w.org/images/core/5.0/twenty%20nineteen/twenty-nineteen@1x.jpg 1x, https://s.w.org/images/core/5.0/header/twenty-nineteen.jpg 2x" alt="">
     321                </picture>
     322
     323                <figcaption><?php _e( 'The front-end of Twenty Nineteen on the left, and how it looks in the editor on the right.' ); ?></figcaption>
     324            </figure>
     325        </div>
     326
     327        <div class="feature-section one-col">
     328            <div class="col">
     329                <p><?php _e( 'Introducing Twenty Nineteen, a new default theme that shows off the power of the new editor.' ); ?></p>
     330            </div>
     331        </div>
     332
     333        <div class="feature-section three-col">
     334            <div class="col">
     335                <picture>
     336                    <source type="image/webp" srcset="https://s.w.org/images/core/5.0/twenty%20nineteen/block%20editor@1x.webp 1x, https://s.w.org/images/core/5.0/twenty%20nineteen/block%20editor.webp 2x" />
     337                    <img src="https://s.w.org/images/core/5.0/twenty%20nineteen/block%20editor@1x.jpg" srcset="https://s.w.org/images/core/5.0/twenty%20nineteen/block%20editor@1x.jpg 1x, https://s.w.org/images/core/5.0/twenty%20nineteen/block%20editor.jpg 2x" alt="">
     338                </picture>
     339                <h3><?php _e( 'Designed for the block editor' ); ?></h3>
     340                <p><?php _e( 'Twenty Nineteen features custom styles for the blocks available by default in 5.0. It makes extensive use of editor styles throughout the theme. That way, what you create in your content editor is what you see on the front of your site.' ); ?></p>
     341            </div>
     342            <div class="col">
     343                <picture>
     344                    <source type="image/webp" srcset="https://s.w.org/images/core/5.0/twenty%20nineteen/typography@1x.webp 1x, https://s.w.org/images/core/5.0/twenty%20nineteen/typography.webp 2x" />
     345                    <img src="https://s.w.org/images/core/5.0/twenty%20nineteen/typography@1x.jpg" srcset="https://s.w.org/images/core/5.0/twenty%20nineteen/typography@1x.jpg 1x, https://s.w.org/images/core/5.0/twenty%20nineteen/typography.jpg 2x" alt="">
     346                </picture>
     347                <h3><?php _e( 'Simple, type-driven layout' ); ?></h3>
     348                <p><?php _e( 'Featuring ample whitespace, and modern sans-serif headlines paired with classic serif body text, Twenty Nineteen is built to be beautiful on the go. It uses system fonts to increase loading speed. No more long waits on slow networks!' ); ?></p>
     349            </div>
     350            <div class="col">
     351                <img src="https://s.w.org/images/core/5.0/twenty%20nineteen/twenty-nineteen-versatile.gif" alt="">
     352                <h3><?php _e( 'Versatile design for all sites' ); ?></h3>
     353                <p><?php _e( 'Twenty Nineteen is designed to work for a wide variety of use cases. Whether you’re running a photo blog, launching a new business, or supporting a non-profit, Twenty Nineteen is flexible enough to fit your needs.' ); ?></p>
     354            </div>
     355        </div>
     356
     357        <?php if ( current_user_can( 'customize' ) ) { ?>
     358            <div class="feature-section one-col cta">
     359                <div class="col">
     360                    <a class="button button-primary button-hero load-customize hide-if-no-customize" href="<?php echo esc_url( admin_url( 'customize.php?theme=twentynineteen' ) ); ?>"><?php _e( 'Give Twenty Nineteen a try' ); ?></a>
    75361                </div>
    76                 <div class="section-item">
    77                     <div class="inline-svg">
    78                         <img src="https://s.w.org/images/core/4.9/locking.svg" alt="">
    79                     </div>
    80                     <h3><?php _e( 'Design Locking To Guard Your Changes' ); ?></h3>
    81                     <p><?php _e( 'Ever encounter a scenario where two designers walk into a project and designer A overrides designer B&#8217;s beautiful changes? WordPress 4.9&#8217;s design lock feature (similar to post locking) secures your draft design so that no one can make changes to it or erase all your hard work.' ); ?></p>
     362            </div>
     363        <?php } ?>
     364
     365        <hr />
     366
     367        <div class="under-the-hood feature-section">
     368            <div class="col">
     369                <h2><?php _e( 'Developer Happiness' ); ?></h2>
     370            </div>
     371        </div>
     372
     373        <div class="under-the-hood feature-section three-col">
     374            <div class="col">
     375                <picture>
     376                    <source type="image/webp" srcset="https://s.w.org/images/core/5.0/devs/Protect1x.webp 1x, https://s.w.org/images/core/5.0/devs/Protect.webp 2x" />
     377                    <img src="https://s.w.org/images/core/5.0/devs/Protect1x.jpg" srcset="https://s.w.org/images/core/5.0/devs/Protect1x.jpg 1x, https://s.w.org/images/core/5.0/devs/Protect.jpg 2x" alt="">
     378                </picture>
     379                <h3><?php _e( 'Protect' ); ?></h3>
     380                <p><?php _e( 'Blocks provide a comfortable way for users to change content directly, while also ensuring the content structure cannot be easily disturbed by accidental code edits. This allows the developer to control the output, building polished and semantic markup that is preserved through edits and not easily broken.' ); ?></p>
     381            </div>
     382            <div class="col">
     383                <picture>
     384                    <source type="image/webp" srcset="https://s.w.org/images/core/5.0/devs/Compose1x.webp 1x, https://s.w.org/images/core/5.0/devs/Compose.webp 2x" />
     385                    <img src="https://s.w.org/images/core/5.0/devs/Compose1x.jpg" srcset="https://s.w.org/images/core/5.0/devs/Compose1x.jpg 1x, https://s.w.org/images/core/5.0/devs/Compose.jpg 2x" alt="">
     386                </picture>
     387                <h3><?php _e( 'Compose' ); ?></h3>
     388                <p><?php _e( 'Take advantage of a wide collection of APIs and interface components to easily create blocks with intuitive controls for your clients. Utilizing these components not only speeds up development work but also provide a more consistent, usable, and accessible interface to all users.' ); ?></p>
     389            </div>
     390            <div class="col">
     391                <picture>
     392                    <source type="image/webp" srcset="https://s.w.org/images/core/5.0/devs/Create1x.webp 1x, https://s.w.org/images/core/5.0/devs/Create.webp 2x" />
     393                    <img src="https://s.w.org/images/core/5.0/devs/Create1x.jpg" srcset="https://s.w.org/images/core/5.0/devs/Create1x.jpg 1x, https://s.w.org/images/core/5.0/devs/Create.jpg 2x" alt="">
     394                </picture>
     395                <h3><?php _e( 'Create' ); ?></h3>
     396                <p><?php _e( 'The new block paradigm opens up a path of exploration and imagination when it comes to solving user needs. With the unified block insertion flow, it&#8217;s easier for your clients and customers to find and use blocks for all types of content. Developers can focus on executing their vision and providing rich editing experiences, rather than fussing with difficult APIs.' ); ?></p>
     397            </div>
     398        </div>
     399
     400        <div class="under-the-hood feature-section one-col cta">
     401            <div class="col">
     402                <a class="button button-primary button-hero" href="<?php echo esc_url( 'https://wordpress.org/gutenberg/handbook/' ); ?>"><?php _e( 'Learn how to get started' ); ?></a>
     403            </div>
     404        </div>
     405
     406        <hr />
     407
     408        <?php if ( ! file_exists( WP_PLUGIN_DIR . '/classic-editor/classic-editor.php' ) ) : ?>
     409            <div class="feature-section one-col" id="classic-editor">
     410                <div class="col">
     411                    <h2><?php _e( 'Keep it Classic' ); ?></h2>
    82412                </div>
    83                 <div class="section-item">
    84                     <div class="inline-svg">
    85                         <img src="https://s.w.org/images/core/4.9/prompt.svg" alt="">
    86                     </div>
    87                     <h3><?php _e( 'A Prompt to Protect Your Work' ); ?></h3>
    88                     <p><?php _e( 'Were you lured away from your desk before you saved your new draft design? Fear not, when you return, WordPress 4.9 will politely ask whether or not you&#8217;d like to save your unsaved changes.' ); ?></p>
     413            </div>
     414
     415            <div class="full-width">
     416                <picture>
     417                    <source type="image/webp" media="(max-width: 782px)" srcset="https://s.w.org/images/core/5.0/classic/Classic%20Mobile1x.webp 1x, https://s.w.org/images/core/5.0/classic/Classic%20Mobile.webp 2x" />
     418                    <source media="(max-width: 782px)" srcset="https://s.w.org/images/core/5.0/classic/Classic%20Mobile1x.jpg 1x, https://s.w.org/images/core/5.0/classic/Classic%20Mobile.jpg 2x" />
     419                    <source type="image/webp" srcset="https://s.w.org/images/core/5.0/classic/Classic@1x.webp 1x, https://s.w.org/images/core/5.0/classic/Classic.webp 2x" />
     420                    <img src="https://s.w.org/images/core/5.0/classic/Classic@1x.jpg" srcset="https://s.w.org/images/core/5.0/classic/Classic@1x.jpg 1x, https://s.w.org/images/core/5.0/header/Classic.jpg 2x" alt="">
     421                </picture>
     422            </div>
     423
     424            <div class="feature-section one-col">
     425                <div class="col">
     426                    <p><?php _e( 'Prefer to stick with the familiar Classic Editor? No problem! Support for the Classic Editor plugin will remain in WordPress through 2021.' ); ?></p>
     427                    <p><?php _e( 'The Classic Editor plugin restores the previous WordPress editor and the Edit Post screen. It lets you keep using plugins that extend it, add old-style meta boxes, or otherwise depend on the previous editor. To install, visit your plugins page and click the &#8220;Install Now&#8221; button next to &#8220;Classic Editor&#8221;. After the plugin finishes installing, click &#8220;Activate&#8221;. That’s it!' ); ?></p>
     428                    <p><?php _e( 'Note to users of assistive technology: if you experience usability issues with the block editor, we recommend you continue to use the Classic Editor.' ); ?></p>
     429                    <?php if ( current_user_can( 'install_plugins' ) ) { ?>
     430                        <div class="col cta">
     431                            <a class="button button-primary button-hero" href="<?php echo esc_url( wp_nonce_url( self_admin_url( 'plugin-install.php?tab=favorites&user=wordpressdotorg&save=0' ), 'save_wporg_username_' . get_current_user_id() ) ); ?>"><?php _e( 'Install the Classic Editor' ); ?></a>
     432                        </div>
     433                    <?php } ?>
    89434                </div>
    90435            </div>
    91         </div>
    92 
    93         <div class="floating-header-section">
    94             <div class="section-header">
    95                 <h2><?php _e( 'Coding Enhancements' ); ?></h2>
    96             </div>
    97 
    98             <div class="section-content">
    99                 <div class="section-item">
    100                     <div class="inline-svg">
    101                         <img src="https://s.w.org/images/core/4.9/syntax-highlighting.svg" alt="">
    102                     </div>
    103                     <h3><?php _e( 'Syntax Highlighting and Error Checking? Yes, Please!' ); ?></h3>
    104                     <p><?php _e( 'You&#8217;ve got a display problem but can&#8217;t quite figure out exactly what went wrong in the CSS you lovingly wrote. With syntax highlighting and error checking for CSS editing and the Custom HTML widget introduced in WordPress 4.8.1, you&#8217;ll pinpoint coding errors quickly. Practically guaranteed to help you scan code more easily and suss out and fix code errors quickly.' ); ?></p>
    105                 </div>
    106                 <div class="section-item">
    107                     <div class="inline-svg">
    108                         <img src="https://s.w.org/images/core/4.9/sandbox.svg" alt="">
    109                     </div>
    110                     <h3><?php _e( 'Sandbox for Safety' ); ?></h3>
    111                     <p><?php _e( 'The dreaded white screen. You&#8217;ll avoid it when working on themes and plugin code because WordPress 4.9 will warn you about saving an error. You&#8217;ll sleep better at night.' ); ?></p>
    112                 </div>
    113                 <div class="section-item">
    114                     <div class="inline-svg">
    115                         <img src="https://s.w.org/images/core/4.9/warning.svg" alt="">
    116                     </div>
    117                     <h3><?php _e( 'Warning: Potential Danger Ahead!' ); ?></h3>
    118                     <p><?php _e( 'When you edit themes and plugins directly, WordPress 4.9 will politely warn you that this is a dangerous practice. It will recommend that you backup your files before saving, so they don&#8217;t get overwritten by the next update. Take the safe route: your future self will thank you. Your team and customers will thank you.' ); ?></p>
    119                 </div>
    120             </div>
    121         </div>
    122 
    123         <div class="floating-header-section">
    124             <div class="section-header">
    125                 <h2><?php _e( 'Even More Widget Updates' ); ?></h2>
    126             </div>
    127 
    128             <div class="section-content">
    129                 <div class="section-item">
    130                     <div class="inline-svg">
    131                         <img src="https://s.w.org/images/core/4.9/gallery-widget.svg" alt="">
    132                     </div>
    133                     <h3><?php _e( 'The New Gallery Widget' ); ?></h3>
    134                     <p><?php _e( 'An incremental improvement to the media changes hatched in WordPress 4.8, you can now add a gallery via widget. Yes!' ); ?></p>
    135                 </div>
    136                 <div class="section-item">
    137                     <div class="inline-svg">
    138                         <img src="https://s.w.org/images/core/4.9/media-button.svg" alt="">
    139                     </div>
    140                     <h3><?php _e( 'Press a Button, Add Media' ); ?></h3>
    141                     <p><?php _e( 'Want to add media to your text widget? Embed images, video, and audio directly into the widget along with your text, with our simple but useful Add Media button. Woo!' ); ?></p>
    142                 </div>
    143             </div>
    144         </div>
    145 
    146         <div class="floating-header-section">
    147             <div class="section-header">
    148                 <h2><?php _e( 'Site Building Improvements' ); ?></h2>
    149             </div>
    150 
    151             <div class="section-content">
    152                 <div class="section-item">
    153                     <div class="inline-svg">
    154                         <img src="https://s.w.org/images/core/4.9/theme-switching.svg" alt="">
    155                     </div>
    156                     <h3><?php _e( 'More Reliable Theme Switching' ); ?></h3>
    157                     <p><?php _e( 'When you switch themes, widgets sometimes think they can just up and move location. Improvements in WordPress 4.9 offer more persistent menu and widget placement when you decide it&#8217;s time for a new theme. Additionally, you can preview installed themes or download, install, and preview new themes right. Nothing says handy like being able to preview before you deploy. ' ); ?></p>
    158                 </div>
    159                 <div class="section-item">
    160                     <div class="inline-svg">
    161                         <img src="https://s.w.org/images/core/4.9/menu-flow.svg" alt="">
    162                     </div>
    163                     <h3><?php _e( 'Better Menu Instructions = Less Confusion' ); ?></h3>
    164                     <p><?php _e( 'Were you confused by the steps to create a new menu? Perhaps no longer! We&#8217;ve ironed out the UX for a smoother menu creation process. Newly updated copy will guide you.' ); ?></p>
    165                 </div>
    166             </div>
    167         </div>
    168 
    169         <div class="inline-svg">
    170             <picture>
    171                 <source media="(max-width: 500px)" srcset="<?php echo 'https://s.w.org/images/core/4.9/gutenberg-mobile.svg'; ?>">
    172                 <img src="https://s.w.org/images/core/4.9/gutenberg.svg" alt="">
    173             </picture>
    174         </div>
    175 
    176         <div class="feature-section">
    177             <h2>
    178                 <?php
    179                     printf(
    180                         /* translators: %s: handshake emoji */
    181                         __( 'Lend a Hand with Gutenberg %s' ),
    182                         '&#x1F91D'
    183                     );
    184                     ?>
    185             </h2>
    186             <p>
    187             <?php
    188             printf(
    189                 __( 'WordPress is working on a new way to create and control your content and we&#8217;d love to have your help. Interested in being an <a href="%1$s">early tester</a> or getting involved with the Gutenberg project? <a href="%2$s">Contribute on GitHub</a>.' ),
    190                 __( 'https://wordpress.org/plugins/gutenberg/' ),
    191                 'https://github.com/WordPress/gutenberg'
    192             );
    193             ?>
    194                 </p>
    195         </div>
    196 
    197         <hr />
    198 
    199         <div class="changelog">
    200             <h2>
    201             <?php
    202                 printf(
    203                     /* translators: %s: smiling face with smiling eyes emoji */
    204                     __( 'Developer Happiness %s' ),
    205                     '&#x1F60A'
    206                 );
    207                 ?>
    208             </h2>
    209 
    210             <div class="under-the-hood two-col">
    211                 <div class="col">
    212                     <h3><a href="https://make.wordpress.org/core/2017/11/01/improvements-to-the-customize-js-api-in-4-9/"><?php _e( 'Customizer JS API Improvements' ); ?></a></h3>
    213                     <p>
    214                     <?php
    215                         printf(
    216                             /* translators: %s: https://make.wordpress.org/core/2017/11/01/improvements-to-the-customize-js-api-in-4-9/  */
    217                             __( 'We&#8217;ve made numerous improvements to the Customizer JS API in WordPress 4.9, eliminating many pain points and making it just as easy to work with as the PHP API. There are also new base control templates, a date/time control, and section/panel/global notifications to name a few. <a href="%s">Check out the full list.</a>' ),
    218                             'https://make.wordpress.org/core/2017/11/01/improvements-to-the-customize-js-api-in-4-9/'
    219                         );
    220                         ?>
    221                     </p>
    222                 </div>
    223                 <div class="col">
    224                     <h3><a href="https://make.wordpress.org/core/2017/10/22/code-editing-improvements-in-wordpress-4-9/"><?php _e( 'CodeMirror available for use in your themes and plugins' ); ?></a></h3>
    225                     <p><?php _e( 'We&#8217;ve introduced a new code editing library, CodeMirror, for use within core. Use it to improve any code writing or editing experiences within your plugins, like CSS or JavaScript include fields.' ); ?></p>
    226                 </div>
    227                 <div class="col">
    228                     <h3><a href="https://make.wordpress.org/core/2017/10/30/mediaelement-upgrades-in-wordpress-4-9/"><?php _e( 'MediaElement.js upgraded to 4.2.6' ); ?></a></h3>
    229                     <p><?php _e( 'WordPress 4.9 includes an upgraded version of MediaElement.js, which removes dependencies on jQuery, improves accessibility, modernizes the UI, and fixes many bugs.' ); ?></p>
    230                 </div>
    231                 <div class="col">
    232                     <h3><a href="https://make.wordpress.org/core/2017/10/15/improvements-for-roles-and-capabilities-in-4-9/"><?php _e( 'Improvements to Roles and Capabilities' ); ?></a></h3>
    233                     <p><?php _e( 'New capabilities have been introduced that allow granular management of plugins and translation files. In addition, the site switching process in multisite has been fine-tuned to update the available roles and capabilities in a more reliable and coherent way.' ); ?></p>
    234                 </div>
    235             </div>
    236         </div>
    237 
    238         <hr />
     436
     437            <hr />
     438        <?php endif; ?>
    239439
    240440        <div class="return-to-dashboard">
  • trunk/src/wp-admin/credits.php

    r43032 r44264  
    2121<h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
    2222
    23 <p class="about-text"><?php printf( __( 'Thank you for updating to the latest version! WordPress %s will smooth your design workflow and keep you safe from coding errors.' ), $display_version ); ?></p>
     23<p class="about-text"><?php printf( __( 'Thank you for updating to the latest version! WordPress %s introduces a robust new content creation experience.' ), $display_version ); ?></p>
    2424
    2525<div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
  • trunk/src/wp-admin/css/about.css

    r43309 r44264  
    4141    border: 0;
    4242    height: 0;
    43     margin: 0;
     43    margin: 3em 0 0;
    4444    border-top: 1px solid rgba(0, 0, 0, 0.1);
    4545}
     
    4747.about-wrap img {
    4848    margin: 0;
    49     max-width: 100%;
     49    width: 100%;
    5050    height: auto;
    5151    vertical-align: middle;
     52}
     53
     54.about-wrap figure {
     55    position: relative;
     56    margin: 0;
     57}
     58
     59.about-wrap .feature-section figure img {
     60    margin-bottom: 0;
     61}
     62
     63.about-wrap figcaption {
     64    position: absolute;
     65    bottom: 0;
     66    width: 100%;
     67    padding: 40px 10px 15px;
     68    overflow: auto;
     69    box-sizing: border-box;
     70    background: linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 60%,transparent);
     71    font-weight: 600;
     72    text-shadow: 0px 0px 5px rgba(0,0,0,.75);
    5273}
    5374
     
    133154}
    134155
    135 .about-wrap .changelog h2 {
    136     font-size: 1.4em;
    137     font-weight: 600;
    138     text-align: left;
    139 }
    140 
    141 .about-wrap .changelog h3 {
    142     margin: 1.33em 0;
    143     font-size: 1em;
    144     line-height: inherit;
    145     color: #23282d;
    146 }
    147 
    148156.about-wrap code,
    149157.about-wrap ol li p {
    150158    font-size: 14px;
    151159    font-weight: 400;
     160}
     161
     162.about-wrap figcaption {
     163    font-size: 13px;
     164    text-align: center;
     165    color: white;
     166    text-overflow: ellipsis;
    152167}
    153168
     
    162177.about-wrap .about-text {
    163178    margin: 1em 200px 1em 0;
    164     min-height: 60px;
    165179    color: #555d66;
    166180}
     
    176190.about-wrap .feature-section.one-col {
    177191    margin: 0 auto;
    178     max-width: 700px;
     192    max-width: 680px;
    179193}
    180194
     
    198212}
    199213
     214.about-wrap .three-col,
     215.about-wrap .four-col {
     216    margin: auto;
     217    max-width: 1020px;
     218}
     219
    200220.about-wrap .three-col .col {
    201221    align-self: flex-start;
     
    204224}
    205225
     226.about-wrap .four-col .col {
     227    align-self: flex-start;
     228    min-width: 23%;
     229    max-width: 23%;
     230}
     231
     232.about-wrap .feature-section.eight-col .col {
     233    align-self: flex-start;
     234    margin-top: 6px;
     235    min-width: 12%;
     236    max-width: 12%;
     237}
     238
     239.about-wrap .one-col img {
     240    margin: 1em 0 2em;
     241}
     242
    206243.about-wrap .two-col img {
    207244    margin-bottom: 1.5em;
     
    214251.about-wrap .feature-video .mejs-overlay-loading span {
    215252    background: transparent; /* Hide loading.gif */
     253}
     254
     255.about-wrap video {
     256    margin: 1.5em auto;
     257}
     258
     259.about-wrap .cta {
     260    text-align: center;
     261}
     262.about-wrap .cta .button {
     263    margin: 0 auto 5px;
     264    font-weight: 600;
    216265}
    217266
     
    256305
    257306.about-wrap .two-col-text {
    258     -webkit-column-count: 2;
    259307    column-count: 2;
    260     -webkit-column-gap: 40px;
    261308    column-gap: 40px;
    262309}
     
    269316.about-wrap .native-fonts p {
    270317    margin-bottom: 3em;
     318}
     319
     320.about-wrap .under-the-hood img + h3 {
     321    margin-top: 1.25em;
    271322}
    272323
     
    297348.about-wrap .feature-section {
    298349    overflow: hidden;
    299     padding: 0 0 40px;
    300350}
    301351
     
    306356.about-wrap .feature-section .media-container {
    307357    overflow: hidden;
    308 }
    309 
    310 .about-wrap .feature-section img {
    311     margin-bottom: 1em;
    312358}
    313359
     
    347393    text-decoration: none;
    348394    padding: 0 5px;
    349 }
    350 
    351 /* 2.3 Floating Header Layout */
    352 
    353 .about-wrap .floating-header-section {
    354     display: -ms-grid;
    355     display: grid;
    356     grid-gap: 0 60px;
    357     -ms-grid-columns: 5fr 11fr;
    358     grid-template-columns: 5fr 11fr;
    359     max-width: 1020px;
    360     margin: 0 auto 120px;
    361 }
    362 
    363 .about-wrap .floating-header-section .section-header {
    364     -ms-grid-column: 1;
    365     grid-column: 1;
    366     position: relative;
    367     min-width: 230px;
    368     max-width: 300px;
    369 }
    370 
    371 .about-wrap .floating-header-section h2 {
    372     margin: 0;
    373     text-align: left;
    374     position: absolute;
    375 }
    376 
    377 .about-wrap .floating-header-section .section-content {
    378     -ms-grid-column: 2;
    379     grid-column: 2;
    380     display: flex;
    381     justify-content: space-between;
    382     align-items: flex-start;
    383     flex-flow: row wrap;
    384     flex-grow: 2;
    385     flex-shrink: 0;
    386 }
    387 
    388 .about-wrap .floating-header-section .section-item {
    389     flex-grow: 1;
    390     max-width: calc(50% - 30px);
    391 }
    392 
    393 .about-wrap .floating-header-section .section-item:nth-child(1),
    394 .about-wrap .floating-header-section .section-item:nth-child(2) {
    395     margin-bottom: 60px;
    396 }
    397 
    398 .about-wrap .floating-header-section .section-item:nth-child(1):nth-last-child(2),
    399 .about-wrap .floating-header-section .section-item:nth-child(2):nth-last-child(1) {
    400     margin-bottom: 0;
    401 }
    402 
    403 .about-wrap .floating-header-section.has-long-title {
    404     display: block;
    405 }
    406 
    407 .about-wrap .floating-header-section.has-long-title .section-header {
    408     max-width: 100%;
    409 }
    410 
    411 .about-wrap .floating-header-section.has-long-title h2 {
    412     position: static;
    413     margin-bottom: 60px;
    414 }
    415 
    416 .about-wrap .floating-header-section.has-long-title .section-content {
    417     justify-content: flex-start;
    418 }
    419 
    420 .about-wrap .floating-header-section.has-long-title .section-item {
    421     max-width: 300px;
    422     margin-bottom: 0;
    423 }
    424 
    425 .about-wrap .floating-header-section.has-long-title .section-item + .section-item {
    426     margin-left: 60px;
    427395}
    428396
     
    514482}
    515483
     484.freedoms-php .about-wrap .col .freedoms-image {
     485    background-image: url('https://s.w.org/wp-content/themes/pub/wporg-main/images/freedoms-2x.png');
     486    background-size: 100%;
     487    padding-top: 100%;
     488}
     489.freedoms-php .about-wrap .col:nth-of-type(2) .freedoms-image {
     490    background-position: 0 34%;
     491}
     492.freedoms-php .about-wrap .col:nth-of-type(3) .freedoms-image {
     493    background-position: 0 66%;
     494}
     495.freedoms-php .about-wrap .col:nth-of-type(4) .freedoms-image {
     496    background-position: 0 100%;
     497}
     498
    516499/*------------------------------------------------------------------------------
    517500  4.0 - Media Queries
     
    537520@media screen and (max-width: 782px) {
    538521    .about-wrap .two-col-text {
    539         -webkit-column-count: 1;
    540522        column-count: 1;
    541523    }
    542524
    543525    .about-wrap .two-col .col,
    544     .about-wrap .three-col .col {
     526    .about-wrap .three-col .col,
     527    .about-wrap .four-col .col {
    545528        min-width: 48% !important;
    546529    }
    547530
    548     .about-wrap .three-col img {
     531    .about-wrap .eight-col .col {
     532        min-width: 24% !important;
     533    }
     534
     535    .about-wrap .three-col img,
     536    .about-wrap .four-col img,
     537    .about-wrap .eight-col img {
    549538        display: block;
    550539        margin: 0 auto;
     540    }
     541
     542    .about-wrap figcaption {
     543        position: relative;
     544        margin-top: 10px;
     545        margin-bottom: 15px;
     546        padding: 0;
     547        background: none;
     548        color: #40464D;
     549        text-shadow: none;
    551550    }
    552551
     
    587586    }
    588587
     588    .about-wrap .feature-section .col {
     589        margin-top: 1em;
     590    }
     591
    589592    .about-wrap .two-col .col,
     593    .about-wrap .three-col .col,
    590594    .about-wrap .three-col .col {
    591595        min-width: 100% !important;
    592596    }
    593597
     598    .about-wrap .eight-col .col {
     599        min-width: 48% !important;
     600    }
     601
     602    .about-wrap .under-the-hood.four-col .col,
    594603    .about-wrap .under-the-hood.three-col .col,
    595604    .about-wrap .under-the-hood.two-col .col,
     
    604613    }
    605614
    606     .about-wrap .under-the-hood:nth-of-type(2n) h3,
    607     .about-wrap .under-the-hood:nth-of-type(3n) h3 {
    608         margin-top: 0;
     615    .about-wrap .under-the-hood img + h3 {
     616        margin-top: 1.25em;
    609617    }
    610618
  • trunk/src/wp-admin/freedoms.php

    r43569 r44264  
    3131<h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
    3232
    33 <p class="about-text"><?php printf( __( 'Thank you for updating to the latest version! WordPress %s will smooth your design workflow and keep you safe from coding errors.' ), $display_version ); ?></p>
     33<p class="about-text"><?php printf( __( 'Thank you for updating to the latest version! WordPress %s introduces a robust new content creation experience.' ), $display_version ); ?></p>
    3434
    3535<div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
     
    5454<?php else : ?>
    5555<div class="about-wrap-content">
    56     <p class="about-description"><?php printf( __( 'WordPress is Free and open source software, built by a distributed community of mostly volunteer developers from around the world. WordPress comes with some awesome, worldview-changing rights courtesy of its <a href="%s">license</a>, the GPL.' ), 'https://wordpress.org/about/license/' ); ?></p>
     56    <div class="feature-section one-col">
     57        <div class="col">
     58            <h2><?php _e( 'Freedoms' ); ?></h2>
     59            <p class="about-description"><?php printf( __( 'WordPress is Free and open source software, built by a distributed community of mostly volunteer developers from around the world. WordPress comes with some awesome, worldview-changing rights courtesy of its <a href="%s">license</a>, the GPL.' ), 'https://wordpress.org/about/license/' ); ?></p>
     60        </div>
     61    </div>
    5762
    58     <ol start="0">
    59         <li><p><?php _e( 'You have the freedom to run the program, for any purpose.' ); ?></p></li>
    60         <li><p><?php _e( 'You have access to the source code, the freedom to study how the program works, and the freedom to change it to make it do what you wish.' ); ?></p></li>
    61         <li><p><?php _e( 'You have the freedom to redistribute copies of the original program so you can help your neighbor.' ); ?></p></li>
    62         <li><p><?php _e( 'You have the freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes.' ); ?></p></li>
    63     </ol>
     63    <div class="feature-section four-col">
     64        <div class="col">
     65            <div class="freedoms-image"></div>
     66            <h3><?php _e( 'The 1st Freedom' ); ?></h3>
     67            <p><?php _e( 'To run the program for any purpose.' ); ?></p>
     68        </div>
     69        <div class="col">
     70            <div class="freedoms-image"></div>
     71            <h3><?php _e( 'The 2nd Freedom' ); ?></h3>
     72            <p><?php _e( 'To study how the program works and change it to make it do what you wish.' ); ?></p>
     73        </div>
     74        <div class="col">
     75            <div class="freedoms-image"></div>
     76            <h3><?php _e( 'The 3rd Freedom' ); ?></h3>
     77            <p><?php _e( 'To redistribute.' ); ?></p>
     78        </div>
     79        <div class="col">
     80            <div class="freedoms-image"></div>
     81            <h3><?php _e( 'The 4th Freedom' ); ?></h3>
     82            <p><?php _e( 'To distribute copies of your modified versions to others.' ); ?></p>
     83        </div>
     84    </div>
    6485
    65     <p><?php printf( __( 'WordPress grows when people like you tell their friends about it, and the thousands of businesses and services that are built on and around WordPress share that fact with their users. We&#8217;re flattered every time someone spreads the good word, just make sure to <a href="%s">check out our trademark guidelines</a> first.' ), 'https://wordpressfoundation.org/trademark-policy/' ); ?></p>
     86    <div class="feature-section one-col">
     87        <div class="col">
     88            <p><?php printf( __( 'WordPress grows when people like you tell their friends about it, and the thousands of businesses and services that are built on and around WordPress share that fact with their users. We&#8217;re flattered every time someone spreads the good word, just make sure to <a href="%s">check out our trademark guidelines</a> first.' ), 'https://wordpressfoundation.org/trademark-policy/' ); ?></p>
    6689
    67     <p>
    68     <?php
     90            <p>
     91            <?php
     92                $plugins_url = current_user_can( 'activate_plugins' ) ? admin_url( 'plugins.php' ) : __( 'https://wordpress.org/plugins/' );
     93                $themes_url  = current_user_can( 'switch_themes' ) ? admin_url( 'themes.php' ) : __( 'https://wordpress.org/themes/' );
    6994
    70     $plugins_url = current_user_can( 'activate_plugins' ) ? admin_url( 'plugins.php' ) : __( 'https://wordpress.org/plugins/' );
    71     $themes_url  = current_user_can( 'switch_themes' ) ? admin_url( 'themes.php' ) : __( 'https://wordpress.org/themes/' );
     95                printf( __( 'Every plugin and theme in WordPress.org&#8217;s directory is 100%% GPL or a similarly free and compatible license, so you can feel safe finding <a href="%1$s">plugins</a> and <a href="%2$s">themes</a> there. If you get a plugin or theme from another source, make sure to <a href="%3$s">ask them if it&#8217;s GPL</a> first. If they don&#8217;t respect the WordPress license, we don&#8217;t recommend them.' ), $plugins_url, $themes_url, 'https://wordpress.org/about/license/' );
     96            ?>
     97            </p>
    7298
    73     printf( __( 'Every plugin and theme in WordPress.org&#8217;s directory is 100%% GPL or a similarly free and compatible license, so you can feel safe finding <a href="%1$s">plugins</a> and <a href="%2$s">themes</a> there. If you get a plugin or theme from another source, make sure to <a href="%3$s">ask them if it&#8217;s GPL</a> first. If they don&#8217;t respect the WordPress license, we don&#8217;t recommend them.' ), $plugins_url, $themes_url, 'https://wordpress.org/about/license/' );
    74     ?>
    75     </p>
    76 
    77     <p><?php _e( 'Don&#8217;t you wish all software came with these freedoms? So do we! For more information, check out the <a href="https://www.fsf.org/">Free Software Foundation</a>.' ); ?></p>
     99            <p><?php _e( 'Don&#8217;t you wish all software came with these freedoms? So do we! For more information, check out the <a href="https://www.fsf.org/">Free Software Foundation</a>.' ); ?></p>
     100        </div>
     101    </div>
    78102</div>
    79103
  • trunk/src/wp-admin/includes/class-wp-plugin-install-list-table.php

    r43669 r44264  
    185185                if ( isset( $_GET['_wpnonce'] ) && wp_verify_nonce( wp_unslash( $_GET['_wpnonce'] ), $action ) ) {
    186186                    $user = isset( $_GET['user'] ) ? wp_unslash( $_GET['user'] ) : get_user_option( 'wporg_favorites' );
    187                     update_user_meta( get_current_user_id(), 'wporg_favorites', $user );
     187
     188                    // If the save url parameter is passed with a falsey value, don't save the favorite user.
     189                    if ( ! isset( $_GET['save'] ) || $_GET['save'] ) {
     190                        update_user_meta( get_current_user_id(), 'wporg_favorites', $user );
     191                    }
    188192                } else {
    189193                    $user = get_user_option( 'wporg_favorites' );
  • trunk/src/wp-admin/includes/upgrade.php

    r44168 r44264  
    21072107            return;
    21082108        }
     2109
     2110        $was_active = is_plugin_active( 'gutenberg/gutenberg.php' );
     2111        if ( $was_active ) {
     2112            // FIXME: Leave until 501 or 510 to clean up.
     2113            update_site_option( 'upgrade_500_was_gutenberg_active', '1' );
     2114        }
     2115
    21092116        deactivate_plugins( array( 'gutenberg/gutenberg.php' ), true );
    21102117    }
  • trunk/src/wp-includes/class-wp-block-parser.php

    r44261 r44264  
    6464
    6565    function __construct( $name, $attrs, $innerBlocks, $innerHTML, $innerContent ) {
    66         $this->blockName    = $name;
    67         $this->attrs        = $attrs;
    68         $this->innerBlocks  = $innerBlocks;
    69         $this->innerHTML    = $innerHTML;
     66        $this->blockName   = $name;
     67        $this->attrs       = $attrs;
     68        $this->innerBlocks = $innerBlocks;
     69        $this->innerHTML   = $innerHTML;
    7070        $this->innerContent = $innerContent;
    7171    }
     
    270270                if ( 0 === $stack_depth ) {
    271271                    if ( isset( $leading_html_start ) ) {
    272                         $this->output[] = (array) self::freeform(
    273                             substr(
    274                                 $this->document,
    275                                 $leading_html_start,
    276                                 $start_offset - $leading_html_start
    277                             )
    278                         );
     272                        $this->output[] = (array) self::freeform( substr(
     273                            $this->document,
     274                            $leading_html_start,
     275                            $start_offset - $leading_html_start
     276                        ) );
    279277                    }
    280278
    281279                    $this->output[] = (array) new WP_Block_Parser_Block( $block_name, $attrs, array(), '', array() );
    282                     $this->offset   = $start_offset + $token_length;
     280                    $this->offset = $start_offset + $token_length;
    283281                    return true;
    284282                }
     
    295293            case 'block-opener':
    296294                // track all newly-opened blocks on the stack
    297                 array_push(
    298                     $this->stack,
    299                     new WP_Block_Parser_Frame(
    300                         new WP_Block_Parser_Block( $block_name, $attrs, array(), '', array() ),
    301                         $start_offset,
    302                         $token_length,
    303                         $start_offset + $token_length,
    304                         $leading_html_start
    305                     )
    306                 );
     295                array_push( $this->stack, new WP_Block_Parser_Frame(
     296                    new WP_Block_Parser_Block( $block_name, $attrs, array(), '', array() ),
     297                    $start_offset,
     298                    $token_length,
     299                    $start_offset + $token_length,
     300                    $leading_html_start
     301                ) );
    307302                $this->offset = $start_offset + $token_length;
    308303                return true;
     
    335330                 * block and add it as a new innerBlock to the parent
    336331                 */
    337                 $stack_top                        = array_pop( $this->stack );
    338                 $html                             = substr( $this->document, $stack_top->prev_offset, $start_offset - $stack_top->prev_offset );
    339                 $stack_top->block->innerHTML     .= $html;
     332                $stack_top = array_pop( $this->stack );
     333                $html = substr( $this->document, $stack_top->prev_offset, $start_offset - $stack_top->prev_offset );
     334                $stack_top->block->innerHTML .= $html;
    340335                $stack_top->block->innerContent[] = $html;
    341                 $stack_top->prev_offset           = $start_offset + $token_length;
     336                $stack_top->prev_offset = $start_offset + $token_length;
    342337
    343338                $this->add_inner_block(
     
    391386        }
    392387
    393         list( $match, $started_at ) = $matches[0];
     388        list( $match, $started_at ) = $matches[ 0 ];
    394389
    395390        $length    = strlen( $match );
    396         $is_closer = isset( $matches['closer'] ) && -1 !== $matches['closer'][1];
    397         $is_void   = isset( $matches['void'] ) && -1 !== $matches['void'][1];
    398         $namespace = $matches['namespace'];
    399         $namespace = ( isset( $namespace ) && -1 !== $namespace[1] ) ? $namespace[0] : 'core/';
    400         $name      = $namespace . $matches['name'][0];
    401         $has_attrs = isset( $matches['attrs'] ) && -1 !== $matches['attrs'][1];
     391        $is_closer = isset( $matches[ 'closer' ] ) && -1 !== $matches[ 'closer' ][ 1 ];
     392        $is_void   = isset( $matches[ 'void' ] ) && -1 !== $matches[ 'void' ][ 1 ];
     393        $namespace = $matches[ 'namespace' ];
     394        $namespace = ( isset( $namespace ) && -1 !== $namespace[ 1 ] ) ? $namespace[ 0 ] : 'core/';
     395        $name      = $namespace . $matches[ 'name' ][ 0 ];
     396        $has_attrs = isset( $matches[ 'attrs' ] ) && -1 !== $matches[ 'attrs' ][ 1 ];
    402397
    403398        /*
     
    406401         */
    407402        $attrs = $has_attrs
    408             ? json_decode( $matches['attrs'][0], /* as-associative */ true )
     403            ? json_decode( $matches[ 'attrs' ][ 0 ], /* as-associative */ true )
    409404            : $this->empty_attrs;
    410405
     
    471466     */
    472467    function add_inner_block( WP_Block_Parser_Block $block, $token_start, $token_length, $last_offset = null ) {
    473         $parent                       = $this->stack[ count( $this->stack ) - 1 ];
     468        $parent = $this->stack[ count( $this->stack ) - 1 ];
    474469        $parent->block->innerBlocks[] = (array) $block;
    475         $html                         = substr( $this->document, $parent->prev_offset, $token_start - $parent->prev_offset );
     470        $html = substr( $this->document, $parent->prev_offset, $token_start - $parent->prev_offset );
    476471
    477472        if ( ! empty( $html ) ) {
    478             $parent->block->innerHTML     .= $html;
     473            $parent->block->innerHTML .= $html;
    479474            $parent->block->innerContent[] = $html;
    480475        }
    481476
    482477        $parent->block->innerContent[] = null;
    483         $parent->prev_offset           = $last_offset ? $last_offset : $token_start + $token_length;
     478        $parent->prev_offset = $last_offset ? $last_offset : $token_start + $token_length;
    484479    }
    485480
     
    500495
    501496        if ( ! empty( $html ) ) {
    502             $stack_top->block->innerHTML     .= $html;
     497            $stack_top->block->innerHTML .= $html;
    503498            $stack_top->block->innerContent[] = $html;
    504499        }
    505500
    506501        if ( isset( $stack_top->leading_html_start ) ) {
    507             $this->output[] = (array) self::freeform(
    508                 substr(
    509                     $this->document,
    510                     $stack_top->leading_html_start,
    511                     $stack_top->token_start - $stack_top->leading_html_start
    512                 )
    513             );
     502            $this->output[] = (array) self::freeform( substr(
     503                $this->document,
     504                $stack_top->leading_html_start,
     505                $stack_top->token_start - $stack_top->leading_html_start
     506            ) );
    514507        }
    515508
Note: See TracChangeset for help on using the changeset viewer.