Kossy

 view release on metacpan or  search on metacpan

script/kossy-setup  view on Meta::CPAN

            rule => [
                [['CHOICE',qw/Hello Bye/],'Hello or Bye']
            ],
        }
    ]);
    $c->render_json({ greeting => $result->valid->get('q') });
};

1;

@@ views/base.tx
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
<title>[% module %]</title>
<link rel="shortcut icon" href="<: $c.req.uri_for('/favicon.ico') :>" type="image/vnd.microsoft.icon" />
<link rel="stylesheet" href="<: $c.req.uri_for('/css/bootstrap.min.css') :>">
<style>
body {
  padding-top: 60px;
}
</style>
<link rel="stylesheet" href="<: $c.req.uri_for('/css/bootstrap-responsive.min.css') :>">
</head>
<body>

<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="<: $c.req.uri_for('/') :>">[% module %]</a>
<div class="nav-collapse">
<ul class="nav">
<li class="active"><a href="<: $c.req.uri_for('/') :>">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div> <!--/.nav-collapse -->
</div>
</div>
</div>

<div class="container">

: block content -> { }

</div> <!-- /container -->

<script type="text/javascript" src="<: $c.req.uri_for('/js/jquery.min.js') :>"></script>
<script type="text/javascript" src="<: $c.req.uri_for('/js/bootstrap.min.js') :>"></script>
</body>
</html>


@@ views/index.tx
: cascade base
: around content -> {
<h1><: $greeting :> <: $c.stash.site_name :></h1>
<p>Use this document as a way to quick start any new project.<br> All you get is this message and a barebones HTML document.</p>
: }

@@ app.psgi
use FindBin;
use lib "$FindBin::Bin/extlib/lib/perl5";
use lib "$FindBin::Bin/lib";
use File::Basename;
use Plack::Builder;
use [% module %]::Web;

my $root_dir = File::Basename::dirname(__FILE__);

my $app = [% module %]::Web->psgi($root_dir);
builder {
    enable 'ReverseProxy';
    enable 'Static',
        path => qr!^/(?:(?:css|js|img)/|favicon\.ico$)!,
        root => $root_dir . '/public';
    $app;
};

@@ Makefile.PL
use ExtUtils::MakeMaker;

WriteMakefile(
    NAME          => '[% module  %]',
    VERSION_FROM  => 'lib/[% path %].pm',
    PREREQ_PM     => {
        'Kossy' =>  '[% myver %]',
    },
    MIN_PERL_VERSION => '5.008001'
);

@@ t/00_compile.t
use strict;
use warnings;
use Test::More;

use_ok $_ for qw(
    [% module %]
    [% module %]::Web
);

done_testing;




( run in 0.739 second using v1.01-cache-2.11-cpan-ceb78f64989 )