#!/usr/bin/env perl use strict; use warnings; use FindBin; use lib "$FindBin::Bin/../lib"; { package app; use Dancer2; set appdir => 't'; set views => 't/views'; set public_dir => 't/public'; set logger => 'Console::Colored'; set log => 'info'; set template => 'template_toolkit'; set liteblog => { title => "My Testing Liteblog", logo => '/images/liteblog.jpg', favicon => '/images/liteblog.jpg', base_url => 'http://localhost:4000/', description => 'Some general description of the testing app', tags => ['foo', 'bar', 'baz'], show_render_time => 1, feature => { highlight => 1, }, navigation => [ { label => 'Text Elem'}, { label => 'Home', link => '/'}, { label => 'About', link => '/'}, { label => 'Perl', link => '/blog/perl'}, { label => 'Contact', link => '/'}, ], route_widgets => { '/page2' => { navigation => [], widgets => [ { name => 'blog', params => { title => "Page 2 Stories", mount => '/page2/blog', root => 't/articles' } }, { name => 'activities', params => { source => 'activities.yml' } }, ]} }, widgets => [ { name => 'caroussel', params => { slides => [ { title => 'Splash Title', image => '/blog/tech/first-article/featured.jpg', baseline => 'A great and minimalist blog engine for Dancer2', cta => { label => 'Subscribe!', link => '/subscribe', } }, { title => "Some Content", baseline => "This is a second slide with a content div", content => "Some content I write in HTML.
a paragraph
", cta => { label => 'Bouton 2', link => '/subscribe', } }, { title => "Video", youtube => "XZvN5W6C6No", cta => { label => 'Button3', link => '/subscribe', } } ] } }, { name => 'custom', params => { root => 't/slideshow-poc', source => 'slidenatural.html', }, }, { name => 'blog', params => { title => "Stories of my Test App", mount => '/blog', root => 't/articles' } }, { name => 'activities', params => { source => 'activities.yml' } }, ], }; require 'Dancer2/Plugin/LiteBlog.pm'; Dancer2::Plugin::LiteBlog->import; liteblog_init(); } app->to_app;