Skip to content

Commit b96c672

Browse files
committed
rel_2021_12_02, see Changes
1 parent 1ff3e0b commit b96c672

File tree

7 files changed

+179
-101
lines changed

7 files changed

+179
-101
lines changed

Changes

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,18 @@ Revision history for Mojolicious application Slovo
44
* Fixed error in template partials/_kniga.html.ep in Slovo::Themes::Malka.
55
* Returned again to showing the celina used for title of a stranica in
66
Slovo::Controller::Celini->index().
7-
7+
* Added social icons from materialdesignicons.com and icon-icons.com to
8+
Slovo::Plugin::Themes::Malka and used them in the footer. Slightly
9+
improved CSS for mobile devices.
10+
* Enabled partials/_right.html.ep and added <aside id="widgets"> to it to
11+
enable plugins to put there content.
12+
* Moved Plugins TagHelpers and DefaultHelpers to slovo.conf just after
13+
Authentication plugin to allow their helpers to be used by plugins which
14+
load next and still override Authentication's is_user_authenticated.
15+
* Added two new helpers to TagHelpers plugin to allow other plugins to put
16+
css and js files to $app->defaults so they are automatically available in
17+
stash as <link> and <script> tags. Used the new feature in Malka.pm
18+
819

920
2021.11.22
1021
* Fixed wrong separator for sharer urls in _footer_right.html.ep

