Create your own plugin

As you can see under Editor's Pick, Highcharts can be extended in a number of ways. The best plugins are flexible and reusable, and you can make your own by following Extending Highcharts.

Publish your plugin

Create repository on GitHub

This repository will contain all materials that is crucial or you find necessary that people should have. If you are new on GitHub, or have forgotten some of the basics, please have a look at their manual for Create a Repo.

Add a Webhook

The link to receive the post is: http://www.highcharts.com/plugin-registry/hook. To add webhooks to a GitHub repository, follow their manual on Creating Webhooks.
Important, set Content Type to: application/x-www-form-urlencoded.

Add a manifest to the repository

Create a new file named manifest.json. Make sure the file ending is .json and not .txt. The file must contain som required information and maybe some of the optional fields is relevant. It is crucial that this file contains valid json syntax. To check this you can use JSONLint. In the table you can information of all the possible attributes and a short description of their use. Some of these are marked as required, without these attributes the registry process will discard your plugin.

Attribute Required Description
Name Give your plugin a name. Must be a unique, and preferably a short one.
Version Version number of the plugin. Should be updated when there is changes made to the plugin or the manifest.
Title Describing title. This will be the head title on your plugins page.
Author Specify the author. Let us know who created the plugin.
Licenses Describe what license your plugin is distributed under.
Dependencies Which frameworks and version of it, is this functionality depending on
Type Determines the type and purpose of the package. Possible values: "plugin", "theme". Defaults to plugin.
Description Please tell us a bit about what your plugin does.
Keywords Add some keywords. Later your plugins can be filtered by these.
Homepage Optional homepage link. If this is not added the url for the Github repository will be used.
Docs Optional documentation link, default is set to Github repository frontpage.
Bugs Optional bug link, default is set to Github issues.
Downloads If you want people to download the plugin from an other site then GitHub, then you can specify an url with this attribute
Demo Include an url to show an example of the functionality. If this links to a jsfiddle it will be embedded on the page.
Maintainers Here you can specify an array of maintainers for the plugin

Structure

This is an example of the structure in manifest.json. You can very well copy paste this text and fill in the information in the fields. The fields that are not required and you find unecessary can be removed. Just make sure that the json is valid at the end.

				{
					"name": "",
					"version": "",
					"title": "",
					"author": {
						"name": "",
						"url": ""
					},
					"licenses": [
						{
							"type": "",
							"url": ""
						}
					],
					"dependencies": {
						"highcharts": ""
					},
					"type": "",
					"description": "",
					"keywords": [
						"",
						""
					],
					"homepage": "",	
					"docs": "",	
					"bugs": "",
					"download": "",
					"demo": [
						"",
						""
					],
					"maintainers": [
						{
							"name": "",
							"email": "",
							"url": ""
						}
					]	
				}
				

And finally the publishing

When all the necessities above are done, just make a push on your repository. If the registering of your plugin is a first, make sure that the name is not taken, else the plugin will not be registered and you will be notified by email. When updating a plugin you have to make sure that the version is newer then the already registered plugin. The publishing should not take long and you should get notified by email. If nothing has happened and there is no notifications in your inbox, please check that your manifest file is valid json.