You are here:
Foswiki
>
System Web
>
ImagePlugin
Edit
Attach
Tags:
create new tag
,
view all tags
<!-- PLEASE DO NOT EDIT THIS TOPIC It is automatically generated from the subversion repository, and any changes you make will simply be overwritten the next time a release is generated. Instead, you could check your fix in, raise a bug in the Bugs web, or mail the authors. --> ---+!! <nop>%TOPIC% %TOC% Use this plugin to control the display and alignment of images using an easy syntax and support for server-side resizing and thumbnailing. There are a set of pre-defined layout formats for images as well as a free layout configurability. Short example: *You type:* <verbatim> %IMAGE{"Sandbox/ImagePluginTest/Westminstpalace.jpg" type="frame" align="none" caption="caption text" }% </verbatim> *You get:* <div style="margin:7px;_width:418px;max-width:418px;"> <a href='%PUBURLPATH%/Sandbox/ImagePluginTest/Westminstpalace.jpg' class='imageHref' title='caption text'> <img src="%ATTACHURLPATH%/WestminstpalaceSample.png" alt="WestminstpalaceSample.png" width='416' height='339' /> </a> </div> *If installed:* %IMAGE{"Sandbox/ImagePluginTest/Westminstpalace.jpg" type="frame" align="none" caption="caption text" }% Images to be displayed can be located * at the =topic= as specified, * at the location specified in the IMAGEALBUM preference variable, * at the current topic or * at a remote URL. If you specify a remote url using =http://...= the image is downloaded (using CPAN:LWP::Simple) into a local cache and then processed as usual. WARNING: please be aware of any copyrights of the images you mirror this way. The =topic= and IMAGEALBUM parameters can be of the for =[<web>.]<topic>= . For example putting <verbatim> * Set IMAGEALBUM = %SYSTEMWEB%.ImagePlugin </verbatim> into the current topic will search all images at the given topic. ---++ Syntax =%<nop>IMAGE{"foo.gif" ...}%= There are four predefined format types (plain, simple, link, thumbnail, frame, float) that can be used by setting the =type= paramenter (see below). In addition there is a free-form =format= parameter to specify any other possible html layout. The Wikipedia format is also supported. See Wikipedia:Wikipedia:Extended_image_syntax. =%<nop>IMAGE{"clear"}%= will create a proper clear for floats elements. ---+++ Arguments The image name is mandatory. Further arguments are optional. | *Name* | *Values* | *Default* | | =align= | left|center|right|none | right | | =alt= | alt text | image filename | | =caption= | caption text | empty | | =class= | (see html specs) | imageFrame, imageFloat, ... depending on the type | | =desc= | description text | title text | | =footer= | text to be appended to the html output | empty | | =format= | image layout format string | set by type argument | | =header= | text to be prepended to the html output | empty | | =height= | integer value | image width | | =href= | hyperlink when clicking on the image | url of the source image | | =id= | (see html specs) | empty | | =mousein= | javascript executed if moving the mouse over the image | empty | | =mouseout= | javascript executed if moving the mouse off the image | empty | | =refresh= | on/off/img to trigger recomputing images | off | | =size= | geometry specification | image geometry | | =zoom= | on/off to scale images, if set to "on" scaling up images is allowed, otherwise it downscales only | off | | =style= | (see html specs) | empty | | =title= | title text | *alt* value | | =tooltip= | on/off | off | | =tooltipwidth= | width of tooltip image | 300 | | =tooltipheight= | height of tooltip image | 300 | | =topic= | valid topic name | topic part of IMGALBUM value or current topic | | =type= | simple, plain, link, thumb[nail], frame, float | plain | | =warn= | on/off, surpress error warnings | on | | =web= | valid web name | web part of IMGALBUM value or current topic | | =width= | integer value | image width | ---+++ Tooltip preview The =tooltip= argument allows rendering image previews in a tooltip. This option only has effect if Foswiki:Extensions.JQueryPlugin is installed that comes with the jquery.tooltip plugin used to render the image tooltip here. ---+++ Image geometry The image geometry in the =size= parameter can be specified in a format =<width>[px][x<height>[px]]=, that is width and height can be given as integers with an optional =px=, where the height is optional, separated with a 'x' in between. Note, that the given width and height values are the _maximum width_ and _maximum height_ that the image will have keeping its aspect ratio. If you want to deform it to an exact measure use the =width= and =height= arguments. Note, that you must set =zoom="on"= to scale images up. Otherwise images smaller than the given geometry will stay as they are. For instance, when generating thumbnails it is preferable to keep small icons as they are instead of bloating them up to a standard thumbnail size. ---+++ Format specification Format strings given in =header=, =footer= and =format= may contain the following pseudo variables: | *Name* | *Value* | | =$align= | value of =align= argumet | | =$alt= | value of =alt= argumet | | =$caption= | caption text | | =$class= | value of =class= argumet | | =$desc= | value of =desc= argument | | =$dollar= | replaced with dollar sign ($) | | =$height= | image height | | =$href= | hyperlink url when clicking on an image | | =$id= | value of =id= argumet | | =$magnifyIcon= | enlage-icon | | =$mousein= | value of =mousein= argument | | =$mouseout= | value of =mouseout= argument | | =$n= | replaced with a linefeed (\n) | | =$nop= | replaced with empty string | | =$origheight= | image height of the original image| | =$origsrc= | url of the original image (not the resized one) | | =$origwidth= | image width of the original image | | =$percnt= | replaced with percent sign (%) | | =$src= | image source url | | =$style= | value of =style= argumet | | =$text= | link text to be displayed in the "link" layout type | | =$title= | value of =title= argument | | =$width= | image width | After the layout has been formatted any further <nop>TopicMarkup that might be contained is expanded afterwards. Note, that using =$percnt= and =$dollar= evaluation order of <nop>TopicMarkup can be changed so that arguments are expanded _after_ the IMAGE tag has been computed, whereas the default evaluation order is left-to-right-inside-out. ---++ REST image service The <nop>ImagePlugin implements a REST handler =resize= to generate thumbnails for image attachments on the fly. This handler is then called in an =img= tag like this: <verbatim> <img src='%PUBURLPATH%/rest/ImagePlugin/resize? topic=web.topic; file=attachment; width=300; height=300' ... /> </verbatim> Arguments to the =resize= handlers are: | *Name* | *Values* | *Default* | | =topic= | specifies the topic where the image is attached | BASEWEB.BASETOPIC | | =file= | specifies the image filename | | | =width= | width of thumbnail | | | =height= | height of thumbnail | | | =size= | geometry of thumbnail | | | =zoom= | switch on/off upscaling | | | =refresh= | on/off/img to trigger recomputing images | off | ---++ Examples * See also [[Sandbox.ImagePluginTest]] for an exhaustive sample and test page * Resize to 100 pixels, text flows right, with caption <verbatim>%IMAGE{"Westminstpalace.jpg" size="100" align="left" caption="This is my caption"}%</verbatim> * Resize to %<nop>THUMBNAIL_SIZE% size, and center image <verbatim>%IMAGE{"Westminstpalace.jpg" type="thumb" align="center"}%</verbatim> ---++ Configuration ---+++ Links to external images You can turn on downloading and mirroring of images that link to external sites, Example: http://www.google.com/intl/en_ALL/images/logo.gif <verbatim> $Foswiki::cfg{ImagePlugin}{RenderExternalImageLinks} = 1; </verbatim> This will download the image and mirror it on the local site. Use the =refresh= url parameter to check if the external images has updated. If you also turn on attaching a mirrored image to the current topic, an additional attachment-record is generated for the downloaded external image. Attachments will be marked as hidden. Note, that any auto-attached image will update the topic and with it its timestamp. <verbatim> $Foswiki::cfg{ImagePlugin}{AutoAttachExternalImages} = 1; </verbatim> ---+++ Attaching auto-generated thumbnails Automatically generated thumbnails are attached to the current topic when you switch on <verbatim> $Foswiki::cfg{ImagePlugin}{AutoAttachThumbnails} = 1; </verbatim> This might be of interest when you'd like to access these thumbnails using other plugins. ---+++ Image processing backend The plugin makes use of either CPAN:Image::Magick or [[http://www.graphicsmagick.org/][Graphics::Magick]], a fork of the former. Both are compatible as far as they are used here. Graphics::Magick does seem to perform faster than Image::Magick; some Image::Magick might be broken on your server distribution. By default Image::Magick is used as it is the more common extension for perlbased image processing. <verbatim> $Foswiki::cfg{ImagePlugin}{Mode} = 'Image::Magick'; </verbatim> ---++ Plugin Installation Instructions You do not need to install anything in the browser to use this extension. The following instructions are for the administrator who installs the extension on the server. Open configure, and open the "Extensions" section. Use "Find More Extensions" to get a list of available extensions. Select "Install". If you have any problems, or if the extension isn't available in =configure=, then you can still install manually from the command-line. See http://foswiki.org/Support/ManuallyInstallingExtensions for more help. ---++ Plugin Info <!-- * Set SHORTDESCRIPTION = Control the display and alignment of images using an easy syntax --> | Plugin Author: | Craig Meyer, Foswiki:Main.MichaelDaum | | Copyright: | © 2006, Craig Meyer, %BR% © 2006-2010 Michael Daum http://michaeldaumconsulting.com | | License: | GPL ([[http://www.gnu.org/copyleft/gpl.html][GNU General Public License]]) | | Release: | 2.31 | | Version: | 6307 (2010-02-12) | | Change History: | <!-- versions below in reverse order --> | | 12 Feb 2010: | made imagetooltip a proper jQuery plugin; using Foswiki:Extensions/ZonePlugin for faster page loads | | 17 Nov 2009: | added =zoom= parameter; fixed manual refresh via url params | | 24 Sep 2009: | updated =imageplugin.template= to help XHTML validation (stop rendering empty id attribute) | | 14 Sep 2009: | using Foswiki's proxy settings instead of ENV; disabled tooltip previews for Internet Explorers | | 18 Aug 2009: | removed bonus =%= in template (Foswiki:Main.AndreLichtsteiner, Foswiki:Main.WillNorris) | | 24 Apr 2009: | converted to foswiki plugin; \ added thumbnail REST handler; \ added tooltip preview using jquery; \ added mirroring of external images; \ moved image type definitions into a template | | 11 Feb 2009: | updated documentation examples (Foswiki:Main.WillNorris) | | 07 Jan 2009: | certified for foswiki/compat | | 03 Jul 2008: | fixed parsing the type parameter; \ fixing docu about the default THUMBNAIL_SIZE; \ added new default format =plain=; \ plainify text to be used in a html attribute position, e.g. titles; \ default to no img alignment; \ refresh images on a =?refresh=on= url param; \ using LWP::UserAgent instead of LWP::Simple to mirror images; \ using =Resize= instead of =Scale= for higher quality thumbnails; \ don't encrypt the href param | | 03 Mar 2008: | make implementation of image mage configurable, \ defaulting to Graphics::Magick as Image::Magick has got issues \ using perl accellerators like mod_perl, speedy-cgi | | 03 Jan 2008: | added processing of remote images | | 18 Dec 2006: | fixed image lookup order; fixed html formats; added <nop>I18N workaround | | 18 Aug 2006: | fixed html errors; \ removed references to <nop>ImgPlugin thus not showing the magnify-clip; \ some html and css fixes to resemble closer to the <nop>MediaWiki examples | | 17 Aug 2006: | width and height arguments had no effect; floating images not clearing proberly on IE | | 16 June 2006: | released into the public | | 10 May 2006: | Initial version by forking <nop>ImgPlugin | | Dependency: | $Foswiki::Plugins::VERSION 1.1 | | CPAN Dependencies: | <table class="foswikiTable" border="1"><tr><th>Name</th><th>Version</th><th>Description</th></tr><tr><td align="left">Image::Magick</td><td align="left">>=6.2.4.5</td><td align="left">Required.</td></tr><tr><td align="left">LWP::UserAgent</td><td align="left">>=0</td><td align="left">Required.</td></tr><tr><td align="left">Graphics::Magick</td><td align="left">>=1.1.11</td><td align="left">Optional.</td></tr><tr><td align="left">Foswiki::Plugins::JQueryPlugin</td><td align="left">>=3740</td><td align="left">Optional.</td></tr><tr><td align="left">Foswiki::Plugins::ZonePlugin</td><td align="left">>=1.0</td><td align="left">Required.</td></tr></table> | | Other Dependencies: | | | Perl Version: | 5.8 | | Home: | Foswiki:Extensions/%TOPIC% | | Support: | Foswiki:Support/%TOPIC% |
Edit
|
Attach
|
P
rint version
|
H
istory
:
r3
<
r2
<
r1
|
B
acklinks
|
V
iew topic
|
Edit WikiText
|
More topic actions...
Topic revision: r1 - 10 Nov 2013,
UnknownUser
System
Log In
or
Register
Toolbox
Users
Groups
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
User Reference
BeginnersStartHere
TextFormattingRules
Macros
FormattedSearch
QuerySearch
DocumentGraphics
SkinBrowser
InstalledPlugins
Admin Maintenance
Reference Manual
AdminToolsCategory
InterWikis
ManagingWebs
SiteTools
DefaultPreferences
WebPreferences
Categories
Admin Documentation
Admin Tools
Developer Doc
User Documentation
User Tools
Webs
Applications
ClassificationApp
Extensions
Main
System
Copyright © by the contributing authors. All material on this site is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki?
Send feedback