lib/Slovo.pm

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -167,12 +167,14 @@ sub _load_config ($app) {
167167
my $home = $app->home;
168168

169169
# Load configuration from hash returned by "slovo.conf"
170-
my $file = $etc->child("$moniker.conf");
171-
my $mode_file = $etc->child("$moniker.$mode.conf");
170+
my $file = $etc->child("$moniker.conf");
171+
my $mode_file = $etc->child("$moniker.$mode.conf");
172+
my $home_file = $home->child("$moniker.conf");
173+
my $home_mode_file = $home->child("$moniker.$mode.conf");
172174
$ENV{MOJO_CONFIG}
173-
//= (-e $home->child("$moniker.$mode.conf") && $home->child("$moniker.$mode.conf"))
174-
|| (-e $home->child("$moniker.conf") && $home->child("$moniker.conf"))
175-
|| (-e $mode_file ? $mode_file : $file);
175+
//= (-f $home_mode_file && $home_mode_file)
176+
|| (-f $home_file && $home_file)
177+
|| (-f $mode_file ? $mode_file : $file);
176178
177179
my $config = $app->plugin('Config');
178180
for my $class (@{$config->{load_classes} // []}) {
@@ -200,7 +202,6 @@ sub _load_pugins ($app) {
200202
# See /perldoc/Mojolicious/Plugins#PLUGINS
201203
$app->plugins->namespaces(['Slovo::Plugin', 'Slovo', 'Mojolicious::Plugin']);
202204
my $plugins = $app->config('load_plugins') // [];
203-
push @$plugins, qw(DefaultHelpers TagHelpers);
204205
foreach my $plugin (@$plugins) {
205206
my $name = (ref $plugin ? (keys %$plugin)[0] : $plugin);
206207

lib/Slovo/Controller/Celini.pm

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ sub execute ($c, $page, $user, $l, $preview) {
6060
lang => $celina->{language});
6161
}
6262

63-
# Check for pid and page_id parameters and edirect to pages' index page if
63+
# Check for pid and page_id parameters and redirect to pages' index page if
6464
# needed, so the user can choose in which page to create the new writing.
6565
my sub _validate_create ($c, $u, $l, $str) {
6666
my $int = qr/^\d{1,10}$/;
@@ -257,11 +257,8 @@ sub index ($c) {
257257
}
258258
my $celini = $c->celini;
259259
my $opts = {
260-
where => {
261-
page_id => $page_id,
262-
%{$celini->readable_by($c->user)}
263-
},
264-
order_by => {-asc => [qw(page_id pid sorting id)]}};
260+
where => {page_id => $page_id, %{$celini->readable_by($c->user)}},
261+
order_by => {-asc => [qw(page_id pid sorting id)]}};
265262

266263
return $c->render(
267264
celini => $celini->all($opts),

lib/Slovo/Plugin/TagHelpers.pm

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,18 @@ sub register ($self, $app, $config) {
8989
$app->helper(html_substr => \&_html_substr);
9090
$app->helper(format_body => \&_format_body);
9191

92+
for my $h (qw(stylesheets javascripts)) {
93+
$app->helper(
94+
$h => sub {
95+
state $tag = $h =~ s/s$//r;
96+
if ($_[1]) {
97+
my $d = $app->defaults->{$h} //= [];
98+
push @$d, $_[0]->$tag($_[1]);
99+
return $_[0];
100+
}
101+
return join $/, @{$_[0]->stash->{$h} //= []};
102+
});
103+
}
92104
return $self;
93105
}
94106

@@ -158,6 +170,24 @@ are not more than C<$chars>. Starts from the first character in the first
158170
matched C<$selector>. In case the C<$html> is simple text, produces
159171
C<E<lt>pE<gt>> elements.
160172
173+
=head2 javascripts
174+
175+
Add one JS file to L<Mojolicious/defaults> C<<$app->defaults->{javascripts}>>.
176+
Intended for use in a plugin's C<register> method.
177+
178+
$app->javascripts('/js/foo.js');
179+
$app->javascripts('/js/bar.js');
180+
181+
182+
When invoked without arguments, returns the list of generated tags for those
183+
files, found in C<<$c->stash->{javascripts}>>.
184+
185+
%=javascripts
186+
187+
# returns
188+
<script src="/path/to/foo.js"></script>
189+
<script src="/path/to/bar.js"></script>
190+
161191
=head2 select_box
162192
163193
<%=
@@ -183,6 +213,22 @@ C<select_field>. If value is provided it does C<$c-E<gt>param($name =E<gt>
183213
$attrs{value})>. The generated tags are wrapped in a C<div> tag with
184214
C<class="mui-select $name">.
185215
216+
=head2 stylesheets
217+
218+
Adds an item to C<<$app->defaults->{stylesheets}>> and returns $c.
219+
Intended for use in a plugin's C<register> method.
220+
221+
$app->stylesheets('/css/bar.css');
222+
$app->stylesheets('/css/foo.css');
223+
224+
When invoked without arguments, returns the list of generated tags for those
225+
files, found in C<<$c->stash->{stylesheets}>>.
226+
227+
%=stylesheets
228+
#returns:
229+
<link rel="stylesheet" href="/css/foo.css" />
230+
<link rel="stylesheet" href="/css/bar.css" />
231+
186232
=head1 METHODS
187233
188234
The usual method is implemented.

lib/Slovo/Themes/Malka.pm

Lines changed: 78 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,20 @@ sub register ($self, $app, $conf) {
55

66
# Prepend class
77
unshift @{$app->renderer->classes}, __PACKAGE__;
8+
unshift @{$app->static->classes}, __PACKAGE__;
9+
10+
#Add CSS and JS to defaults for stash.
11+
for (qw(/css/malka/chota_all_min.css
12+
/css/fonts.css
13+
/css/malka/site.css))
14+
{
15+
$app->stylesheets($_);
16+
}
17+
for (qw(/mojo/jquery/jquery.js)) {
18+
$app->javascripts($_);
19+
}
820

9-
unshift @{$app->static->classes}, __PACKAGE__;
10-
11-
# Apppend it to the select_box in domove/_form.html.ep
21+
# Apppend the theme to the select_box in domove/_form.html.ep
1222
$conf //= {};
1323
$conf->{templates} //= ['themes/malka' => 'themes/malka'];
1424
push @{$app->config->{domove_templates} //= []}, $conf->{templates};
@@ -18,6 +28,8 @@ sub register ($self, $app, $conf) {
1828

1929
1;
2030

31+
=pod
32+
2133
=encoding utf8
2234
2335
=head1 NAME
@@ -107,6 +119,14 @@ using the given example at the end of the L<<DESCRIPTION>>.
107119
@@ layouts/uprava.html.ep
108120
@@ css/malka/chota_all_min.css
109121
@@ css/malka/site.css
122+
@@ css/malka/email-fast-outline.svg
123+
@@ css/malka/facebook.svg
124+
@@ css/malka/icons8-telegram-app.svg
125+
@@ css/malka/linkedin.svg
126+
@@ css/malka/reddit.svg
127+
@@ css/malka/twitter.svg
128+
@@ css/malka/login.svg
129+
@@ css/malka/logout.svg
110130
111131
=head1 SEE ALSO
112132
@@ -165,11 +185,11 @@ layout 'site',
165185
<body>
166186
%= include 'partials/_header'
167187
%#= include 'partials/_left'
168-
%#TODO:= include 'partials/_right'
169188
<main class="container">
170189
% my $messgage = flash('message');
171190
%= $messgage ? t(div => (class => 'bd-error text-error') => $messgage) : ''
172191
<%= content %>
192+
%= include 'partials/_right'
173193
</main>
174194
%= include 'partials/_footer'
175195
</body>
@@ -230,22 +250,22 @@ my $sharer_url = $canonical_path;
230250
<a class="button outline primary sharer" target="_blank"
231251
href="https://www.facebook.com/share.php?u=<%= $sharer_url %>" rel="noopener"
232252
aria-label="Споделяне във Facebook"
233-
title="Споделяне във Facebook">f</a><a
253+
title="Споделяне във Facebook"><img src="/css/malka/facebook.svg"></a><a
234254
235255
class="button outline primary sharer" target="_blank"
236256
href="https://www.reddit.com/submit?url=<%= $sharer_url %>"
237257
aria-label="Споделяне в Reddit"
238-
title="Споделяне в Reddit">r</a><a
258+
title="Споделяне в Reddit"><img src="/css/malka/reddit.svg"></a><a
239259
240260
class="button outline primary sharer" target="_blank"
241261
href="https://www.linkedin.com/shareArticle?mini=true&url=<%= $sharer_url %>&title=<%= title %>"
242262
aria-label="Споделяне в LinkedIn"
243-
title="Споделяне в LinkedIn">in</a><a
263+
title="Споделяне в LinkedIn"><img src="/css/malka/linkedin.svg"></a><a
244264
245265
class="button outline primary sharer" target="_blank"
246266
href="https://twitter.com/intent/tweet?url=<%= $sharer_url %>&via=@kberov&title=<%= title %>"
247267
aria-label="Споделяне в Twitter"
248-
title="Споделяне в Twitter">t</a><!--<a
268+
title="Споделяне в Twitter"><img src="/css/malka/twitter.svg"></a><!--<a
249269
250270
class="button outline primary sharer" target="_blank"
251271
href="https://pinterest.com/pin/create/button/?url=<%= $sharer_url %>&description=<%= title %>"
@@ -254,13 +274,13 @@ my $sharer_url = $canonical_path;
254274
255275
class="button outline primary sharer" target="_blank"
256276
href="mailto:?subject=<%= title %>&body=<%= $sharer_url %>"
257-
aria-label="Напишете писмо"
258-
title="Напишете писмо"></a><a
277+
aria-label="Напишете писмо на приятел"
278+
title="Напишете писмо"><img src="/css/malka/email-fast-outline.svg"></a><a
259279
260280
class="button outline primary sharer" target="_blank"
261281
href="tg://msg_url?url=<%= $sharer_url %>&text=<%= title %>"
262282
aria-label="Споделяне в Telegram"
263-
title="Споделяне в Telegram"></a><a
283+
title="Споделяне в Telegram"><img src="/css/malka/icons8-telegram-app.svg"></a><a
264284
265285
class="button outline primary sharer" target="_blank"
266286
aria-label="Направено съ ♥ и Слово"
@@ -295,10 +315,8 @@ my $sharer_url = $canonical_path;
295315
<meta property="og:locale" content="<%= $l %>" />
296316
<meta property="og:article:published_time" content="<%= $created_at %>" />
297317
<meta property="og:article:modified_time" content="<%= $tstamp %>" />
298-
<link rel="stylesheet" href="/css/malka/chota_all_min.css" />
299-
<link rel="stylesheet" href="/css/fonts.css" />
300-
<link rel="stylesheet" href="/css/malka/site.css" />
301-
<script src="/mojo/jquery/jquery.js" ></script>
318+
%== stylesheets;
319+
%== javascripts;
302320
</head>
303321
304322
@@ partials/_created_tstamp.html.ep
@@ -362,9 +380,9 @@ my $sharer_url = $canonical_path;
362380
<nav class="col-2 nav-right">
363381
% if ($c->is_user_authenticated) {
364382
% my $name = $user->{first_name} . ' ' . $user->{last_name};
365-
%= link_to 'Изходъ '.$name => 'sign_out'
383+
<%= link_to sign_out => begin %><img title="<%= 'Изходъ '.$name %>" src="/css/malka/logout.svg"><% end %>
366384
% } else {
367-
%= link_to 'Входъ' => 'sign_in'
385+
<%= link_to sign_in => begin%><img title="Входъ" src="/css/malka/login.svg"><% end %>
368386
% }
369387
%= include 'partials/_lang_menu'
370388
</nav>
@@ -470,8 +488,9 @@ my $html = html_substr($celina->{teaser} // $celina->{body},
470488
</div>
471489
472490
@@ partials/_right.html.ep
473-
% if ( @$right ) {
474491
<!-- right -->
492+
<aside id="widgets"></aside>
493+
% if ( @$right ) {
475494
%= t aside => (class=>"right") => begin
476495
<%==
477496
$right->map(sub {
@@ -701,10 +720,8 @@ login_form.onsubmit = function() {
701720
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
702721
<meta name="generator" content="Slovo <%= $Slovo::VERSION .'/'. $Slovo::CODENAME %>" />
703722
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon" />
704-
<link rel="stylesheet" href="/css/malka/chota_all_min.css" />
705-
<link rel="stylesheet" href="/css/fonts.css" />
706-
<link rel="stylesheet" href="/css/malka/site.css" />
707-
<script src="/mojo/jquery/jquery.js"></script>
723+
%== stylesheets;
724+
%== javascripts;
708725
</head>
709726
<body>
710727
<header class="is-fixed bg-dark row">
@@ -740,9 +757,12 @@ html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:b
740757
@@ css/malka/site.css
741758
742759
:root {
743-
--border-radius: 10px;
760+
--border-radius: 10px;
761+
--font-size: 2.2rem;
744762
--color-success: #23FF04
763+
--grid-maxWidth: 86rem;
745764
}
765+
746766
* {
747767
scrollbar-width: auto;
748768
scrollbar-color: var(--color-lightGrey) var(--color-darkGrey);
@@ -818,10 +838,12 @@ body>header nav, body>footer nav {
818838
margin-top: 0.5rem !important;
819839
margin-bottom: 0.3rem !important;
820840
}
821-
main {
841+
main.container {
822842
font-size: 100%;
823843
padding-top: 4rem !important;
824844
padding-bottom: 4rem !important;
845+
max-width: 86rem;
846+
width: 80%;
825847
}
826848
827849
.card {
@@ -854,13 +876,20 @@ footer .button.outline.primary.sharer {
854876
color: var(--color-success);
855877
font-weight: bolder;
856878
border-radius: 4px;
857-
font-size: small;
858-
padding: .5rem 1rem;
879+
padding: .1rem .5rem;
880+
}
881+
{
882+
859883
}
860884
footer .button.outline.primary.sharer img {
861-
height: .85rem;
885+
height: 24px;
886+
width: 24px;
887+
display: block;
888+
margin-left: auto;
889+
margin-right: auto;
862890
}
863891
892+
864893
@media (max-width: 721px) {
865894
html {
866895
font-size: 90%;
@@ -873,15 +902,17 @@ footer .button.outline.primary.sharer img {
873902
body>header nav,
874903
body>footer nav {
875904
margin: 0 !important;
876-
font-size: 86% !important;
905+
font-size: 70% !important;
877906
}
878907
.dropdown .menu a {
879908
display: inline;
880909
}
881-
main {
882-
padding-top: 5.5rem !important;
883-
padding-bottom: 5.5rem !important;
910+
main.container {
911+
padding-top: 5.5rem important;
912+
padding-bottom: 5.5rem important;
913+
width: 90%;
884914
}
915+
885916
footer .love {
886917
display: none;
887918
}
@@ -891,3 +922,19 @@ footer .button.outline.primary.sharer img {
891922
}
892923
} /* end @media (max-width: 721px) */
893924
925+
@@ css/malka/email-fast-outline.svg
926+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="white" d="M22 5.5H9C7.9 5.5 7 6.4 7 7.5V16.5C7 17.61 7.9 18.5 9 18.5H22C23.11 18.5 24 17.61 24 16.5V7.5C24 6.4 23.11 5.5 22 5.5M22 16.5H9V9.17L15.5 12.5L22 9.17V16.5M15.5 10.81L9 7.5H22L15.5 10.81M5 16.5C5 16.67 5.03 16.83 5.05 17H1C.448 17 0 16.55 0 16S.448 15 1 15H5V16.5M3 7H5.05C5.03 7.17 5 7.33 5 7.5V9H3C2.45 9 2 8.55 2 8S2.45 7 3 7M1 12C1 11.45 1.45 11 2 11H5V13H2C1.45 13 1 12.55 1 12Z" /></svg>
927+
@@ css/malka/facebook.svg
928+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="white" d="M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z" /></svg>
929+
@@ css/malka/icons8-telegram-app.svg
930+
<svg fill="white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24px" height="24px"><path d="M 19.976562 3.1210938 L 19.611328 3.2695312 C 19.611328 3.2695312 6.6375504 8.5740484 2.6132812 10.267578 L 2.0019531 10.525391 L 2.0019531 12.779297 L 6.9472656 14.755859 L 8.6796875 19.996094 L 10.251953 20.005859 L 12.955078 17.720703 L 16.355469 20.996094 L 18.808594 20.996094 L 21.964844 3.875 L 19.976562 3.1210938 z M 19.646484 5.4179688 L 17.146484 18.980469 L 13.044922 15.029297 L 10.224609 17.410156 L 11 14.375 L 17.28125 8 L 17.082031 7.7988281 C 17.082031 7.7988281 10.706702 11.473998 8.0019531 13.023438 L 4.5371094 11.638672 C 9.0770415 9.7455758 18.697943 5.8058761 19.646484 5.4179688 z"/></svg>
931+
@@ css/malka/linkedin.svg
932+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="white" d="M19 3A2 2 0 0 1 21 5V19A2 2 0 0 1 19 21H5A2 2 0 0 1 3 19V5A2 2 0 0 1 5 3H19M18.5 18.5V13.2A3.26 3.26 0 0 0 15.24 9.94C14.39 9.94 13.4 10.46 12.92 11.24V10.13H10.13V18.5H12.92V13.57C12.92 12.8 13.54 12.17 14.31 12.17A1.4 1.4 0 0 1 15.71 13.57V18.5H18.5M6.88 8.56A1.68 1.68 0 0 0 8.56 6.88C8.56 5.95 7.81 5.19 6.88 5.19A1.69 1.69 0 0 0 5.19 6.88C5.19 7.81 5.95 8.56 6.88 8.56M8.27 18.5V10.13H5.5V18.5H8.27Z" /></svg>
933+
@@ css/malka/login.svg
934+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="white" d="M10,17V14H3V10H10V7L15,12L10,17M10,2H19A2,2 0 0,1 21,4V20A2,2 0 0,1 19,22H10A2,2 0 0,1 8,20V18H10V20H19V4H10V6H8V4A2,2 0 0,1 10,2Z" /></svg>
935+
@@ css/malka/logout.svg
936+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M16,17V14H9V10H16V7L21,12L16,17M14,2A2,2 0 0,1 16,4V6H14V4H5V20H14V18H16V20A2,2 0 0,1 14,22H5A2,2 0 0,1 3,20V4A2,2 0 0,1 5,2H14Z" /></svg>
937+
@@ css/malka/reddit.svg
938+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="white" d="M14.5 15.41C14.58 15.5 14.58 15.69 14.5 15.8C13.77 16.5 12.41 16.56 12 16.56C11.61 16.56 10.25 16.5 9.54 15.8C9.44 15.69 9.44 15.5 9.54 15.41C9.65 15.31 9.82 15.31 9.92 15.41C10.38 15.87 11.33 16 12 16C12.69 16 13.66 15.87 14.1 15.41C14.21 15.31 14.38 15.31 14.5 15.41M10.75 13.04C10.75 12.47 10.28 12 9.71 12C9.14 12 8.67 12.47 8.67 13.04C8.67 13.61 9.14 14.09 9.71 14.08C10.28 14.08 10.75 13.61 10.75 13.04M14.29 12C13.72 12 13.25 12.5 13.25 13.05S13.72 14.09 14.29 14.09C14.86 14.09 15.33 13.61 15.33 13.05C15.33 12.5 14.86 12 14.29 12M22 12C22 17.5 17.5 22 12 22S2 17.5 2 12C2 6.5 6.5 2 12 2S22 6.5 22 12M18.67 12C18.67 11.19 18 10.54 17.22 10.54C16.82 10.54 16.46 10.7 16.2 10.95C15.2 10.23 13.83 9.77 12.3 9.71L12.97 6.58L15.14 7.05C15.16 7.6 15.62 8.04 16.18 8.04C16.75 8.04 17.22 7.57 17.22 7C17.22 6.43 16.75 5.96 16.18 5.96C15.77 5.96 15.41 6.2 15.25 6.55L12.82 6.03C12.75 6 12.68 6.03 12.63 6.07C12.57 6.11 12.54 6.17 12.53 6.24L11.79 9.72C10.24 9.77 8.84 10.23 7.82 10.96C7.56 10.71 7.2 10.56 6.81 10.56C6 10.56 5.35 11.21 5.35 12C5.35 12.61 5.71 13.11 6.21 13.34C6.19 13.5 6.18 13.62 6.18 13.78C6.18 16 8.79 17.85 12 17.85C15.23 17.85 17.85 16.03 17.85 13.78C17.85 13.64 17.84 13.5 17.81 13.34C18.31 13.11 18.67 12.6 18.67 12Z" /></svg>
939+
@@ css/malka/twitter.svg
940+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="white" d="M22.46,6C21.69,6.35 20.86,6.58 20,6.69C20.88,6.16 21.56,5.32 21.88,4.31C21.05,4.81 20.13,5.16 19.16,5.36C18.37,4.5 17.26,4 16,4C13.65,4 11.73,5.92 11.73,8.29C11.73,8.63 11.77,8.96 11.84,9.27C8.28,9.09 5.11,7.38 3,4.79C2.63,5.42 2.42,6.16 2.42,6.94C2.42,8.43 3.17,9.75 4.33,10.5C3.62,10.5 2.96,10.3 2.38,10C2.38,10 2.38,10 2.38,10.03C2.38,12.11 3.86,13.85 5.82,14.24C5.46,14.34 5.08,14.39 4.69,14.39C4.42,14.39 4.15,14.36 3.89,14.31C4.43,16 6,17.26 7.89,17.29C6.43,18.45 4.58,19.13 2.56,19.13C2.22,19.13 1.88,19.11 1.54,19.07C3.44,20.29 5.7,21 8.12,21C16,21 20.33,14.46 20.33,8.79C20.33,8.6 20.33,8.42 20.32,8.23C21.16,7.63 21.88,6.87 22.46,6Z" /></svg>

lib/Slovo/resources/etc/slovo.conf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ my $mail_cfg = {
6666
validate_user => \&Slovo::Controller::Auth::validate_user,
6767
}
6868
},
69+
qw(DefaultHelpers TagHelpers),
6970
{RoutesConfig => {file => (-e $rmf ? $rmf : $resources->child("etc/routes.conf"))}},
7071
{
7172
'Minion::Admin' =>

0 commit comments

Comments
 (0)