| Rudesind documentation | Contained in the Rudesind distribution. |
Rudesind::UI - Functions used by the Rudesind UI
my ( $gallery, $image ) = Rudesind::UI::new_from_path( $path ); my $html = Rudesind::UI::text_to_html( $image->caption );
This module contains a few functions needed for Rudesind's Mason UI.
Currently, this module provides two functions:
Given a path based on the current URI, this function determines whether this path is for an image or gallery.
If it is for a gallery, it returns a list consisting of a single
Rudesind::Gallery object. If it is for an image, it returns a list
consisting of a Rudesind::Gallery and Rudesind::Image object.
Given a piece of text (a gallery or image caption), this method
formats that text as HTML using Text::WikiFormat, and returns the
HTML.
| Rudesind documentation | Contained in the Rudesind distribution. |
package Rudesind::UI; use strict; use Text::WikiFormat (); use Rudesind::Config; use Rudesind::Gallery; use Rudesind::Image; sub text_to_html { return Text::WikiFormat::format( $_[0], {}, { implicit_links => 0, absolute_links => 1, extended => 1, }, ); } sub new_from_path { my $path = shift; my $config = shift; my $re = Rudesind::Image->image_extension_re; if ( $path =~ s/\.html$// || $path =~ /$re/ ) { my ( $dir_path, $file ) = $path =~ m{(.+?)/([^/]+$)}; $dir_path ||= '/'; $file ||= $path; my $dir = Rudesind::Gallery->new( path => $dir_path, config => $config ); return unless $dir; return ( $dir, $dir->image($file) ); } else { return ( Rudesind::Gallery->new( path => $path, config => $config ) ); } } 1; __END__