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 )