WordPress.org

Making WordPress.org

Changeset 4410


Ignore:
Timestamp:
11/24/2016 01:38:06 AM (5 years ago)
Author:
dd32
Message:

Plugin Directory: Clean up the section templates, bring some custom functionality into their respective shortcodes and shifting the read-more logic from CSS/JS to PHP/HTML.

Location:
sites/trunk/wordpress.org/public_html/wp-content
Files:
1 added
3 deleted
13 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-developers.php

    r4278 r4410  
    1616    static function display() {
    1717        $post         = get_post();
     18        $output = '';
    1819
    1920        if ( $contributors = get_the_terms( $post->ID, 'plugin_contributors' ) ) {
     
    2728        sort( $contributors, SORT_NATURAL );
    2829
    29         $output = '<ul class="plugin-developers">';
     30        $output .= '<p>' . __( 'This is open source software. The following people have contributed to this plugin.', 'wporg-plugins' ) . '</p>';
     31
     32        $output .= '<ul class="plugin-developers">';
    3033        foreach ( $contributors as $contributor_slug ) {
    3134            $contributor = get_user_by( 'slug', $contributor_slug );
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-reviews.php

    r4388 r4410  
    1616    static function display() {
    1717        $reviews = Tools::get_plugin_reviews( get_post()->post_name );
     18        $review_count = array_sum( get_post_meta( get_the_ID(), 'ratings', true ) );
    1819
    1920        if ( empty( $reviews ) ) {
     
    5152        </div>
    5253
     54        <a class="reviews-link" href="<?php echo esc_url( 'https://wordpress.org/support/plugin/' . get_post()->post_name . '/reviews/' ); ?>">
     55            <?php printf( __( 'Read all %s reviews', 'wporg-plugins' ), number_format_i18n( $review_count ) ); ?>
     56        </a>
     57
    5358        <?php
    5459        return ob_get_clean();
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/plugin/sections/faq/index.jsx

    r4223 r4410  
    2222
    2323        return (
    24             <div id="faq" className="plugin-faqs">
     24            <div id="faq">
    2525                <h2>FAQ</h2>
    2626                <div onClick={ this.toggleAnswer } dangerouslySetInnerHTML={ { __html: this.props.content } } />
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/plugin/sections/faq/style.scss

    r4313 r4410  
    1 .plugin-faqs {
     1#faq {
    22    h2:first-of-type {
    33        font-size: ms( 2 );
     
    5050}
    5151
    52 .no-js .plugin-faqs dd {
     52.no-js #faq dd {
    5353    display: block;
    5454}
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/plugin/sections/index.jsx

    r4223 r4410  
    77        return (
    88            <div>
    9                 <div id={ this.props.slug } className="read-more" aria-expanded="false">
     9                <div id={ this.props.slug } className="section read-more" aria-expanded="false">
    1010                    <h2>{ this.props.title }</h2>
    1111                    <div dangerouslySetInnerHTML={ { __html: this.props.content } } />
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/plugin/sections/style.scss

    r4399 r4410  
    1 .read-more {
    2     border-bottom: 2px solid $color__border;
    3     max-height: 200px;
    4     overflow: hidden;
    5     padding-bottom: 1px;
     1.section {
    62
    7     &#reviews {
    8         max-height: none;
    9         overflow: auto;
    10     }
     3    &.read-more {
     4        border-bottom: 2px solid $color__border;
     5        max-height: 200px;
     6        overflow: hidden;
     7        padding-bottom: 1px;
    118
    12     &:nth-of-type(1) {
    13         max-height: 400px;
     9        &#description {
     10            max-height: 400px;
     11        }
     12
     13        &.toggled {
     14            max-height: none;
     15        }
     16
    1417    }
    1518
     
    5053        margin-top: 0;
    5154    }
    52 
    53     &.toggled {
    54         max-height: none;
    55     }
    56 }
    57 
    58 #screenshots.read-more {
    59     border-bottom: none;
    6055}
    6156
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/css/style-rtl.css

    r4408 r4410  
    22092209}
    22102210
    2211 .plugin-faqs h2:first-of-type {
     2211#faq h2:first-of-type {
    22122212  font-size: 20px;
    22132213  font-size: 1.25rem;
     
    22222222}
    22232223
    2224 .plugin-faqs dl {
     2224#faq dl {
    22252225  border-bottom: 1px solid #eee;
    22262226}
    22272227
    2228 .plugin-faqs dt {
     2228#faq dt {
    22292229  border-top: 1px solid #eee;
    22302230  cursor: pointer;
     
    22362236}
    22372237
    2238 .plugin-faqs dt:before {
     2238#faq dt:before {
    22392239  content: "\f347";
    22402240  float: left;
     
    22442244}
    22452245
    2246 .plugin-faqs dt.open:before {
     2246#faq dt.open:before {
    22472247  content: "\f343";
    22482248}
    22492249
    2250 .plugin-faqs dd {
     2250#faq dd {
    22512251  display: none;
    22522252  margin: 0 0 16px;
     
    22542254}
    22552255
    2256 .plugin-faqs dd p {
     2256#faq dd p {
    22572257  margin: 0;
    22582258}
    22592259
    2260 .plugin-faqs dd p + p {
     2260#faq dd p + p {
    22612261  margin-top: 16px;
    22622262  margin-top: 1rem;
    22632263}
    22642264
    2265 .no-js .plugin-faqs dd {
     2265.no-js #faq dd {
    22662266  display: block;
    22672267}
     
    25622562}
    25632563
    2564 .read-more {
     2564.section.read-more {
    25652565  border-bottom: 2px solid #eee;
    25662566  max-height: 200px;
     
    25692569}
    25702570
    2571 .read-more#reviews {
     2571.section.read-more#description {
     2572  max-height: 400px;
     2573}
     2574
     2575.section.read-more.toggled {
    25722576  max-height: none;
    2573   overflow: auto;
    2574 }
    2575 
    2576 .read-more:nth-of-type(1) {
    2577   max-height: 400px;
    2578 }
    2579 
    2580 .read-more h1, .read-more h2, .read-more h3 {
     2577}
     2578
     2579.section h1, .section h2, .section h3 {
    25812580  font-size: 16px;
    25822581  font-size: 1rem;
     
    25872586}
    25882587
    2589 .read-more h1:nth-child(2), .read-more h2:nth-child(2), .read-more h3:nth-child(2) {
     2588.section h1:nth-child(2), .section h2:nth-child(2), .section h3:nth-child(2) {
    25902589  margin-top: 0;
    25912590}
    25922591
    2593 .read-more h4, .read-more h5, .read-more h6 {
     2592.section h4, .section h5, .section h6 {
    25942593  font-size: 12.8px;
    25952594  font-size: 0.8rem;
     
    26002599}
    26012600
    2602 .read-more h4:nth-child(2), .read-more h5:nth-child(2), .read-more h6:nth-child(2) {
     2601.section h4:nth-child(2), .section h5:nth-child(2), .section h6:nth-child(2) {
    26032602  margin-top: 0;
    26042603}
    26052604
    2606 .read-more h2:first-of-type {
     2605.section h2:first-of-type {
    26072606  font-size: 20px;
    26082607  font-size: 1.25rem;
     
    26142613}
    26152614
    2616 .read-more p:first-child {
     2615.section p:first-child {
    26172616  margin-top: 0;
    2618 }
    2619 
    2620 .read-more.toggled {
    2621   max-height: none;
    2622 }
    2623 
    2624 #screenshots.read-more {
    2625   border-bottom: none;
    26262617}
    26272618
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/css/style.css

    r4408 r4410  
    22092209}
    22102210
    2211 .plugin-faqs h2:first-of-type {
     2211#faq h2:first-of-type {
    22122212  font-size: 20px;
    22132213  font-size: 1.25rem;
     
    22222222}
    22232223
    2224 .plugin-faqs dl {
     2224#faq dl {
    22252225  border-bottom: 1px solid #eee;
    22262226}
    22272227
    2228 .plugin-faqs dt {
     2228#faq dt {
    22292229  border-top: 1px solid #eee;
    22302230  cursor: pointer;
     
    22362236}
    22372237
    2238 .plugin-faqs dt:before {
     2238#faq dt:before {
    22392239  content: "\f347";
    22402240  float: right;
     
    22442244}
    22452245
    2246 .plugin-faqs dt.open:before {
     2246#faq dt.open:before {
    22472247  content: "\f343";
    22482248}
    22492249
    2250 .plugin-faqs dd {
     2250#faq dd {
    22512251  display: none;
    22522252  margin: 0 0 16px;
     
    22542254}
    22552255
    2256 .plugin-faqs dd p {
     2256#faq dd p {
    22572257  margin: 0;
    22582258}
    22592259
    2260 .plugin-faqs dd p + p {
     2260#faq dd p + p {
    22612261  margin-top: 16px;
    22622262  margin-top: 1rem;
    22632263}
    22642264
    2265 .no-js .plugin-faqs dd {
     2265.no-js #faq dd {
    22662266  display: block;
    22672267}
     
    25622562}
    25632563
    2564 .read-more {
     2564.section.read-more {
    25652565  border-bottom: 2px solid #eee;
    25662566  max-height: 200px;
     
    25692569}
    25702570
    2571 .read-more#reviews {
     2571.section.read-more#description {
     2572  max-height: 400px;
     2573}
     2574
     2575.section.read-more.toggled {
    25722576  max-height: none;
    2573   overflow: auto;
    2574 }
    2575 
    2576 .read-more:nth-of-type(1) {
    2577   max-height: 400px;
    2578 }
    2579 
    2580 .read-more h1, .read-more h2, .read-more h3 {
     2577}
     2578
     2579.section h1, .section h2, .section h3 {
    25812580  font-size: 16px;
    25822581  font-size: 1rem;
     
    25872586}
    25882587
    2589 .read-more h1:nth-child(2), .read-more h2:nth-child(2), .read-more h3:nth-child(2) {
     2588.section h1:nth-child(2), .section h2:nth-child(2), .section h3:nth-child(2) {
    25902589  margin-top: 0;
    25912590}
    25922591
    2593 .read-more h4, .read-more h5, .read-more h6 {
     2592.section h4, .section h5, .section h6 {
    25942593  font-size: 12.8px;
    25952594  font-size: 0.8rem;
     
    26002599}
    26012600
    2602 .read-more h4:nth-child(2), .read-more h5:nth-child(2), .read-more h6:nth-child(2) {
     2601.section h4:nth-child(2), .section h5:nth-child(2), .section h6:nth-child(2) {
    26032602  margin-top: 0;
    26042603}
    26052604
    2606 .read-more h2:first-of-type {
     2605.section h2:first-of-type {
    26072606  font-size: 20px;
    26082607  font-size: 1.25rem;
     
    26142613}
    26152614
    2616 .read-more p:first-child {
     2615.section p:first-child {
    26172616  margin-top: 0;
    2618 }
    2619 
    2620 .read-more.toggled {
    2621   max-height: none;
    2622 }
    2623 
    2624 #screenshots.read-more {
    2625   border-bottom: none;
    26262617}
    26272618
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/functions.php

    r4397 r4410  
    6565    if ( is_singular( 'plugin' ) ) {
    6666        wp_enqueue_script( 'wporg-plugins-accordion', get_template_directory_uri() . '/js/section-accordion.js', array(), '20161121', true );
     67        wp_enqueue_script( 'wporg-plugins-faq-accordion', get_template_directory_uri() . '/js/section-faq.js', array(), '20161124', true );
    6768    }
    6869
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/js/section-accordion.js

    r4387 r4410  
    3030                    $section_toggle = $( '.section-toggle[aria-controls="' + el.id + '"]' );
    3131
    32                 if ( $el.height() / el.scrollHeight > 0.8 || el.id == 'screenshots' ) {
     32                if ( $el.height() / el.scrollHeight > 0.8 ) {
    3333                    // Force the section to expand, and hide its button
    3434                    $el.toggleClass( 'toggled' ).addClass('short-content').attr( 'aria-expanded', true );
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/plugin-single.php

    r4335 r4410  
    1212use WordPressdotorg\Plugin_Directory\Template;
    1313use WordPressdotorg\Plugin_Directory\Tools;
    14 global $section, $section_slug, $section_content;
     14global $section, $section_slug, $section_content, $section_read_more;
    1515
    1616$content = Plugin_Directory::instance()->split_post_content_into_pages( get_the_content() );
     
    114114        <?php
    115115        if ( get_query_var( 'plugin_admin' ) ) :
    116             get_template_part( 'template-parts/section', 'admin' );
     116            get_template_part( 'template-parts/section-admin' );
    117117        else:
    118118            $plugin_sections = Template::get_plugin_sections();
    119119
    120120            foreach ( array( 'description', 'screenshots', 'faq', 'reviews', 'changelog', 'developers' ) as $section_slug ) :
    121                 if ( ! array_key_exists( $section_slug, $content ) || in_array( $section_slug, array( 'installation', 'other_notes' ) ) ) :
     121                if ( ! isset( $content[ $section_slug ] ) ) {
    122122                    continue;
    123                 endif;
     123                }
    124124
    125125                $section_content = trim( apply_filters( 'the_content', $content[ $section_slug ], $section_slug ) );
    126                 if ( empty( $section_content ) ) :
     126                if ( empty( $section_content ) ) {
    127127                    continue;
    128                 endif;
     128                }
    129129
    130130                $section = wp_list_filter( $plugin_sections, array( 'slug' => $section_slug ) );
    131131                $section = array_pop( $section );
    132132
    133                 get_template_part( 'template-parts/section', $section_slug );
     133                $section_no_read_mores = array( 'screenshots', 'reviews' );
     134                // If the FAQ section is the newer `<dl>` form, no need to do read-more for it.
     135                if ( false !== stripos( $section_content, '<dl>' ) ) {
     136                    $section_no_read_mores[] = 'faq';
     137                }
     138               
     139                $section_read_more = ! in_array( $section_slug, $section_no_read_mores );
     140
     141                get_template_part( 'template-parts/section' );
    134142            endforeach;
    135143        endif; // plugin_admin
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/section-admin.php

    r4260 r4410  
    1212use WordPressdotorg\Plugin_Directory\Template;
    1313?>
    14 <div id="admin">
     14<div id="admin" class="section">
    1515    <h2><?php _e( 'Plugin Stats', 'wporg-plugins' ); ?></h2>
    1616
    17     <h3><?php _e( 'Active versions', 'wporg-plugins' ); ?></h3>
     17    <h4><?php _e( 'Active versions', 'wporg-plugins' ); ?></h4>
    1818    <div id="plugin-version-stats" class="chart"></div>
    1919
    20     <h3><?php _e( 'Downloads Per Day', 'wporg-plugins' ); ?></h3>
     20    <h4><?php _e( 'Downloads Per Day', 'wporg-plugins' ); ?></h4>
    2121    <div id="plugin-download-stats" class="chart"></div>
    2222
    23     <h4><?php _e( 'Downloads history', 'wporg-plugins' ); ?></h4>
     23    <h5><?php _e( 'Downloads history', 'wporg-plugins' ); ?></h5>
    2424    <table id="plugin-download-history-stats"><tbody></tbody></table>
    2525
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/section.php

    r4387 r4410  
    88 */
    99
    10 global $section, $section_slug, $section_content;
     10global $section, $section_slug, $section_content, $section_read_more;
     11
    1112?>
    1213
    13 <div id="<?php echo esc_attr( $section_slug ); ?>" class="read-more" aria-expanded="false">
     14<div
     15    id="<?php echo esc_attr( $section_slug ); ?>"
     16    <?php if ( $section_read_more ) : ?>
     17        class="section read-more"
     18        aria-expanded="false"
     19    <?php else: ?>
     20        class="section"
     21    <?php endif; ?>
     22>
    1423    <h2><?php echo $section['title']; ?></h2>
    1524    <?php echo $section_content; ?>
    1625</div>
     26<?php if ( $section_read_more ) : ?>
    1727<button
    1828    type="button"
     
    2232    data-read-more="<?php esc_attr_e( 'Read more', 'wporg-plugins' ); ?>"
    2333><?php _e( 'Read more', 'wporg-plugins' ); ?></button>
     34<?php endif; ?>
Note: See TracChangeset for help on using the changeset viewer.