NAME
Rapi::Blog - Plack-compatible, RapidApp-based blog engine
SYNOPSIS
use Rapi::Blog;
my $app = Rapi::Blog->new({
site_path => '/path/to/some-site',
scaffold_path => '/path/to/some-site/scaffold', # default
});
# Plack/PSGI app:
$app->to_app
Create a new site from scratch using the rabl.pl utility script:
rabl.pl create /path/to/some-site
cd /path/to/some-site && plackup
DESCRIPTION
This is a Plack-compatible blogging platform written using RapidApp. This module was first released during The Perl Conference 2017 in Washington D.C. where a talk/demo was given on the platform:
See Rapi::Blog::Manual for more information and usage.
CONFIGURATION
Rapi::Blog
extends RapidApp::Builder and supports all of its options, as well as the following params specific to this module:
site_path
Only required param - path to the directory containing the site.
scaffold_path
Path to the directory containing the "scaffold" of the site. This is like a document root with some extra functionality.
If not supplied, defaults to 'scaffold/'
within the site_path
directory.
builtin_scaffold
Alternative to scaffold_path
, the name of one of the builtin skeleton scaffolds to use as the live scaffold. This is mainly useful for dev and content-only testing. As of version 1.0000
) there are two built-in scaffolds:
bootstrap-blog
This is the default out-of-the-box scaffold which is based on the "Blog" example from the Twitter Bootstrap HTML/CSS framework (v3.3.7): http://getbootstrap.com/examples/blog/. This mainly exists to serve as a useful reference implementation of the basic features/directives provided by the Template API.
keep-it-simple
Based on the "Keep It Simple" website template by http://www.Styleshout.com
fallback_builtin_scaffold
If set to true and the local scaffold directory doesn't exist, the default builtin skeleton scaffold 'bootstrap-blog' will be used instead. Useful for testing and content-only scenarios.
Defaults to false.
smtp_config
Optional HashRef of Email::Sender::Transport::SMTP params which will be used by the app for sending E-Mails, such as password resets and other notifications. The options are passed directly to Email::Sender::Transport::SMTP-
new()>. If the special param transport_class
is included, it will be used as the transport class instead of Email::Sender::Transport::SMTP
. If this is supplied, it should still be a valid Email::Sender::Transport class.
If this option is not supplied, E-Mails will be sent via the localhost using sendmail
via the default Email::Sender::Transport::Sendmail options.
override_email_recipient
If set, all e-mails generated by the system will be sent to the specified address instead of normal recipients.
METHODS
to_app
PSGI $app
CodeRef. Derives from Plack::Component
SEE ALSO
AUTHOR
Henry Van Styn <vanstyn@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2017 by IntelliTree Solutions llc.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.