Adobe 65007312 Programming Guide - Page 135

Web SDK tagsets, Defining custom tags

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204

C
HAPTER
6: Writing a Web-engine Plug-in
Web SDK tagsets
135
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
cropMode
How to size the image. One of:
minimum
— Fits the image within the
photoSize
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.