NAME
Slovo - В началѣ бѣ Слово
SYNOPSIS
Mojolicious::Commands->start_app('Slovo');
DESCRIPTION
This is a very early pre-pre-release! Slovo is a simple, installable and extensible Mojolicious CMS.
INSTALL
All you need is a one-liner, it takes less than a minute.
$ curl -L https://cpanmin.us | perl - -M https://cpan.metacpan.org -n -l ~/opt/slovo Slovo
We recommend the use of a Perlbrew environment.
If you already downloaded it and you have cpanm.
$ cpanm -l ~/opt/slovo Slovo-XXXX.XX.XX.tar.gz
Or even if you don't have cpanm
.
tar zxf Slovo-XXXX.XX.XX.tar.gz
cd Slovo-XXXX.XX.XX
perl Makefile.PL INSTALL_BASE=~/opt/slovo && make && make test && make install
USAGE
cd /path/to/installed/slovo
# see various options
./bin/slovo
CONFIGURATION, PATHS and UPGRADING
Slovo is a Mojolicious application which means that everything applying to Mojolicious applies to it too. Slovo main configuration file is in lib/Slovo/resourses/etc/slovo.conf
. You can use your own by setting $ENV{MOJO_CONFIG}
. New routes can be described in routes.conf
. See Mojolicious::Plugin::RoutesConfig for details and examples.
$ENV{MOJO_HOME}
(where you installed Slovo) is automatically detected and used. All paths, used in the application, then are expected to be its children. You can add your own templates in $ENV{MOJO_HOME}/templates
and they will be loaded and used with priority. You can theme your own instance of Slovo by just copying $ENV{MOJO_HOME}/lib/Slovo/resources/templates
to $ENV{MOJO_HOME}/templates
and modify them. You can add your own static files to $ENV{MOJO_HOME}/public
. Last but not least, you can add your own classes into $ENV{MOJO_HOME}/site/lib
and (why not) replace classes form Slovo.
With all the above, you can upgrade Slovo by just installing new versions over it and your files will not be touched. And of course, we know that you are using versioning just in case anything goes wrong.
ATTRIBUTES
Slovo inherits all attributes from Mojolicious and implements the following new ones.
resources
push @{$app->static->paths}, $app->resources->child('public');
Returns a Mojo::File instance for path "resources" in Slovo next to where Slovo.pm
is installed.
METHODS
Slovo inherits all methods from Mojolicious and implements the following new ones.
startup
my $app = Slovo->new->startup;
Starts the application, sets defaults, reads configuration file(s) and returns the application instance.
BUGS
Please open issues at https://github.com/kberov/Slovo/issues.
SUPPORT
Please open issues at https://github.com/kberov/Slovo/issues.
AUTHOR
Красимир Беров
CPAN ID: BEROV
berov ат cpan точка org
http://i-can.eu
COPYRIGHT
This program is free software licensed under the Artistic License 2.0.
The full text of the license can be found in the LICENSE file included with this module.
TODO
Add simplemde-markdown-editor to the distro and use it to prepare markdown as html in the browser. (https://github.com/sparksuite/simplemde-markdown-editor) (https://github.com/Inscryb/inscryb-markdown-editor)
Consider addding also ContentTools as the default WYSIWIG html editor (https://github.com/GetmeUK/ContentTools)
Consider (preferred) using Mithril as frontend framework for building UI together with Pure CSS for styling. (https://github.com/MithrilJS/mithril.js) (https://github.com/pure-css/pure)
Move from sqlite|pg|mysql.conf to a plugin with config file. Move the code from the config file to the plugin and leave only sensible settings in the config file.
Consider using DataTables jQuery plugin for the administrative panel.