Mojolicious
Vzhled
Info
[editovat]Projekty
[editovat]- Galileo (CMS) – moderní CMS postavený na Mojolicious
- Projects and Companies Using Mojolicious
Návody
[editovat]Diskuse
[editovat]- blogs.perl.org:
- Joel Berger (2012-10-14): People Don't Like Mojolicious – Proč lidé nemají rádi Mojolicious:
- Protože je Anti-CPAN – autor odpovídá a dokládá, že není Anti-CPAN.
- Joel Berger (2012-10-14): People Don't Like Mojolicious – Proč lidé nemají rádi Mojolicious:
perldoc
[editovat]perldoc Mojolicious
perldoc Mojolicious::Guides
perldoc Mojolicious::Lite
perldoc Mojo
Howto
[editovat]- apt-get install libmojolicious-perl
- tento balík obsahuje i WWW server morbo, který budeme používat
- nějakou aplikaci v Perlu pak jednoduše spustíme příkazem:
morbo mojeaplikace.pl
mojeaplikace.pl může vypadat třeba takhle:
#! /usr/bin/perl
use Mojolicious::Lite;
get '/' => sub {
my $self = shift;
$self->render('00-Howto');
};
app->start;
__DATA__
@@00-Howto.html.ep
% use Time::Piece;
% my $now = localtime;
<!DOCTYPE html>
<html>
<head><title>00-Howto</title></head>
<html>
<body>
<h2>Mojolicious::Lite</h2>
<h3>Jak se pouští a jek to renderuje</h3>
<ol>
<li>./app.pl daemon</li>
<li>morbo app.pl</li>
<li>Mojolicious::Guides::Rendering</li>
</ol>
<p>Jak se máš, světe?</p>
<p>The time is <%= $now->hms %></p>
</body>
</html>
Rendering
[editovat]Renderování v podstatě znamená, že do HTML stránky můžeme vkládat kusy perlovského kódu, jak jsem viděli v minulém příkladu:
% my $now = localtime;
<p>The time is <%= $now->hms %></p>
Do zdrojového kódu HTML stránky můžeme vkládat perlovský kód buď tak, že jej uzavřeme mezi tagy, anebo příslušným způsobem označíme jednu celou linku.
Otvíracích tagů je pět druhů, všechny se ale uzavírají jednotným zavíracím tagem %>
- perlovský kód
<%
Perl code
%>
- perlovský výraz, který se po vyhodnocení vloží do HTML kódu (XML entity budou escapovány):
<%=
Perl expression
%>
- perlovský výraz, který se po vyhodnocení vloží do HTML kódu tak, jak je:
<%==
Perl expression
%>
- komentář (vhodný např. při ladění):
<%#
komentář
%>
- vloží se zabaleno do tagů <% a %> (např. pro generování šablon):
<%%
Perl code
%>
Uvedené konstrukce je možno v případě jednoho řádku vložit do HTML kódu následovně:
- jedna řádka perlovského kódu
% Perl code line
- Perlovský výraz (XML entity budou escapovány):
%= expression
- Perlovský výraz (XML entity se zobrazí tak, jak jsou):
%== expression
- komentář:
%# Řádka komentáře
- Nahradí se % (pro vytváření šablon apod.):
%% cokoliv
Problémy
[editovat]Plugin "PODRenderer" missing, maybe you need to install it?
(Mojolicious ver. 9.22 on Xubuntu 20.04) Řešení:
sudo cpan Mojolicious::Plugin::PODRenderer