Usage
PHP
nebula()->scss_post_compile($scss)
Parameters
$scss
(Required) (String) The compiled CSS
Default: None
Additional Notes
- Reduces theme path comment lines (in both parent and child themes).
- Adds a processed timestamp at the end of the file.
Can be hooked into with nebula_scss_post_compile to add more customization.
Source File
Located in /libs/Utilities/Sass.php on line 382.
3 Hooks
Find these filters and actions in the source code below to hook into them. Use do_action() and add_filter() in your functions file or plugin.
Filters
"pre_nebula_scss_post_compile"Need a new filter hook? Request one here.
Actions
"nebula_scss_post_compile_every""nebula_scss_post_compile_once"
Need a new action hook? Request one here.
PHP
public function scss_post_compile($scss){
$override = apply_filters('pre_nebula_scss_post_compile', null, $scss);
if ( isset($override) ){return $override;}
if ( empty($scss) ){
return $scss;
}
$scss = preg_replace("(" . str_replace('/', '\/', get_template_directory()) . ")", '', $scss); //Reduce theme path for SCSSPHP debug line comments
$scss = preg_replace("(" . str_replace('/', '\/', get_stylesheet_directory()) . ")", '', $scss); //Reduce theme path for SCSSPHP debug line comments (For child themes)
do_action('nebula_scss_post_compile_every');
$scss .= PHP_EOL . '/* ' . date('l, F j, Y \a\t g:i:s A', time()) . ' */'; //Add a last processed timestamp to the end of the CSS file
//Run the Sass post-compile functionality only once
$this->once('nebula_sass_post_compile', function(){
do_action('nebula_scss_post_compile_once');
$this->update_data('scss_last_processed', time());
$this->update_data('need_sass_compile', 'false');
//Update the Service Worker JavaScript file (to clear cache)
if ( $this->get_option('service_worker') && is_writable(get_home_path()) ){
if ( file_exists($this->sw_location(false)) ){
$this->update_sw_js();
}
}
$this->cli_output('Sass processing complete', 'success');
});
return $scss;
}
Override
To override this PHP function, use this hook in your child theme or plugin ("my_custom" can be changed):
PHP
add_filter('pre_nebula_scss_post_compile', 'my_custom_scss_post_compile', 10, 2); //The last integer must be 1 more than the actual parameters
function my_custom_scss_post_compile($null, $scss){ //$null is required, but can be ignored
//Write your own code here
return true; //Return true to prevent the original function from running afterwords
}
You can completely disable this PHP function with a single line actions:
PHP
add_filter('pre_nebula_scss_post_compile', '__return_false');