El dilluns, 16 gener de 2017 14:33:50 UTC+1, Dotan Dimet va escriure:
>
> My guess is that your route ('/revealjs/:id') interferes with requests for 
> the static Reveal.js files bundled in the plugin,
> which are served from /revealjs/...
>
... 

> So, try renaming your route and see if things improve?
>

Thanks very much for the suggestion. I have renamed the route to:

$r->get('/reveal/:id')->to('presenta#reveal');

Nevertheless, I have the same issue. These are the paths that cannot be 
found when rendering the page:

GET http://127.0.0.1:3000/reveal/revealjs/js/reveal.js 
01:53 GET http://127.0.0.1:3000/reveal/revealjs/lib/js/head.min.js 
01:22 GET http://127.0.0.1:3000/reveal/revealjs/lib/css/zenburn.css 
01:19 GET http://127.0.0.1:3000/reveal/revealjs/css/theme/black.css 
01:17 GET http://127.0.0.1:3000/reveal/revealjs/css/reveal.css 
01:30 GET http://127.0.0.1:3000/reveal/revealjs/css/print/paper.css 
01:53 GET http://127.0.0.1:3000/reveal/revealjs/lib/js/head.min.js 
01:54 GET http://127.0.0.1:3000/reveal/revealjs/js/reveal.js 

If I try with Mojolicious::Lite, it fins the paths, which are:
/revealjs/lib/js/head.min.js 
/revealjs/lib/css/zenburn.css
/revealjs/css/theme/black.css
/revealjs/css/reveal.css
...

Cheers! 

On 16/01/17 10:51, mimosinnet wrote:
>
> I am having trouble using Mojolicious::Plugin::RevealJS. It works it a 
> Lite app, but I fail to use it in a full app and I am unable to find where 
> is the issue.  
>
> I start the plugin with:
>
> sub startup {
>>
>>   my $self = shift;
>>
>>   $self->plugin('RevealJS');
>> ...
>>   my $r = $self->routes;
>> ....
>>  $r->get('/revealjs/:id')->to('presenta#revealjs');
>> ...
>> }
>>
>
> In the controller, I start the plugin by using the revealjs layout:
> sub revealjs {
>
>  my $self = shift;
>  my $id_pres = $self->stash('id');
>  $self->render(
>
>  layout => 'revealjs',
>  template => 'mytalk',
>  id_pres => $id_pres
>  
>
>  );
> }
>
>
> The app shows the content of the template, adds code from the plugin, but 
> fails to find the revealjs files when rendering the layout. These are the 
> paths that cannot be found when rendering the page:
> GET http://127.0.0.1:3000/revealjs/revealjs/css/reveal.css 
> 01:53 GET http://127.0.0.1:3000/revealjs/revealjs/lib/js/head.min.js 
> 01:22 GET http://127.0.0.1:3000/revealjs/revealjs/lib/css/zenburn.css 
> 01:19 GET http://127.0.0.1:3000/revealjs/revealjs/css/theme/black.css 
> 01:54 GET http://127.0.0.1:3000/revealjs/revealjs/js/reveal.js 
> 01:30 GET http://127.0.0.1:3000/revealjs/revealjs/css/print/paper.css 
> 01:53 GET http://127.0.0.1:3000/revealjs/revealjs/lib/js/head.min.js 
> 01:54 GET http://127.0.0.1:3000/revealjs/revealjs/js/reveal.js 
> 01:72 Uncaught ReferenceError: Reveal is not defined
>     at 01:72
>
> As the app calls the plugin but fails to find the revealjs files, I guess 
> the issue could be in how the code 
> <https://github.com/jberger/Mojolicious-Plugin-RevealJS> builds the 
> paths, and I imagine this is the relevant part:
> package Mojolicious::Plugin::RevealJS;
> ...
> use Mojo::Home;
> ...
> use File::Basename 'dirname';
> use File::Spec::Functions qw/rel2abs catdir/;
> use File::ShareDir 'dist_dir';
>
> has home => sub {
>   my $checkout = catdir(dirname(rel2abs(__FILE__)), qw/RevealJS files/);
>   Mojo::Home->new(-d $checkout ? $checkout : dist_dir(
> 'Mojolicious-Plugin-RevealJS'));
> };
>
> sub register {
>   my ($plugin, $app, $conf) = @_;
>   my $home = $plugin->home;
>   push @{ $app->static->paths },   $home->rel_dir('public');
>   push @{ $app->renderer->paths }, $home->rel_dir('templates');
>
>
>   $app->defaults('revealjs.init' => {
>     controls => \1,
>     progress => \1,
>     history  => \1,
>     center   => \1,
>     transition => 'slide', #none/fade/slide/convex/concave/zoom
>   });
>
>
>   $app->helper('include_code' => \&_include_code);
>   $app->helper('revealjs.export' => \&_export);
> }
>
> I would appreciate any hints! 
>
> Cheers!
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Mojolicious" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> To post to this group, send email to [email protected] 
> <javascript:>.
> Visit this group at https://groups.google.com/group/mojolicious.
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.

Reply via email to