blob: 7d561b3d05749193df3e44fc99b541247b8f3123 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
<?php
/**
* CSS preprocessor registration.
*
* To add a new preprocessor (or replace an existing one), hook into the
* jetpack_custom_css_preprocessors filter and add an entry to the array
* that is passed in.
*
* Format is:
* $preprocessors[ UNIQUE_KEY ] => array( 'name' => 'Processor name', 'callback' => [processing function] );
*
* The callback function accepts a single string argument (non-CSS markup) and returns a string (CSS).
*
* @param array $preprocessors The list of preprocessors added thus far.
* @return array
*/
function jetpack_register_css_preprocessors( $preprocessors ) {
$preprocessors['less'] = array(
'name' => 'LESS',
'callback' => 'jetpack_less_css_preprocess'
);
$preprocessors['sass'] = array(
'name' => 'Sass (SCSS Syntax)',
'callback' => 'jetpack_sass_css_preprocess'
);
return $preprocessors;
}
add_filter( 'jetpack_custom_css_preprocessors', 'jetpack_register_css_preprocessors' );
function jetpack_less_css_preprocess( $less ) {
require_once( dirname( __FILE__ ) . '/preprocessors/lessc.inc.php' );
$compiler = new lessc();
try {
return $compiler->compile( $less );
} catch ( Exception $e ) {
return $less;
}
}
function jetpack_sass_css_preprocess( $sass ) {
require_once( dirname( __FILE__ ) . '/preprocessors/scss.inc.php' );
$compiler = new scssc();
$compiler->setFormatter( 'scss_formatter' );
try {
return $compiler->compile( $sass );
} catch ( Exception $e ) {
return $sass;
}
}
|