Slovo
view release on metacpan or search on metacpan
-q -n -l ~/opt/slovo Slovo
Run slovo for the first time in debug mode
morbo ~/opt/slovo/bin/slovo
Visit L<http://127.0.0.1:3000>.
For help visit L<http://127.0.0.1:3000/perldoc>.
=head1 DESCRIPTION
L<Slovo> is a simple to install and extensible L<Mojolicious>
L<CMS|https://en.wikipedia.org/wiki/Web_content_management_system>
with nice core features, listed below.
This is a usable release, yet B<full of creeping bugs> and B<half-implemented
pieces>! The project is in active development, so expect often breaking changes.
=over
=item * On the fly generation of static pages under Apache/CGI â perfect for
cheap shared hosting and blogging â BETA;
=item * Multi-domain support - BETA;
=item * Multi-language pages - WIP;
=item * Cached published pages and content - DONE;
=item * Multi-user support - DONE;
=item * User onboarding - WIP;
=item * User sign in - DONE;
=item * Managing pages, content, domains, users - WIP;
=item * Managing groups - BASIC;
=item * Multiple groups per user - DONE;
=item * Ownership and permissions management per page and it's content - BETA;
=item * Automatic 301 and 308 (Moved Permanently) redirects for renamed pages
and content - DONE;
=item * Embedded fonts for displaying all
L<Azbuka|https://en.wikipedia.org/wiki/Cyrillic_script> and
L<Glagolitsa|https://en.wikipedia.org/wiki/Glagolitic_script> characters -
DONE;
=item * OpenAPI 2/3.0 (Swagger) REST API - BASIC;
=item * Embedded Trumbowyg - L<A lightweight WYSIWYG editor|https://alex-d.github.io/Trumbowyg/>;
=item * Embedded Editor.md - L<The open source embeddable online markdown editor
(component), based on CodeMirror & jQuery &
Marked|http://editor.md.ipandao.com/>;
=item * Example startup scripts for slovo and slovo_minion services
for L<systemd|https://freedesktop.org/wiki/Software/systemd/>, L<Apache
2.4|https://httpd.apache.org/docs/2.4/> and NGINX vhost configuration files.
=item * Inflatable embedded themes support - BETA;
=item * and more to comeâ¦
=back
By default Slovo comes with SQLite database, but support for PostgreSQL or
MySQL is about to be added when needed. It is just a question of making
compatible and/or translating some limited number of SQL queries to the
corresponding SQL dialects. Contributors are welcome.
The word "slovo" (Ñлово) has one unchanged meaning during the last millennium
among all slavic languages. It is actually one language that started splitting
apart less than one thousand years ago. The meaning is "word" â the God's word
(when used with capital letter). Hence the self-naming of this group of people
C<qr/sl(o|a)v(e|a|i)n(i|y|e)/> - people who have been given the God's word or
people who can speak. All others were considered "mute", hence the naming
(немÑи)...
=head1 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 L<Perlbrew|http://perlbrew.pl> environment.
If you already downloaded it and you have L<cpanm>.
$ cpanm -l ~/opt/slovo Slovo-XXXX.XX.XX.tar.gz
Or even if you don't have C<cpanm>. Note that you need to install dependencies first.
Set C<INSTALL_BASE>, remove old Slovo installation, make, test, install, create
data directory for sqlite database and run slovo to see available commands.
tar zxf Slovo-XXXX.XX.XX.tar.gz
cd Slovo-XXXX.XX.XX
INSTALL_BASE=~/opt/slovo && rm -rf $INSTALL_BASE && make distclean; \
perl Makefile.PL INSTALL_BASE=$INSTALL_BASE && make && make test && make install \
&& $INSTALL_BASE/bin/slovo eval 'app->home->child("data")->make_path({mode => 0700});' \
&& $INSTALL_BASE/bin/slovo
Use cpanm to install or update into a custom location as self contained application and
run slovo to see how it's going.
# From metacpan. org
export PREFIX=~/opt/slovo;
cpanm -M https://cpan.metacpan.org -n --self-contained -l $PREFIX Slovo \
$PREFIX/bin/slovo eval 'app->home->child("data")->make_path({mode => 0700});' \
$PREFIX/bin/slovo
# From the directory where you unpacked Slovo
export PREFIX=~/opt/slovo;
cpanm . -n --self-contained -l $PREFIX Slovo
$PREFIX/bin/slovo eval 'app->home->child("data")->make_path({mode => 0700});'
$PREFIX/bin/slovo
Start the development server and open a browser
( run in 1.051 second using v1.01-cache-2.11-cpan-99c4e6809bf )