{"action":"created","issue":{"url":"https://api.github.com/repos/jupyter-widgets/ipywidgets/issues/1596","repository_url":"https://api.github.com/repos/jupyter-widgets/ipywidgets","labels_url":"https://api.github.com/repos/jupyter-widgets/ipywidgets/issues/1596/labels{/name}","comments_url":"https://api.github.com/repos/jupyter-widgets/ipywidgets/issues/1596/comments","events_url":"https://api.github.com/repos/jupyter-widgets/ipywidgets/issues/1596/events","html_url":"https://github.com/jupyter-widgets/ipywidgets/issues/1596","id":248261809,"number":1596,"title":"Offline embedded html","user":{"login":"chrisjsewell","id":2997570,"avatar_url":"https://avatars1.githubusercontent.com/u/2997570?v=4","gravatar_id":"","url":"https://api.github.com/users/chrisjsewell","html_url":"https://github.com/chrisjsewell","followers_url":"https://api.github.com/users/chrisjsewell/followers","following_url":"https://api.github.com/users/chrisjsewell/following{/other_user}","gists_url":"https://api.github.com/users/chrisjsewell/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisjsewell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisjsewell/subscriptions","organizations_url":"https://api.github.com/users/chrisjsewell/orgs","repos_url":"https://api.github.com/users/chrisjsewell/repos","events_url":"https://api.github.com/users/chrisjsewell/events{/privacy}","received_events_url":"https://api.github.com/users/chrisjsewell/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-08-06T17:57:42Z","updated_at":"2017-08-06T19:16:48Z","closed_at":null,"body":"As discussed at maartenbreddels/ipyvolume#41 and jupyter-widgets/ipywidgets#1568\r\n\r\nAdd a `save_js`  function to jupyter-widgets/ipywidgets/embed.py, to copy/paste all required javascript (currently embed.js, require.js, base.js, controls.js and index.js) to an external folder, such that the embedded html can call them locally.\r\n\r\nThis would also require a rewrite of embed.js to load the local javascript (rather than from unpkg.com). So either a duplicate version of embed.js with local links or, better, logic in the current embed.js to first look for local files then fall back to loading them from unpkg.com. @maartenbreddels already has this logic implemented in ipyvolume, although I can't actually find the code lines that implement it?\r\n"},"comment":{"url":"https://api.github.com/repos/jupyter-widgets/ipywidgets/issues/comments/320526444","html_url":"https://github.com/jupyter-widgets/ipywidgets/issues/1596#issuecomment-320526444","issue_url":"https://api.github.com/repos/jupyter-widgets/ipywidgets/issues/1596","id":320526444,"user":{"login":"chrisjsewell","id":2997570,"avatar_url":"https://avatars1.githubusercontent.com/u/2997570?v=4","gravatar_id":"","url":"https://api.github.com/users/chrisjsewell","html_url":"https://github.com/chrisjsewell","followers_url":"https://api.github.com/users/chrisjsewell/followers","following_url":"https://api.github.com/users/chrisjsewell/following{/other_user}","gists_url":"https://api.github.com/users/chrisjsewell/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisjsewell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisjsewell/subscriptions","organizations_url":"https://api.github.com/users/chrisjsewell/orgs","repos_url":"https://api.github.com/users/chrisjsewell/repos","events_url":"https://api.github.com/users/chrisjsewell/events{/privacy}","received_events_url":"https://api.github.com/users/chrisjsewell/received_events","type":"User","site_admin":false},"created_at":"2017-08-06T19:16:48Z","updated_at":"2017-08-06T19:16:48Z","body":"Also, a minor personal preference to keep things cleaner,  would be that the javascript is in a subfolder (e.g. `js`) and so the html manager would look for `./js/widget-example.js`."}}
{"actor":{"display_login":"chrisjsewell"}}