The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

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

VERSION

version 0.05

SYNOPSIS

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

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

DESCRIPTION

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:

  plugins:
    MobileDevice:
      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).

BUGS

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

SUPPORT

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

    perldoc Dancer::Plugin::MobileDevice

You can also look for information at:

ACKNOWLEDGEMENTS

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

AUTHOR

Dancer Core Developers

COPYRIGHT AND LICENSE

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.