inthraonsap / carabiner
使用minify js和css文件(额外功能:您可以将php代码放入JavaScript文件中。)
Requires
- php: >=5.4.0
- illuminate/support: 4.1.*
This package is not auto-updated.
Last update: 2024-09-24 06:51:47 UTC
README
Carabiner是一个js/css压缩包。我修改了一些代码使其与Laravel4兼容,并添加了一些功能以使其能够编译php代码。当您在处理双语言网站或需要将一些php数据发送到JavaScript文件等情况时,这是一个很好的包。
安装
将"inthraonsap/carabiner": "dev-master"添加到composer.json文件中。
{
"require": {
"inthraonsap/carabiner": "dev-master"
}
}
运行composer update CLI。
$ composer update
在app/config/目录下的app.php文件中,按照以下步骤操作。
'providers' => array( ..., 'Inthraonsap\Carabiner\CarabinerServiceProvider', ... ), 'aliases' => array( ..., 'Carabiner' => 'Inthraonsap\Carabiner\Facades\Carabiner', ... )
使用artisan CLI发布配置文件。
$ php artisan config:publish inthraonsap/carabiner
用法
配置
此包的配置文件。
return array(
/*
|--------------------------------------------------------------------------
| Script Directory
|--------------------------------------------------------------------------
|
| Path to the script directory.
| Relative to the public-Folder
|
*/
'scriptDir' => '/',
/*
|--------------------------------------------------------------------------
| Style Directory
|--------------------------------------------------------------------------
|
| Path to the style directory.
| Relative to the public-Folder
|
*/
'styleDir' => '/',
/*
|--------------------------------------------------------------------------
| Cache Directory
|--------------------------------------------------------------------------
|
| Path to the cache directory. Must be writable.
| Relative to the public-Folder
|
*/
'cacheDir' => 'cache/',
/*
* Base url for file location.
*/
'base_uri' => URL::to('/').'/',
/*
|--------------------------------------------------------------------------
| Combine
|--------------------------------------------------------------------------
|
| Flags whether files should be combined. Defaults to TRUE.
|
*/
'combine' => TRUE,
/*
|--------------------------------------------------------------------------
| Development Flag
|--------------------------------------------------------------------------
|
| Flags whether your in a development environment or not. Defaults to FALSE.
|
*/
'dev' => FALSE,
/*
|--------------------------------------------------------------------------
| Minify Javascript
|--------------------------------------------------------------------------
|
| Global flag for whether JS should be minified. Defaults to TRUE.
|
*/
'minify_js' => TRUE,
/*
|--------------------------------------------------------------------------
| Minify CSS
|--------------------------------------------------------------------------
|
| Global flag for whether CSS should be minified. Defaults to TRUE.
|
*/
'minify_css' => TRUE,
/*
|--------------------------------------------------------------------------
| Force cURL
|--------------------------------------------------------------------------
|
| Global flag for whether to force the use of cURL instead of file_get_contents()
| Defaults to FALSE.
|
*/
'force_curl' => FALSE,
/*
|--------------------------------------------------------------------------
| Predifined Asset Groups
|--------------------------------------------------------------------------
|
| Any groups defined here will automatically be included. Of course, they
| won't be displayed unless you explicity display them ( like this: Carabiner::display('jquery') )
| See docs for more.
|
*/
'groups' => array(),
/**
* character encoding for javascript tag.
* Default: UTF-8
*/
'charset' => 'UTF-8',
/**
* Choose a compiler for javascript file.(It works once you use Carabiner::compileJs())
* Options: php | blade
* ex. php
* alert("<?php echo 'print some text'; ?>");
* ex. blade
* alert("{{{ print some text }}}");
* Default: php
*/
'compiler' => 'php'
);
方法
处理资源
/** * Add JS file to queue * @param String of the path to development version of the JS file. Could also be an array, or array of arrays. (ex. "assets/js/jquery.js") * @param String of the path to production version of the JS file. NOT REQUIRED * @param Boolean flag whether the file is to be combined. NOT REQUIRED * @param String of the group name with which the asset is to be associated. NOT REQUIRED * @return Void */ Carabiner::js($dev_file, $prod_file = '', $combine = TRUE, $minify = TRUE, $group = 'main');/**
- Add CSS file to queue
- @param String of the path to development version of the CSS file. Could also be an array, or array of arrays. (ex. "assets/css/layout.css")
- @param String of the media type, usually one of (screen, print, handheld) for css. Defaults to screen.
- @param String of the path to production version of the CSS file. NOT REQUIRED
- @param Boolean flag whether the file is to be combined. NOT REQUIRED
- @param Boolean flag whether the file is to be minified. NOT REQUIRED
- @param String of the group name with which the asset is to be associated. NOT REQUIRED
- @return Void */ Carabiner::css($dev_file, $media = 'screen', $prod_file = '', $combine = TRUE, $minify = TRUE, $group = 'main')
/**
- Adding js file to queue with blade or php compiler.
- @param string $dev_file is String of the path to development version of the JS file. Could also be an array, or array of arrays. (ex. "assets/js/jquery.js")
- @param type $args is Array of variable that you want to send to js view. (ex. array("name"=>"Inthra Onsap")).
- @param string $prod_file is String of the path to production version of the JS file. NOT REQUIRED
- @param type $combine is Boolean flag whether the file is to be combined. NOT REQUIRED
- @param type $minify is Boolean flag whether the file is to be minified. NOT REQUIRED
- @param type $group is String of the group name with which the asset is to be associated. NOT REQUIRED
- @return Void */ Carabiner::compileJs($dev_file, $args = array(), $prod_file = '', $combine = TRUE, $minify = TRUE, $group = 'main'){
// Display css Carabiner::display('css');
//display js Carabiner::display('js');
// display both Carabiner::display(); // OR Carabiner::display('both');
// display group Carabiner::display('jquery'); // group name defined as jquery
// display filterd group Carabiner::display('main', 'js'); // group name defined as main, only display JS
// return string of asset references $string = Carabiner::display_string('main');
// clear css cache Carabiner::empty_cache('css');
//clear js cache Carabiner::empty_cache('js');
// clear both Carabiner::empty_cache(); // OR Carabiner::empty_cache('both');
// clear before a certain date Carabiner::empty_cache('both', 'now'); // String denoting a time before which cache // files will be removed. Any string that // strtotime() can take is acceptable. // Defaults to 'now'.
致谢
所有致谢归功于原始开发者。 https://github.com/EllisLab/CodeIgniter/wiki/Carabiner 和 https://github.com/weboAp/laravel4-carabiner
支持或联系
如果您发现任何问题,请通过inthra.onsap@gmail.com与我联系。