Repository: bokeh/bokeh

Issue:
Incomplete docs re embedding when using data tables
Hi, I banged my head a bit trying to use `components` to render tables and failing while `file_html` would work well.
Turns out we now need to include: 
```html
<link rel="stylesheet" href="https://cdn.pydata.org/bokeh/release/bokeh-tables-0.12.9.min.css" type="text/css" />
<script type="text/javascript" src="https://cdn.pydata.org/bokeh/release/bokeh-tables-0.12.9.min.js"></script>
```
in order for data tables to render properly and this is not mentioned in the embed sections of the User Guide or the Reference.

Having a look right now how the docs are built to see if I can provide help with a PR if that's not fixed already.

EDIT: Going through the docs to prepare a PR, I read in the 0.12.7 release notes that the change should be transparent as Bokeh would load the `-tables` resources automatically when necessary. It wasn't the case for me. But maybe it wasn't meant for the `components` use case?

I will provide a PR later today. Just waiting for a feedback on that last question to see whether this paragraph in the 0.12.7 release notes should be reworded if `components` is not covered by the automatic process.


Discussion:
@aavanian I guess that statement could be better. Bokeh loads `tables` automatically *in situations where it loads any resources at all*. But `components` does not fall under that description. It never loads resources, and expects users to load whatever they need. It was intended to provide more flexibility than convenience (e.g. if you want to host your own copy of BokehJS and not use CDN). 

A PR will be appreciated. Here is the main file:

https://raw.githubusercontent.com/bokeh/bokeh/master/sphinx/source/docs/user_guide/embed.rst

I would suggest that this information is worth putting in the `components` docstring as well.

Thanks!

Resolving patch:
diff --git a/bokeh/embed/standalone.py b/bokeh/embed/standalone.py
--- a/bokeh/embed/standalone.py
+++ b/bokeh/embed/standalone.py
@@ -109,9 +109,25 @@ def components(models, wrap_script=True, wrap_plot_info=True, theme=FromCurdoc):
 
     An example can be found in examples/embed/embed_multiple.py
 
-    .. note::
-        The returned components assume that BokehJS resources are
-        **already loaded**.
+    The returned components assume that BokehJS resources are **already loaded**.
+    The html template in which they will be embedded needs to include the following
+    links and scripts tags. The widgets and tables resources are only necessary if
+    the components make use of widgets and tables.
+    
+    .. code-block:: html
+        <link
+            href="http://cdn.pydata.org/bokeh/release/bokeh-x.y.z.min.css"
+            rel="stylesheet" type="text/css">
+        <link
+            href="http://cdn.pydata.org/bokeh/release/bokeh-widgets-x.y.z.min.css"
+            rel="stylesheet" type="text/css">
+        <link
+            href="http://cdn.pydata.org/bokeh/release/bokeh-tables-x.y.z.min.css"
+            rel="stylesheet" type="text/css">
+
+        <script src="http://cdn.pydata.org/bokeh/release/bokeh-x.y.z.min.js"></script>
+        <script src="http://cdn.pydata.org/bokeh/release/bokeh-widgets-x.y.z.min.js"></script>
+        <script src="http://cdn.pydata.org/bokeh/release/bokeh-tables-x.y.z.min.js"></script>
 
     Args:
         models (Model|list|dict|tuple) :


Test patch: