Wraps MtHaml for ease use in Laravel

2.5.0 2020-12-30 16:28 UTC

This package is auto-updated.

Last update: 2024-02-29 02:27:50 UTC



A small package that adds support for compiling Haml templates to Laravel via MtHaml. Both vanilla php and Blade syntax is supported within the Haml.


  1. Add it to your composer.json ("bkwld/laravel-haml": "~2.0") and do a composer install.
  2. Add the service provider to your app.php config file providers: 'Bkwld\LaravelHaml\ServiceProvider',


You can set MtHaml environment, options, and filters manually. To do so:

  • Laravel 4 : Publish the config file with php artisan config:publish bkwld/laravel-haml and edit at /app/config/packages/bkwld/laravel-haml/config.php
  • Laravel 5 : Publish the config file with php artisan vendor:publish and edit it at /config/haml.php.

For instance, to turn off auto-escaping:

'mthaml' => array(
	'environment' => 'php',
	'options' => array(
		'enable_escaper' => false,
	'filters' => array(),


Laravel-Haml registers the ".haml", ".haml.php", ".haml.blade", and ".haml.blade.php" extension with Laravel and forwards compile requests on to MtHaml. It compiles your Haml templates in the same way as Blade templates; the compiled template is put in app/storage/views. Thus, you don't suffer compile times on every page load.

In other words, just put your Haml files in the regular views directory and name them like "whatever.haml". You reference them in Laravel like normal:

  • Laravel 4 : View::make('home.whatever') for app/views/home/whatever.haml
  • Laravel 5 : view('home.whatever') for resources/views/home/whatever.haml

The Haml view files can work side-by-side with regular PHP views. To use Blade templating within your Haml, just name the files with ".haml.blade" or ".haml.blade.php" extensions.


Read the Github project releases for release notes.