-
-
17 Oct 2020 04:56:16 UTC
- Distribution: Rapi-Blog
- Module version: 1.1400
- Source (raw)
- Browse (raw)
- Changes
- Homepage
- How to Contribute
- Repository
- Issues
- Testers (21 / 0 / 0)
- Kwalitee
Bus factor: 1- % Coverage
- License: perl_5
- Activity
24 month- Tools
- Download (3.44MB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
++ed by:2 non-PAUSE users- Dependencies
- Authen::SASL
- Catalyst::Controller
- Catalyst::Model
- Catalyst::Model::DBIC::Schema
- Catalyst::Plugin::RapidApp::NavCore::NavTree
- Catalyst::Plugin::RapidApp::RapidDbic::TableBase
- DBIx::Class::Core
- DBIx::Class::Helpers
- DBIx::Class::ResultSet
- DBIx::Class::Schema
- DBIx::Class::Schema::Diff
- Date::Parse
- DateTime
- Digest::SHA1
- Email::Abstract
- Email::MIME::CreateHTML
- Email::Sender
- Email::Sender::Simple
- Email::Sender::Transport
- Email::Sender::Transport::SMTP
- Email::Sender::Transport::Sendmail
- Email::Simple
- Email::Valid
- Exporter
- File::ShareDir
- FindBin
- HTML::Scrubber
- HTML::Strip
- HTTP::Request::Common
- IO::Socket::SSL
- LWP::Protocol::https
- LWP::UserAgent
- List::Util
- MIME::Base64
- Module::Locate
- Module::Runtime
- Moo
- Moose
- Moose::Role
- MooseX::MarkAsMethods
- MooseX::NonMoose
- POSIX
- Path::Class
- Plack::App::File
- Plack::Builder
- Plack::Middleware::ConditionalGET
- Pod::Find
- Pod::Usage
- RapidApp
- RapidApp::Builder
- RapidApp::Module::DbicPropPage
- RapidApp::Module::DbicRowDV
- RapidApp::Module::Tree
- RapidApp::Template::AccessStore
- RapidApp::Util
- RapidApp::Util::Role::ModelDBIC
- Scalar::Util
- String::CamelCase
- String::Random
- Term::ReadLine
- Text::Glob
- Text::Markdown
- Types::Standard
- URI
- URI::Escape
- YAML::XS
- aliased
- namespace::autoclean
- overload
- parent
- strict
- utf8
- vars
- warnings
- Reverse dependencies
- CPAN Testers List
- Dependency graph
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 thesite_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 version1.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 paramtransport_class
is included, it will be used as the transport class instead ofEmail::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.
recaptcha_config
Optional HashRef config to enable Google reCAPTCHA v2 validation on supported forms. An account and API key pair must be setup with Google first. This config supports the following params:
public_key
Required. The public, or "SITE KEY" provided by the Google reCAPTCHA settings, after being setup in the Google reCAPTCHA system www.google.com/recaptcha/admin
private_key
Required. The private, or "SECRET KEY" provided by the Google reCAPTCHA settings, after being setup in the Google reCAPTCHA system www.google.com/recaptcha/admin. Both the
public_key
and theprivate_key
are provided as a pair and both are required.verify_url
Optional URL to use when performing the actual reCAPCTHA validation with Google. Defaults to
https://www.google.com/recaptcha/api/siteverify
which should probably never need to be changed.strict_mode
Optional mode (turned off by default) which can be enabled to tighten the enforcement reCAPTCHA, requiring it in all locations which is is setup on the server side, regardless of whether or not the client form is actually prompting the user with the appropriate reCAPTCHA "I am not a robot" checkbox dialog. In those cases of client-side forms not properly setup, they will never be able to submit because they will always fail reCAPTCHA validation.
When this mode is off (the default) reCAPTCHA validation is only performed when both the client and the server are properly setup. The downside of this is that it leaves open the scenario of a spammer direct posting to the server instead of using the actual form. Whether or not this mode should be used should be based on need -- if spammers exploit this, turn it on. Otherwise, it is best to leave it off as it turning it on has the potential to make the site less resilient and reliable.
This param accepts only 2 possible values: 1 (enabled) or 0 (disabled, which is the default).
METHODS
to_app
PSGI
$app
CodeRef. Derives from Plack::ComponentSEE 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.
Module Install Instructions
To install Rapi::Blog, copy and paste the appropriate command in to your terminal.
cpanm Rapi::Blog
perl -MCPAN -e shell install Rapi::Blog
For more information on module installation, please visit the detailed CPAN module installation guide.