Body font Header font  
Print

Helipad add-on documentation

FAQ

Q: How to I make a plugin?

  • Create a Helipad document with the XML layout shown below
  • Tag your document with system:theme or system:plugin
  • To allow other users to access it, enable sharing

Q: What happens when I install a plugin?

A: The system copies the document to your account.

Q: What happens when someone deletes a plugin?

A: Nothing; you should still be able to use it if you installed it. Installing a plugin creates a copy that they can upgrade. Use versions and a changelog to let them know when a plugin has been updated.

Q: How are upgrades handled?

A: Helipad checks the installed version against the original plugin and replaces the content.

Q: What pages are plugins executed on?

A: The dashboard, tag search, document edit and document preview pages.

XML format for themes

Title and tags are derived from the document.

<theme> <description>What is this theme?</description> <image>http://example.com/your_image.jpg</image> <code><![CDATA[ /* CSS GOES HERE */ ]]> </code> </theme>

XML format for plugins

Title and tags are derived from the document. Use a tag called “code” to contain your JavaScript, and one called “style” to contain any CSS your plugin requires.

<plugin> <description>This is an example plugin.</description> <image></image> <version>1</version> <changelog> <change> <version>1</version> <description>Created this plugin</description> </change> </changelog> <style> .my_plugin_style { color: #990000; } </style> <code><![CDATA[ var ExamplePlugin = Class.create() ExamplePlugin.prototype = { initialize: function() { }, } plugin_manager.register(ExamplePlugin, {dependsOn: ’’}) ]]></code> </plugin>

Set dependsOn to a page element your plugin depends on. For example, I used “document_source” to make sure the word count plugin only runs on the document edit/create pages.