Skip to content

beautiful/asset

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Beautiful Asset

Asset management for Kohana.

The idea

The idea involves Asset_Groups and Assets. An Asset represents one file that needs to be included in an output. I left that previous sentence fairly abstract on purpose. An Asset is simply a resource to be grouped into an Asset_Group.

Usage

You can use this module with or without configuration. Things do get a lot neater and make for easier changes if you do use configuration however do what you will.

Describing an Asset

The first class we'll introduce is Asset. An Asset represents a single file (or asset funnily enough) and can be used to individually render such files.

Take an example of including a CSS file on your web page, you would simply echo the following:

echo new Asset_CSS('css/screen.css');

Asset::__construct() takes a second argument, an array of additional configuration.

echo new Asset_CSS('css/screen.css', array(
	'attributes' => array(
	),
	'cache_buster' => TRUE,
));

``` php
<?php
echo new Asset_Group(array(
	new Asset_CSS('css/screen.css'),
	new Asset_CSS('css/print.css', array('media' => 'print')),
	new Asset_Less('css/testing.less'),
));

Using the default Kohana config reader you could have described this like so:

<?php
return array(
	'groups' => array(
		'stylesheets' => array(
			array('CSS', 'css/screen.css'),
			array('CSS', 'css/print.css', array(
				'attributes' => array(
					'media' => 'print',
				),
			),
			array('LESS', 'css/testing.less'),
		),
	),
);

And then only had to do this in your PHP:

<?php
echo new Asset_Group('stylesheets');

So really it's up to you.

Asset Types

These Asset types will be shipped when complete:

  • JavaScript
  • Cascading StyleSheets
  • Less
  • Coffee

Asset Caching

For use in production environement you can now use Asset_Cache. It is basically a handy decorator for caching your asset compilations.

<?php
echo new Asset_Cache(new Asset_Group('javascripts'));

// Or 
echo Asset_Cache::group('javascripts');

Warning

This module is still in development currently.

Author

Luke Morton

License

MIT

Releases

No releases published

Packages

No packages published

Languages