Yanick Champoux
and 1 contributors


Dancer::Plugin::MobileDevice - make a Dancer app mobile-aware


version 0.05


    package MyWebApp;
    use Dancer;
    use Dancer::Plugin::MobileDevice;

    get '/' => sub {
        if (is_mobile_device) {
            # do something for mobile
        else {
            # do something for regular agents


A plugin for Dancer-powered webapps to easily detect mobile clients and offer a simplified layout, and/or act in different ways.

The plugin offers a is_mobile_device keyword, which returns true if the device is recognised as a mobile device.

It can also automatically change the layout used to render views for mobile clients.

Custom layout for mobile devices

This plugin can use a custom layout for recognised mobile devices, allowing you to present a simplified page template for mobile devices. To enable this, use the mobile_layout setting for this plugin - for instance, add the following to your config file:

      mobile_layout: 'mobile'

This means that, when template is called to render a view, if the client is recognised as a mobile device, the layout named mobile will be used, rather than whatever the current layout setting is.

You can of course still override this layout by supplying a layout option to the template call in the usual way (see the Dancer documentation for how to do this).


Please report any bugs or feature requests to http://github.com/PerlDancer/Dancer-Plugin-MobileDevice/issues


You can find documentation for this module with the perldoc command.

    perldoc Dancer::Plugin::MobileDevice

You can also look for information at:


This plugin was initially written for an article of the Dancer advent calendar 2010.


Dancer Core Developers


This software is copyright (c) 2010 by Alexis Sukrieh.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.