]> git.donarmstrong.com Git - debbugs.git/blobdiff - lib/Debbugs/Mojo/Plugin/Xslate.pm
add xslate helper and serve xslate templates
[debbugs.git] / lib / Debbugs / Mojo / Plugin / Xslate.pm
diff --git a/lib/Debbugs/Mojo/Plugin/Xslate.pm b/lib/Debbugs/Mojo/Plugin/Xslate.pm
new file mode 100644 (file)
index 0000000..041d369
--- /dev/null
@@ -0,0 +1,26 @@
+package Debbugs::Mojo::Plugin::Xslate;
+
+use Mojo::Base 'Mojolicious::Plugin';
+
+use Debbugs::Text qw(:all);
+
+sub register {
+    my ($self,$app) = @_;
+
+    my $xslate = sub {
+       my ($renderer,$c,$output,$options) = @_;
+       my $template = $c->stash->{template_name} ||
+           $renderer->template_name($options);
+       my %params = (%{$c->stash},c => $c);
+       $$output =
+           fill_in_template(template => $template,
+                            variables => \%params,
+                           );
+    };
+    $app->renderer->add_handler(tx => $xslate);
+    return $self;
+}
+
+
+1;
+