The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Dancer2::Template::Haml - Text::Haml template engine wrapper for Dancer2

SYNOPSIS

To use this engine, you may configure Dancer2 via config.yaml:

template: "haml"
engines:
  template:
    haml: 
      cache: 1
      cache_dir: "./.text_haml_cache"

Or you may also change the rendering engine by setting it manually with set keyword:

set template => 'haml';
set engines => {
      template => {
        Haml => {
          cache => 1,
          cache_dir => './.text_haml_cache'
        },
      },
};

Example:

views/index.haml:

%h1= $foo

views/layouts/main.haml:

!!! 5
%html
  %head
    %meta(charset = $settings->{charset})
    %title= $settings->{appname}
  %body
    %div(style="color: green")= $content
    #footer
      Powered by
      %a(href="https://metacpan.org/release/Dancer2") Dancer #{$dancer_version}

A Dancer 2 application:

use Dancer2;

get '/' => sub {
  template 'index' => {foo => 'Bar!'};
};

DESCRIPTION

This is an interface between Dancer2's template engine abstraction layer and the Text::Haml module.

Based on the Dancer2::Template::Xslate and Dancer::Template::Haml modules.

You can use templates and layouts defined in __DATA__ section:

use Dancer2;

use Data::Section::Simple qw/get_data_section/;

my $vpath = get_data_section;

set layout => 'main';
set appname => "Dancer2::With::Haml";
set charset => "UTF-8";

set template => 'haml';
set engines => {
      template => {
        Haml => {
          cache => 1,
          cache_dir => './.text_haml_cache',
          path => $vpath,
        },
      },
};

get '/bazinga' => sub {
    template 'bazinga' => {
      text => 'Bazinga?',
      foo => 'Bar!',
    };
};

true;

__DATA__
@@ layouts/main.haml
!!! 5
%html
  %head
    %meta(charset = $settings->{charset})
    %title= $settings->{appname} 
  %body
    %div(style="color: green")= $content
    #footer
      Powered by
      %a(href="https://metacpan.org/release/Dancer2") Dancer #{$dancer_version}

@@ bazinga.haml
%strong= $text
%p= $foo
%em text 2 texts 3

SEE ALSO

DEVELOPMENT

Repository

https://github.com/TheAthlete/Dancer2-Template-Haml

AUTHOR

Viacheslav Koval,

LICENSE

Copyright © 2013 by Viacheslav Koval.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.