Adobe 65007312 Programming Guide - Page 135
Web SDK tagsets, Defining custom tags
UPC - 883919154398
View all Adobe 65007312 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 135 highlights
CHAPTER 6: Writing a Web-engine Plug-in Web SDK tagsets 135 cropMode How to size the image. One of: minimum - Fits the image within thephotoSize dimensions. maximum - Scales the image to be at least as big as both photoSize dimensions. metadataExportMode How to export metadata. One of: copyright - Export only copyright information. This is equivalent to the "Minimize Metadata" option in the Export dialog all - Export all metadata. Web SDK tagsets A tagset is an external file containing macro-like definitions that can be loaded by your web pages. These are similar to JSP Tag Libraries, but simpler. They allow you to extract common content and logic that appears on multiple pages into a custom set of tags. Once defined and imported, you can use the tags just like regular HTML tags. At run time, your LuaPage, replaces the tag with its Lua-language tag definition, which it then compiles and executes to product the HTML output. There is built-in set of tags included with the Lightroom SDK, which you can also include and use in your LuaPages. Defining custom tags To define a tagset in Lua, specify a tags table. This is a table of tables, where each element table defines one tag. The first element is the tag's unique name, and the value is a table containing a startTag and endTag element: tags = { tagName = { startTag = "macroCode", endTag = "macroCode", }, } The value of the startTag and endTag element is a string containing Lua code. It can use global functions and constants defined in the same page using a globals table. This is again a table in which each element defines one function or constant: globals = { functionName = function( x ) _body of function_ end, } When the LuaPage is evaluated, the code for each tag is evaluated, and the result is substituted for the opening or closing named tag. For example, you could define code in this format in your tagset file: globals = { myOpenTagFunction = function( ) --body of function