Hi developer - please tell us why you are here
You need to know the H5P specification
You should adhere to our guidelines
Doing visual changes to an H5P consists of creating CSS-rules that overrides the default CSS found in the library. We have created a separate guide for this topic.
It is important to notice that any changes done locally on a library's source files, will be overwritten if the library is updated.
The H5P PHP library is responsible for handling imports and exports of .h5p files, displaying H5P content, updating H5P content and providing the API that H5P provides for the H5P libraries. This library has an interface called H5PFrameworkInterface that platform integrations must implement.
The APIs provided by these two libraries has not been documented yet. We're planning to simplify the a lot. Many organizations have still already started implementing H5P plugins for their custom publishing platforms an do this by looking at the existing implementations for Wordpress and Drupal.
Responding to actions
Saving user results or displaying custom content can all be done through events. Have a look at our event overview for a list of available events.
Displaying H5P content inside a lightbox or accordion requires you to create a custom script that hooks into the third party script and trigger H5P events. See our example.
Adding more buttons to the WYSIWYG
This is the place to look if you want to be able to add tables to all text editors, or even create your own MathJAX plugin! See our WYSIWYG Buttons Guide.
Our developer guide is divided into the following sections: