Yancy - The Best Web Framework Deserves the Best CMS
version 1.088
Yancy is a simple content management system (CMS) for the Mojolicious web framework.
Get started with the Yancy documentation!
This file documents the application base class. You can use this class directly
via the yancy
command, or you can extend this class to build your own app.
If you have an existing Mojolicious application you want to add Yancy to, see Mojolicious::Plugin::Yancy.
The base Yancy class exists to provide a way to rapidly prototype a data-driven web application. Apps that inherit from Yancy get these features out-of-the-box:
If you're familiar with developing Mojolicious applications, you can start from the app skeleton at https://github.com/preaction/Yancy/tree/master/eg/skeleton.
To begin writing a new application from scratch, create a lib
directory and add a MyApp.pm
file that extends the Yancy
class:
package MyApp;
use Mojo::Base 'Yancy', -signatures;
As in any other Mojolicious app, add your routes, plugins, and other setup to
the startup
method. Don't forget to call Yancy's "startup" method!
sub startup( $self ) {
$self->SUPER::startup;
# ... Add your routes and other setup here
}
Next, create a configuration file named my_app.conf
to connect to your database:
{
backend => 'sqlite:my_app.db',
}
Last, create a simple application script
named script/my_app
to start your application:
#!/usr/bin/env perl
use Mojo::Base -strict;
use lib qw(lib);
use Mojolicious::Commands;
# Start command line interface for application
Mojolicious::Commands->start_app('MyApp');
Now you can run ./script/my_app daemon
to start your app!
To make developing your app easy and fun, make sure you're familiar with these guides:
This project bundles some other projects with the following licenses:
The bundled versions of these modules may change. If you rely on these in your own app, be sure to watch the changelog for version updates.
Doug Bell preaction@cpan.org
This software is copyright (c) 2021 by Doug Bell.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.