from IPython.display import display, Javascript, HTML import json def glowscript(line, cell): lst = line.lower().split() if (len(lst) == 0) or (lst[-1] in ['vpython','rapydscript','coffeescript','javascript']) : display(HTML("""
""")) lang = lst[-1] if len(lst) > 0 else '' display(Javascript(""" 'use strict'; if (window.location.protocol === 'https:') { require(['https://cdnjs.cloudflare.com/ajax/libs/acorn/3.2.0/acorn.min.js','https://dl.dropboxusercontemnt.com/u/5095342/glowscript/lib/jquery/2.1/jquery-ui.custom.min.js','https://dl.dropboxusercontent.com/u/5095342/glowscript/package/compiler.2.1.min.js','https://dl.dropboxusercontent.com/u/5095342/glowscript/package/symbols.2.1.min.js','https://dl.dropboxusercontent.com/u/5095342/glowscript/package/RSrun.2.1.min.js','https://dl.dropboxusercontent.com/u/5095342/glowscript/package/RScompiler.2.1.min.js','https://dl.dropboxusercontent.com/u/5095342/glowscript/package/glow.2.1.min.js'], function(acorn) { window.acorn = acorn; var cell_content = """+json.dumps(cell)+"""; var embedScript = window.glowscript_compile(cell_content, {lang:'"""+lang+"""'}); embedScript = "require(['https://dl.dropboxusercontent.com/u/5095342/glowscript/lib/jquery/2.1/jquery-ui.custom.min.js','https://dl.dropboxusercontent.com/u/5095342/glowscript/package/glow.2.1.min.js'], function() {" + embedScript + ";$(function(){ window.__context = { glowscript_container: $('#glowscript').removeAttr('id') }; main() });})"; embedScript = embedScript.replace("