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

Dancer::Template::Haml

Haml rendering engine for Dancer 1.

Text::Haml

Haml Perl implementation

DEVELOPMENT

Repository

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

AUTHOR

Viacheslav Koval, <athlete AT cpan DOT org>

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.