#!/usr/bin/env python

import bokeh
from bokeh.plotting import figure
from bokeh.embed import components

v=bokeh._version.get_versions()['version']

output="""
<html>
  <head>

    <link
       href="https://cdn.pydata.org/bokeh/release/bokeh-{bokeh_version}.min.css"
       rel="stylesheet" type="text/css">
    <link
       href="https://cdn.pydata.org/bokeh/release/bokeh-widgets-{bokeh_version}.min.css"
       rel="stylesheet" type="text/css">

    <script src="https://cdn.pydata.org/bokeh/release/bokeh-{bokeh_version}.min.js"></script>
    <script src="https://cdn.pydata.org/bokeh/release/bokeh-widgets-{bokeh_version}.min.js"></script>
  </head>
  <body>
    <h1> Hello, page produced with bokeh version {bokeh_version}. </h1>
    <h3> Bokeh documents available at page load: <p id="p1"> </p></h3>
    <div>
      <script src="main_js.js"></script>
      <script src="main_div_js.js"></script>
    </div>
      <script>
        window.onload = function() {{
           console.log('init loaded page, bokeh documents length:', window.Bokeh.documents.length)
           document.getElementById("p1").innerHTML=window.Bokeh.documents.length
        }}
      </script>
  </body>
</html>
"""


p=figure(width=800, height=800)
p.line(x=[1,2,3,4],y=[1,1,2,2],line_color='red')

js,div=components(p,wrap_script=False)

with open('main_js.js','w') as f:
    f.write(js)
    pass

with open('main_div_js.js','w') as f:
    f.write("document.write('"+div.replace('\n',' ')+"');")
    pass

with open('my_bokeh.html','w') as f:
    f.write(output.format(bokeh_version=v))
    pass
            
