NAME
Kernel::System::Loader – CSS/JavaScript loader backend
DESCRIPTION
All valid functions.
PUBLIC INTERFACE
new()
create an object
my $LoaderObject = $Kernel::OM->Get('Kernel::System::Loader');
MinifyFiles()
takes a list of files and returns a filename in the target directory which holds the minified and concatenated content of the files. Uses caching internally.
my $TargetFilename = $LoaderObject->MinifyFiles(
List => [ # optional, minify list of files
$Filename,
$Filename2,
],
Checksum => '...' # optional, pass a checksum for the minified file
Content => '...' # optional, pass direct (already minified) content instead of a file list
Type => 'CSS', # CSS | JavaScript
TargetDirectory => $TargetDirectory,
TargetFilenamePrefix => 'CommonCSS', # optional, prefix for the target filename
);
GetMinifiedFile()
returns the minified contents of a given CSS or JavaScript file. Uses caching internally.
my $MinifiedCSS = $LoaderObject->GetMinifiedFile(
Location => $Filename,
Type => 'CSS', # CSS | JavaScript
);
Warning: this function may cause a die() if there are errors in the file, protect against that with eval().
MinifyCSS()
returns a minified version of the given CSS Code
my $MinifiedCSS = $LoaderObject->MinifyCSS( Code => $CSS );
Warning: this function may cause a die() if there are errors in the file, protect against that with eval().
MinifyJavaScript()
returns a minified version of the given JavaScript Code.
my $MinifiedJS = $LoaderObject->MinifyJavaScript( Code => $JavaScript );
Warning: this function may cause a die() if there are errors in the file, protect against that with eval().
This function internally uses the CPAN module JavaScript::Minifier. As of version 1.05 of that module, there is an issue with regular expressions:
This will cause a die:
function test(s) { return /\d{1,2}/.test(s); }
A workaround is to enclose the regular expression in parentheses:
function test(s) { return (/\d{1,2}/).test(s); }
CacheGenerate()
generates the loader cache files for all frontend modules.
my %GeneratedFiles = $LoaderObject->CacheGenerate();
CacheDelete()
deletes all the loader cache files.
Returns a list of deleted files.
my @DeletedFiles = $LoaderObject->CacheDelete();