trupedia/laravel-blade-haml

通过Blade语法风格简化在Laravel 5中使用MtHaml的包装

此包的官方仓库似乎已删除,因此包已被冻结。

1.0.0 2015-03-30 17:23 UTC

This package is not auto-updated.

Last update: 2024-01-20 13:31:40 UTC


README

Total Downloads License

一个小的包,通过MtHaml支持将Blade风格的Haml模板编译到Laravel 5。

安装

  1. 将其添加到composer.json文件中("trupedia/laravel-blade-haml": "~1.0")并执行composer install。

  2. 将服务提供者添加到app.php配置文件中的providers

'trupedia\LaravelBladeHaml\LaravelBladeHamlServiceProvider',

配置

您可以手动设置MtHaml的环境、选项和过滤器。为此,使用php artisan vendor:publish发布配置文件,并在/config/blade-haml.php中进行编辑。例如,要关闭自动转义

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

使用

Laravel-Blade-Haml将".haml.php"扩展名注册到Laravel中,并将编译请求转发到MtHaml。它以与Blade模板相同的方式编译您的Haml模板;编译后的模板将放在app/storage/views中。因此,您不必在每次页面加载时都忍受编译时间。

换句话说,只需将您的Haml文件放在常规resources/views目录中,并命名为"resources/views/home/whatever.haml.php"。您可以在Laravel中像平常一样引用它们:view('home.whatever')

Haml视图文件可以与常规PHP视图并行工作。

示例登录视图的Blade语法

@extends('layouts.master')

@section('content')
<div class="row">
    <div class="col-md-4 col-md-offset-4">

        @include('layouts.partials.errors')

        <h1>Sign In!</h1>

        {!! Form::open(['route' => 'login']) !!}
            <div class="form-group">
                {!! Form::label('email', 'E-Mail:') !!}
                {!! Form::text('email', null, ['class' => 'form-control']) !!}
            </div>
            <div class="form-group">
                {!! Form::label('password', 'Password:') !!}
                {!! Form::password('password', ['class' => 'form-control']) !!}
            </div>
            <div class="form-group">
                {!! Form::submit('Sign In', ['class' => 'btn btn-primary']) !!}
            </div>
        {!! Form::close() !!}
    </div>
</div>
@stop

现在通过Laravel-Blade-Haml变成

@extends('layouts.master')

@section('content')
.row
    .col-md-4.col-md-offset-4
        @include('layouts.partials.errors')
        %h1 Sign In!
        {!! Form::open(['route' => 'login']) !!}
        .form-group
            {!! Form::label('email', 'E-Mail:') !!}
            {!! Form::text('email', null, ['class' => 'form-control']) !!}
        .form-group
            {!! Form::label('password', 'Password:') !!}
            {!! Form::password('password', ['class' => 'form-control']) !!}
        .form-group
            {!! Form::submit('Sign In', ['class' => 'btn btn-primary']) !!}
        {!! Form::close() !!}
@stop

非常整洁,不是吗?所有好的Blade功能仍然可用于新的模板文件中。

贡献 + 信用

感谢Robert Reinhard提供初始源代码。

发行说明

  • 1.0 - 初始版本