diff --git a/IPython/frontend/html/notebook/static/js/custom.js b/IPython/frontend/html/notebook/static/js/custom.js
index 375ecf3..9c035b4 100644
--- a/IPython/frontend/html/notebook/static/js/custom.js
+++ b/IPython/frontend/html/notebook/static/js/custom.js
@@ -1,7 +1,32 @@
-/*
-Placeholder for custom user javascript
-
-mainly to be overridden in profile/static/js/custom.js
-
-This will always be an empty file in IPython
-*/
+// leave at least 2 line with only a star on it below, or doc generation fails
+/**
+ *
+ *
+ * Placeholder for custom user javascript
+ * mainly to be overridden in profile/static/js/custom.js
+ * This will always be an empty file in IPython
+ *
+ * User could add any javascript in the `profile/static/js/custom.js` file
+ * (and should create it if it does not exist).
+ * It will be executed by the ipython notebook at load time.
+ *
+ * Example
+ * Create a custom button in toolbar that execute `%qtconsole` in kernel
+ * and hence open a qtconsole attached to the same kernel as the current notebook
+ *
+ * $([IPython.events]).on('notebook_loaded.Notebook', function(){
+ * IPython.toolbar.add_buttons_group([
+ * {
+ * 'label' : 'run qtconsole',
+ * 'icon' : 'ui-icon-calculator', // select your icon from http://jqueryui.com/themeroller/
+ * 'callback': function(){IPython.notebook.kernel.execute('%qtconsole')}
+ * }
+ * // add more button here if needed.
+ * ]);
+ * });
+ *
+ * @module IPython
+ * @namespace IPython
+ * @class customjs
+ * @static
+ */