Adding initial project to build the project from.
This commit is contained in:
parent
1df8ae8764
commit
d3cedf05b5
39
Makefile.PL
Normal file
39
Makefile.PL
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
## Please see file perltidy.ERR
|
||||||
|
## Please see file perltidy.ERR
|
||||||
|
use ExtUtils::MakeMaker;
|
||||||
|
|
||||||
|
WriteMakefile(
|
||||||
|
NAME => 'BeastBB',
|
||||||
|
VERSION => '0.1',
|
||||||
|
INST_SCRIPT => './bin',
|
||||||
|
INST_BIN => './bin',
|
||||||
|
test => { TESTS => 't/*.t' },
|
||||||
|
);
|
||||||
|
|
||||||
|
package MY {
|
||||||
|
|
||||||
|
sub top_targets {
|
||||||
|
my $self = shift;
|
||||||
|
my $return = $self->SUPER::top_targets(@_);
|
||||||
|
$return = [ split /\n/, $return ];
|
||||||
|
for my $i ( keys @$return ) {
|
||||||
|
$return->[$i] .= ' install_frontend'
|
||||||
|
if $return->[$i] =~ /^all :/;
|
||||||
|
}
|
||||||
|
return join "\n", @$return;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub postamble {
|
||||||
|
return
|
||||||
|
"\n"
|
||||||
|
. "install_frontend:\n"
|
||||||
|
. "\tif [ ! -e blib/BeastBB/public ]; then "
|
||||||
|
. "mkdir -pv blib/BeastBB/public; "
|
||||||
|
. "fi;"
|
||||||
|
. "if [ ! -e blib/BeastBB/templates ]; then "
|
||||||
|
. "mkdir -pv blib/BeastBB/templates; "
|
||||||
|
. "fi; "
|
||||||
|
. "cp -rfv templates/* blib/BeastBB/templates; "
|
||||||
|
. "cp -rfv public/* blib/BeastBB/public; ";
|
||||||
|
}
|
||||||
|
}
|
9
bin/beastbb
Executable file
9
bin/beastbb
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#!/usr/bin/env perl
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
use Mojolicious::Commands;
|
||||||
|
|
||||||
|
# Start command line interface for application
|
||||||
|
Mojolicious::Commands->start_app('BeastBB');
|
2
lib/BeastBB.conf
Normal file
2
lib/BeastBB.conf
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
{
|
||||||
|
}
|
24
lib/BeastBB.pm
Normal file
24
lib/BeastBB.pm
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
package BeastBB;
|
||||||
|
|
||||||
|
use Mojo::Base 'Mojolicious';
|
||||||
|
use Mojo::File;
|
||||||
|
use Data::Dumper;
|
||||||
|
|
||||||
|
sub startup {
|
||||||
|
my $self = shift;
|
||||||
|
my $config = $self->plugin(
|
||||||
|
'Config',
|
||||||
|
file => Mojo::File::curfile->dirname->child('BeastBB.conf')->to_string
|
||||||
|
);
|
||||||
|
$self->secrets( $config->{secrets} );
|
||||||
|
my $r = $self->routes;
|
||||||
|
$r->get('/')->to('example#welcome');
|
||||||
|
@{ $self->renderer->paths() } =
|
||||||
|
( Mojo::File::curfile->dirname->child('BeastBB')->child('templates')->to_string );
|
||||||
|
@{ $self->static->paths() } =
|
||||||
|
( Mojo::File::curfile->dirname->child('BeastBB')->child('public')->to_string );
|
||||||
|
STDERR->print(Data::Dumper::Dumper $self->static->paths());
|
||||||
|
STDERR->print(Data::Dumper::Dumper $self->renderer->paths());
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
11
lib/BeastBB/Controller/Example.pm
Normal file
11
lib/BeastBB/Controller/Example.pm
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
package BeastBB::Controller::Example;
|
||||||
|
|
||||||
|
use Mojo::Base 'Mojolicious::Controller';
|
||||||
|
|
||||||
|
sub welcome {
|
||||||
|
my $self = shift;
|
||||||
|
$self->render(
|
||||||
|
msg => 'Welcome to the Mojolicious real-time web framework!' );
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
3
migrations/1/down.sql
Normal file
3
migrations/1/down.sql
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
DROP INDEX username_index_users;
|
||||||
|
DROP INDEX matrix_address_index_users;
|
||||||
|
DROP TABLE users;
|
10
migrations/1/up.sql
Normal file
10
migrations/1/up.sql
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
create table users (
|
||||||
|
id SERIAL PRIMARY KEY,
|
||||||
|
username TEXT UNIQUE,
|
||||||
|
matrix_address TEXT UNIQUE,
|
||||||
|
is_confirmed INT[1] DEFAULT false,
|
||||||
|
"privileges" HSTORE
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE INDEX username_index_users ON users username;
|
||||||
|
CREATE INDEX matrix_address_index_users ON users matrix_address;
|
11
public/index.html
Normal file
11
public/index.html
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Welcome to the Mojolicious real-time web framework!</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h2>Welcome to the Mojolicious real-time web framework!</h2>
|
||||||
|
This is the static document "public/index.html",
|
||||||
|
<a href="/">click here</a> to get back to the start.
|
||||||
|
</body>
|
||||||
|
</html>
|
9
t/basic.t
Normal file
9
t/basic.t
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
use Mojo::Base -strict;
|
||||||
|
|
||||||
|
use Test::More;
|
||||||
|
use Test::Mojo;
|
||||||
|
|
||||||
|
my $t = Test::Mojo->new('BeastBB');
|
||||||
|
$t->get_ok('/')->status_is(200)->content_like(qr/Mojolicious/i);
|
||||||
|
|
||||||
|
done_testing();
|
9
templates/example/welcome.html.ep
Normal file
9
templates/example/welcome.html.ep
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
% layout 'default';
|
||||||
|
% title 'Welcome';
|
||||||
|
<h2><%= $msg %></h2>
|
||||||
|
<p>
|
||||||
|
This page was generated from the template "templates/example/welcome.html.ep"
|
||||||
|
and the layout "templates/layouts/default.html.ep",
|
||||||
|
<%= link_to 'click here' => url_for %> to reload the page or
|
||||||
|
<%= link_to 'here' => '/index.html' %> to move forward to a static page.
|
||||||
|
</p>
|
5
templates/layouts/default.html.ep
Normal file
5
templates/layouts/default.html.ep
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head><title><%= title %></title></head>
|
||||||
|
<body><%= content %></body>
|
||||||
|
</html>
|
Loading…
Reference in New Issue
Block a user