PluginProbe
Autoptimize / trunk
Autoptimize vtrunk
3.1.16 2.2.2 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 All 108 releases
← All changes | classes/autoptimizeHTML.php +26 -2 2.6.0 → trunk View file →
@@ -15,9 +15,20 @@
15 15 * @var bool
16 16 */
17 17 private $keepcomments = false;
18 18
19 - /** @var bool */
19 + /**
20 + * Whether inline CSS/ JS is minified.
21 + *
22 + * @var bool
23 + */
24 + private $minify_inline = false;
25 +
26 + /**
27 + * Whether to force xhtml compatibility.
28 + *
29 + * @var bool
30 + */
20 31 private $forcexhtml = false;
21 32
22 33 /**
23 34 * Things to exclude from being minifed.
@@ -37,8 +48,11 @@
37 48
38 49 // Filter to force xhtml.
39 50 $this->forcexhtml = (bool) apply_filters( 'autoptimize_filter_html_forcexhtml', false );
40 51
52 + // minify inline JS/ CSS.
53 + $this->minify_inline = (bool) apply_filters( 'autoptimize_html_minify_inline_js_css', $options['minify_inline'] );
54 +
41 55 // Filterable strings to be excluded from HTML minification.
42 56 $exclude = apply_filters( 'autoptimize_filter_html_exclude', '' );
43 57 if ( '' !== $exclude ) {
44 58 $exclude_arr = array_filter( array_map( 'trim', explode( ',', $exclude ) ) );
@@ -77,9 +91,19 @@
77 91 if ( $this->forcexhtml ) {
78 92 $options['xhtml'] = true;
79 93 }
80 94
81 - $tmp_content = Minify_HTML::minify( $this->content, $options );
95 + // Optionally minify inline JS & CSS.
96 + if ( $this->minify_inline ) {
97 + if ( false != autoptimizeOptionWrapper::get_option( 'autoptimize_js' ) && false != autoptimizeConfig::get_post_meta_ao_settings( 'ao_post_js_optimize' ) && true !== apply_filters( 'autoptimize_filter_js_noptimize', false, $this->content ) && false === strpos( $this->content, 'text/template' ) ) {
98 + $options['jsMinifier'] = 'JSMin::minify';
99 + }
100 + if ( false != autoptimizeOptionWrapper::get_option( 'autoptimize_css' ) && false != autoptimizeConfig::get_post_meta_ao_settings( 'ao_post_css_optimize' ) && true !== apply_filters( 'autoptimize_filter_css_noptimize', false, $this->content ) ) {
101 + $options['cssMinifier'] = 'autoptimizeCSSmin::minify';
102 + }
103 + }
104 +
105 + $tmp_content = AO_Minify_HTML::minify( $this->content, $options );
82 106 if ( ! empty( $tmp_content ) ) {
83 107 $this->content = $tmp_content;
84 108 unset( $tmp_content );
85 109 }