Version Description
(2016-10-10 =
- Fix: Don't fire the_content for featured image output
- Fix: Don't show comment link when disabled and no comments on post (h/t neotrope)
- Fix: strip
!importantfrom inline styles (h/t compointdesigner and enriccardonagmailcom)
Download this release
Release Info
| Developer | batmoo |
| Plugin | |
| Version | 0.4.1 |
| Comparing to | |
| See all releases | |
Code changes from version 0.4 to 0.4.1
- amp.php +2 -2
- includes/class-amp-content.php +26 -5
- includes/class-amp-post-template.php +13 -10
- includes/sanitizers/class-amp-style-sanitizer.php +5 -0
- readme.txt +8 -1
amp.php
CHANGED
|
@@ -5,7 +5,7 @@
|
|
| 5 |
* Plugin URI: https://github.com/automattic/amp-wp
|
| 6 |
* Author: Automattic
|
| 7 |
* Author URI: https://automattic.com
|
| 8 |
-
* Version: 0.4
|
| 9 |
* Text Domain: amp
|
| 10 |
* Domain Path: /languages/
|
| 11 |
* License: GPLv2 or later
|
|
@@ -13,7 +13,7 @@
|
|
| 13 |
|
| 14 |
define( 'AMP__FILE__', __FILE__ );
|
| 15 |
define( 'AMP__DIR__', dirname( __FILE__ ) );
|
| 16 |
-
define( 'AMP__VERSION', '0.4' );
|
| 17 |
|
| 18 |
require_once( AMP__DIR__ . '/back-compat/back-compat.php' );
|
| 19 |
require_once( AMP__DIR__ . '/includes/amp-helper-functions.php' );
|
| 5 |
* Plugin URI: https://github.com/automattic/amp-wp
|
| 6 |
* Author: Automattic
|
| 7 |
* Author URI: https://automattic.com
|
| 8 |
+
* Version: 0.4.1
|
| 9 |
* Text Domain: amp
|
| 10 |
* Domain Path: /languages/
|
| 11 |
* License: GPLv2 or later
|
| 13 |
|
| 14 |
define( 'AMP__FILE__', __FILE__ );
|
| 15 |
define( 'AMP__DIR__', dirname( __FILE__ ) );
|
| 16 |
+
define( 'AMP__VERSION', '0.4.1' );
|
| 17 |
|
| 18 |
require_once( AMP__DIR__ . '/back-compat/back-compat.php' );
|
| 19 |
require_once( AMP__DIR__ . '/includes/amp-helper-functions.php' );
|
includes/class-amp-content.php
CHANGED
|
@@ -82,10 +82,28 @@ class AMP_Content {
|
|
| 82 |
}
|
| 83 |
|
| 84 |
private function sanitize( $content ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 85 |
$dom = AMP_DOM_Utils::get_dom_from_content( $content );
|
| 86 |
|
| 87 |
-
foreach ( $
|
| 88 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 89 |
|
| 90 |
if ( ! is_subclass_of( $sanitizer, 'AMP_Base_Sanitizer' ) ) {
|
| 91 |
_doing_it_wrong( __METHOD__, sprintf( __( 'Sanitizer (%s) must extend `AMP_Base_Sanitizer`', 'amp' ), esc_html( $sanitizer_class ) ), '0.1' );
|
|
@@ -93,10 +111,13 @@ class AMP_Content {
|
|
| 93 |
}
|
| 94 |
|
| 95 |
$sanitizer->sanitize();
|
| 96 |
-
|
| 97 |
-
$
|
|
|
|
| 98 |
}
|
| 99 |
|
| 100 |
-
|
|
|
|
|
|
|
| 101 |
}
|
| 102 |
}
|
| 82 |
}
|
| 83 |
|
| 84 |
private function sanitize( $content ) {
|
| 85 |
+
list( $sanitized_content, $scripts, $styles ) = AMP_Content_Sanitizer::sanitize( $content, $this->sanitizer_classes, $this->args );
|
| 86 |
+
|
| 87 |
+
$this->add_scripts( $scripts );
|
| 88 |
+
$this->add_styles( $styles );
|
| 89 |
+
|
| 90 |
+
return $sanitized_content;
|
| 91 |
+
}
|
| 92 |
+
}
|
| 93 |
+
|
| 94 |
+
class AMP_Content_Sanitizer {
|
| 95 |
+
public static function sanitize( $content, $sanitizer_classes, $args = array() ) {
|
| 96 |
+
$scripts = array();
|
| 97 |
+
$styles = array();
|
| 98 |
$dom = AMP_DOM_Utils::get_dom_from_content( $content );
|
| 99 |
|
| 100 |
+
foreach ( $sanitizer_classes as $sanitizer_class => $args ) {
|
| 101 |
+
if ( ! class_exists( $sanitizer_class ) ) {
|
| 102 |
+
_doing_it_wrong( __METHOD__, sprintf( __( 'Sanitizer (%s) class does not exist', 'amp' ), esc_html( $sanitizer_class ) ), '0.4.1' );
|
| 103 |
+
continue;
|
| 104 |
+
}
|
| 105 |
+
|
| 106 |
+
$sanitizer = new $sanitizer_class( $dom, array_merge( $args, $args ) );
|
| 107 |
|
| 108 |
if ( ! is_subclass_of( $sanitizer, 'AMP_Base_Sanitizer' ) ) {
|
| 109 |
_doing_it_wrong( __METHOD__, sprintf( __( 'Sanitizer (%s) must extend `AMP_Base_Sanitizer`', 'amp' ), esc_html( $sanitizer_class ) ), '0.1' );
|
| 111 |
}
|
| 112 |
|
| 113 |
$sanitizer->sanitize();
|
| 114 |
+
|
| 115 |
+
$scripts = array_merge( $scripts, $sanitizer->get_scripts() );
|
| 116 |
+
$styles = array_merge( $styles, $sanitizer->get_styles() );
|
| 117 |
}
|
| 118 |
|
| 119 |
+
$sanitized_content = AMP_DOM_Utils::get_content_from_dom( $dom );
|
| 120 |
+
|
| 121 |
+
return array( $sanitized_content, $scripts, $styles );
|
| 122 |
}
|
| 123 |
}
|
includes/class-amp-post-template.php
CHANGED
|
@@ -196,8 +196,16 @@ class AMP_Post_Template {
|
|
| 196 |
return;
|
| 197 |
}
|
| 198 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 199 |
$comments_link_url = get_comments_link( $this->ID );
|
| 200 |
-
$comments_link_text = comments_open
|
| 201 |
? __( 'Leave a Comment', 'amp' )
|
| 202 |
: __( 'View Comments', 'amp' );
|
| 203 |
|
|
@@ -259,21 +267,16 @@ class AMP_Post_Template {
|
|
| 259 |
|
| 260 |
$featured_image = get_post( $featured_id );
|
| 261 |
|
| 262 |
-
|
| 263 |
-
$featured_amp_content = new AMP_Content(
|
| 264 |
$featured_html,
|
| 265 |
-
array(),
|
| 266 |
array(
|
| 267 |
-
|
| 268 |
-
),
|
| 269 |
-
array(
|
| 270 |
-
'content_max_width' => $this->get( 'content_max_width' ),
|
| 271 |
)
|
| 272 |
);
|
| 273 |
-
add_filter( 'the_content', 'wpautop' );
|
| 274 |
|
| 275 |
$this->add_data_by_key( 'featured_image', array(
|
| 276 |
-
'amp_html' => $
|
| 277 |
'caption' => $featured_image->post_excerpt,
|
| 278 |
) );
|
| 279 |
}
|
| 196 |
return;
|
| 197 |
}
|
| 198 |
|
| 199 |
+
$comments_open = comments_open( $this->ID );
|
| 200 |
+
|
| 201 |
+
// Don't show link if close and no comments
|
| 202 |
+
if ( ! $comments_open
|
| 203 |
+
&& ! $this->post->comment_count ) {
|
| 204 |
+
return;
|
| 205 |
+
}
|
| 206 |
+
|
| 207 |
$comments_link_url = get_comments_link( $this->ID );
|
| 208 |
+
$comments_link_text = $comments_open
|
| 209 |
? __( 'Leave a Comment', 'amp' )
|
| 210 |
: __( 'View Comments', 'amp' );
|
| 211 |
|
| 267 |
|
| 268 |
$featured_image = get_post( $featured_id );
|
| 269 |
|
| 270 |
+
list( $sanitized_html ) = AMP_Content_Sanitizer::sanitize(
|
|
|
|
| 271 |
$featured_html,
|
| 272 |
+
array( 'AMP_Img_Sanitizer' => array() ),
|
| 273 |
array(
|
| 274 |
+
'content_max_width' => $this->get( 'content_max_width' )
|
|
|
|
|
|
|
|
|
|
| 275 |
)
|
| 276 |
);
|
|
|
|
| 277 |
|
| 278 |
$this->add_data_by_key( 'featured_image', array(
|
| 279 |
+
'amp_html' => $sanitized_html,
|
| 280 |
'caption' => $featured_image->post_excerpt,
|
| 281 |
) );
|
| 282 |
}
|
includes/sanitizers/class-amp-style-sanitizer.php
CHANGED
|
@@ -93,6 +93,11 @@ class AMP_Style_Sanitizer extends AMP_Base_Sanitizer {
|
|
| 93 |
$property = 'max-width';
|
| 94 |
}
|
| 95 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 96 |
return array( $property, $value );
|
| 97 |
}
|
| 98 |
|
| 93 |
$property = 'max-width';
|
| 94 |
}
|
| 95 |
|
| 96 |
+
// !important is not allowed
|
| 97 |
+
if ( false !== strpos( $value, 'important' ) ) {
|
| 98 |
+
$value = preg_replace( '/\s*\!\s*important$/', '', $value );
|
| 99 |
+
}
|
| 100 |
+
|
| 101 |
return array( $property, $value );
|
| 102 |
}
|
| 103 |
|
readme.txt
CHANGED
|
@@ -3,7 +3,7 @@ Contributors: batmoo, joen, automattic, potatomaster
|
|
| 3 |
Tags: amp, mobile
|
| 4 |
Requires at least: 4.4
|
| 5 |
Tested up to: 4.6
|
| 6 |
-
Stable tag: 0.4
|
| 7 |
License: GPLv2 or later
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 9 |
|
|
@@ -53,9 +53,16 @@ A wise green Yoda once said, "Patience you must have, my young padawan." We're w
|
|
| 53 |
|
| 54 |
== Changelog ==
|
| 55 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 56 |
= 0.4 (2016-10-06) =
|
| 57 |
|
| 58 |
- New template: spiffy, shiny, and has the fresh theme smell (props allancole and the Automattic Theme Team).
|
|
|
|
| 59 |
- AMP Customizer: Pick your colours and make the template your own (props DrewAPicture and 10up)
|
| 60 |
- Fix: support for inline styles (props coreymckrill).
|
| 61 |
- Fix: no more fatal errors when tags not supported by post type (props david-binda)
|
| 3 |
Tags: amp, mobile
|
| 4 |
Requires at least: 4.4
|
| 5 |
Tested up to: 4.6
|
| 6 |
+
Stable tag: 0.4.1
|
| 7 |
License: GPLv2 or later
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 9 |
|
| 53 |
|
| 54 |
== Changelog ==
|
| 55 |
|
| 56 |
+
= 0.4.1 (2016-10-10 =
|
| 57 |
+
|
| 58 |
+
- Fix: Don't fire the_content for featured image output
|
| 59 |
+
- Fix: Don't show comment link when disabled and no comments on post (h/t neotrope)
|
| 60 |
+
- Fix: strip `!important` from inline styles (h/t compointdesigner and enriccardonagmailcom)
|
| 61 |
+
|
| 62 |
= 0.4 (2016-10-06) =
|
| 63 |
|
| 64 |
- New template: spiffy, shiny, and has the fresh theme smell (props allancole and the Automattic Theme Team).
|
| 65 |
+
- *Warning*: The template update has potential breaking changes. Please see https://wordpress.org/support/topic/v0-4-whats-new-and-possible-breaking-changes/
|
| 66 |
- AMP Customizer: Pick your colours and make the template your own (props DrewAPicture and 10up)
|
| 67 |
- Fix: support for inline styles (props coreymckrill).
|
| 68 |
- Fix: no more fatal errors when tags not supported by post type (props david-binda)
|
