File Structure
- info.plist
- lib
- .py files
- html
- index.html
- *.html
- resources
- any file
info.plist
Info.plist is a XML property list. see A DTD is available.
key | value |
addToMenu | list a list of menu descriptions that should be added to the extension menu, see menu item description required |
developer | string name of the developer required |
developerURL | string site url of the developer required |
html | integer indicating it has a html folder. zero, 0 is False, one, 1 os True. index.html is required! not required |
launchAtStartUp | integer indicating it should execute code during start up of RoboFont. zero, 0 is False, one, 1 os True. see mainScript required |
mainScript | string *.py filename path (relative to the lib folder) executed during start up of RoboFont. can be an empty string. required |
name | string the name of the extensions. required |
timeStamp | float required |
version | string version number of the extension required |
requiresVersionMajor | string the required major number of RoboFont. To help extension builders which aren't supporting older versions of RoboFont. not required |
requiresVersionMinor | string the required minor number of RoboFont. To help extension builders which aren't supporting older versions of RoboFont. not required |
The info.plist can have custom keys if necessary for the extension. It is advised to use reverse domain name as keys (com.example.myExtension).
menu item description
Each menu item descriptions is a dictionary with the following keys
path | string *.py filename path (relative to the lib folder) this will be executed when the menu item is being clicked. required |
preferredName | string the preferred name of the menu item, only be used during display of the menu item. required |
shortKey | string or tuple
can be an empty string |
lib
A folder containing all *.py scripts. If a developer prefers to send out only *.pyc files that should be possible but take note that the file should be made with python 2.7 (the build in python version)
This folder will be added to the sys.path so it can import all the other files and folders as modules.
As this lib folder is being added to the sys.path be aware to name your module carefully. It is advised to name them with your extension name as prefix or suffix.
html
An 'html' folder is not required. If such a folder is declared in the info.plist it should contain an 'index.html'. These is plain html that is rendered in the help window with WebKit.
Resources
Any additional file necessary for your extension. Commonly used for bitmap, *.png to build tool bar icons, cursors. Or additional compiled command-line tools.