Plug-in architecture for the XP skin. ############################################################################################ This folder contains the plug-ins available to the XP skin. Each plug-in should be contained in it's own folder. The name of the folder is what will appear as the plug-in name in the skin user interface. The structure of a plug-in folder should mimic that of the Example plug-in. Files and folders: res\ The contents of this folder will be copied to the res directory of the album. It will be placed in a sub- folder with the same name as the plug-in. styles\ This folder has the same structure as the styles folder in the actual skin. There can be CSS files with the same name as the CSS files in the skin and each style can have a sub folder with style specific files. (They will be copied to the res/pluginname folder. texts\ As with the actual skin - there can be translations of a plug-in. If no file for the current language is found the plug-in will revert to the default file - texts.properties. There are tree language keys that are mandatory (if you decide to add your own panels that is). panelTitle Name of panel on all pages panelIndexTitle Name of panel on index page panelSlideTitle Name of panel on slide page To use the language files from within your templates you have two options. You can use the supplied function: String getText(String key) If the supplied key isn't found in your text files this function will return the key in its place. Example: <%=getText("examplePluginText")%> If you want more control you can write a statement like: <%=texts.getString("examplePluginText")%> Note that this method will raise an exeption if the requested key isn't found in the text files. It is up to you to catch that exception. onload.bsh If you want to provide a UI for control of variables used in the skin. init.bsh If you want some code to be executed before the index and slide pages are generated you should put it in this file. javascript.js If you want some javascript code to be executed on all pages you should put it in this file. javascriptIndex.js If you want some javascript code to be executed on all index pages you should put it in this file. javascriptSlide.js If you want some javascript code to be executed on all slide pages you should put it in this file. javascriptOnLoad.htt This template can contain javascript that will be executed after index and slide pages has loaded completely. javascriptOnLoadIndex.htt Same as javascriptOnLoad.htt but only for index pages. javascriptOnLoadSlide.htt Same as javascriptOnLoad.htt but only for slide pages. panel.htt If you want to create a panel that is shown on both index and slide pages you should create this file and put the contents of the panel here. Note: This file should only contain the contents of the panel. The frame along with it's folding mechanism is created by the skin. The panel will get its title by looking upp the key panelTitle in the text.properties files. panelIndex.htt Same as panel.htt but the panel is only created on index pages. This panel will get its title by looking upp the key panelIndexTitle in the text.properties files. panelSlide.htt Same as panel.htt but the panel is only created on slide pages. This panel will get its title by looking upp the key panelSlideTitle in the text.properties files. index_.htt Templates with names starting with "index_" will be parsed once for every index template and will result in html files with the same name as the template without the "index_" part. The files will be placed in the current output directory. slide_.htt Templates with names starting with "slide_" will be parsed once for every slide template and will result in html files in the slide directory of the current output directory. The files will be named: _