I am successfully using the module with the patch <http://presentacions.mimosinnet.org/reveal/01#/>. It works nicely.
El dimecres, 12 abril de 2017 19:56:54 UTC+2, Joel Berger va escriure: > > And after I fixed the "bug", I just now remember why I did that. It made > it convenient when using github pages for publishing ... > > Hmmmm. Not sure what to do now. > > On Wednesday, January 18, 2017 at 4:50:17 PM UTC-6, mimosinnet wrote: >> >> You hit the nail on the head! Thanks a lot! I was looking for answers at >> the wrong place =^_^= >> >> I will now work on the pull request and the test ;-) >> >> Thanks! >> >> El dimecres, 18 gener de 2017 14:46:52 UTC+1, Dotan Dimet va escriure: >>> >>> Sorry, I should have looked at the code in the layout template. >>> >>> >>> https://github.com/jberger/Mojolicious-Plugin-RevealJS/blob/master/lib/Mojolicious/Plugin/RevealJS/files/templates/layouts/revealjs.html.ep >>> >>> It seems the links to the revealjs static files (css, etc.) are relative >>> to the current route: >>> >>> <link rel="stylesheet" href="revealjs/css/reveal.css"> >>> >>> So if your presentation is at /reveal/foo, it will look for >>> /reveal/revealjs/css/reveal.css, and not find it. >>> >>> I thought it was using absolute paths (i.e "/revealjs/css/reveal.css" >>> etc.), which would avoid this issue. >>> >>> You could send Joel a bug report or a pull request for a change >>> (preferably adding a test for a nested route, like you have in your app). >>> >>> - Dotan >>> >>> On 17/01/17 01:50, mimosinnet wrote: >>> >>> 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]. >>>> 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. >>>> >>>> >>>> -- >>> 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. >>> >>> >>> -- 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.
