ronan-gloo/jadephp

HAML-like template engine for PHP 5.3

dev-master 2013-10-20 15:03 UTC

This package is not auto-updated.

Last update: 2024-11-18 15:32:26 UTC


README

Jade.php adds inline PHP scripting support to the Jade template compiler.

The Jade Syntax Reference

Implementation details

The fork is a complete rewrite, all the code is ported from the original jade project.

All the features from the original are supported but undertested, including inheritance and mixins.

What's new ?

Jade options

Jade options should be passed to the Jade construction

$jade = new Jade([
	'prettyprint' => true,
	'extension' => '.jade'
	'cache' => 'pathto/writable/cachefolder/'
]);

Supports for local variables

$data['title'] = 'Hello World';
$output = (new Jade())->render('file', $data);

Supports for custom filters

Filters must be callable: It can be a class that implements the __invoke() method, or an anonymous function.

$jade->filter('escaped', 'My\Callable\Class');

// or

$jade->filter('escaped', function($node, $compiler){
	foreach ($node->block->nodes as $line) {
		$output[] = $compiler->interpolate($line->value);
	}
	return htmlentities(implode("\n", $output));
});

Built-in filters:

  • :css
  • :php
  • :javascript
  • :escaped
  • :cdata