{"action":"created","issue":{"url":"https://api.github.com/repos/vega/ipyvega/issues/32","repository_url":"https://api.github.com/repos/vega/ipyvega","labels_url":"https://api.github.com/repos/vega/ipyvega/issues/32/labels{/name}","comments_url":"https://api.github.com/repos/vega/ipyvega/issues/32/comments","events_url":"https://api.github.com/repos/vega/ipyvega/issues/32/events","html_url":"https://github.com/vega/ipyvega/pull/32","id":155338813,"number":32,"title":"[WIP] Use JavaScript output and save static PNG as well in the notebook","user":{"login":"ellisonbg","id":27600,"avatar_url":"https://avatars.githubusercontent.com/u/27600?v=3","gravatar_id":"","url":"https://api.github.com/users/ellisonbg","html_url":"https://github.com/ellisonbg","followers_url":"https://api.github.com/users/ellisonbg/followers","following_url":"https://api.github.com/users/ellisonbg/following{/other_user}","gists_url":"https://api.github.com/users/ellisonbg/gists{/gist_id}","starred_url":"https://api.github.com/users/ellisonbg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ellisonbg/subscriptions","organizations_url":"https://api.github.com/users/ellisonbg/orgs","repos_url":"https://api.github.com/users/ellisonbg/repos","events_url":"https://api.github.com/users/ellisonbg/events{/privacy}","received_events_url":"https://api.github.com/users/ellisonbg/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2016-05-17T19:14:32Z","updated_at":"2016-05-18T00:05:21Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/vega/ipyvega/pulls/32","html_url":"https://github.com/vega/ipyvega/pull/32","diff_url":"https://github.com/vega/ipyvega/pull/32.diff","patch_url":"https://github.com/vega/ipyvega/pull/32.patch"},"body":"This is a work in progress...\r\n\r\nThis PR changes how output is rendered in Jupyter notebooks. The goal here is get ipyvega to work in the following three contexts:\r\n\r\n* Live notebook as real JavaScript\r\n* Nbviewer as PNG (and eventally JavaScript)\r\n* GitHub as PNG\r\n\r\nThis is accomplished by having a JavaScript output that works on the live notebook and having that JS also save a static PNG in the notebook output that will be used on GitHub and nbviewer.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/vega/ipyvega/issues/comments/219889981","html_url":"https://github.com/vega/ipyvega/pull/32#issuecomment-219889981","issue_url":"https://api.github.com/repos/vega/ipyvega/issues/32","id":219889981,"user":{"login":"domoritz","id":589034,"avatar_url":"https://avatars.githubusercontent.com/u/589034?v=3","gravatar_id":"","url":"https://api.github.com/users/domoritz","html_url":"https://github.com/domoritz","followers_url":"https://api.github.com/users/domoritz/followers","following_url":"https://api.github.com/users/domoritz/following{/other_user}","gists_url":"https://api.github.com/users/domoritz/gists{/gist_id}","starred_url":"https://api.github.com/users/domoritz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domoritz/subscriptions","organizations_url":"https://api.github.com/users/domoritz/orgs","repos_url":"https://api.github.com/users/domoritz/repos","events_url":"https://api.github.com/users/domoritz/events{/privacy}","received_events_url":"https://api.github.com/users/domoritz/received_events","type":"User","site_admin":false},"created_at":"2016-05-18T00:05:21Z","updated_at":"2016-05-18T00:05:21Z","body":"This is the content of my `node_modules` directory:\r\n\r\n```\r\nBase64\r\nJSONStream\r\nacorn\r\nalign-text\r\nalphanum-sort\r\namdefine\r\nansi-regex\r\nansi-styles\r\nanymatch\r\nargparse\r\narr-diff\r\narr-flatten\r\narray-filter\r\narray-map\r\narray-reduce\r\narray-unique\r\narrify\r\nasap\r\nasn1\r\nasn1.js\r\nassert\r\nassert-plus\r\nast-types\r\nastw\r\nasync\r\nasync-each\r\nautoprefixer\r\naws-sign2\r\naws4\r\nbalanced-match\r\nbase62\r\nbase64-js\r\nbig.js\r\nbinary-extensions\r\nbl\r\nbn.js\r\nboom\r\nbrace-expansion\r\nbraces\r\nbrfs\r\nbrorand\r\nbrowser-pack\r\nbrowser-resolve\r\nbrowserify\r\nbrowserify-aes\r\nbrowserify-cipher\r\nbrowserify-des\r\nbrowserify-rsa\r\nbrowserify-sign\r\nbrowserify-zlib\r\nbrowserslist\r\nbuffer\r\nbuffer-equal\r\nbuffer-xor\r\nbuiltin-modules\r\nbuiltin-status-codes\r\ncamelcase\r\ncaniuse-db\r\ncanvas\r\ncaseless\r\ncenter-align\r\nchalk\r\nchokidar\r\ncipher-base\r\nclap\r\ncliui\r\nclone\r\ncoa\r\ncode-point-at\r\ncolor\r\ncolor-convert\r\ncolor-name\r\ncolor-string\r\ncolormin\r\ncolors\r\ncombine-source-map\r\ncombined-stream\r\ncommander\r\ncommoner\r\nconcat-map\r\nconcat-stream\r\nconsole-browserify\r\nconstants-browserify\r\nconvert-source-map\r\ncore-util-is\r\ncreate-ecdh\r\ncreate-hash\r\ncreate-hmac\r\ncryptiles\r\ncrypto-browserify\r\ncss-color-names\r\ncss-loader\r\ncss-selector-tokenizer\r\ncssesc\r\ncssnano\r\ncsso\r\nd3\r\nd3-cloud\r\nd3-dispatch\r\nd3-dsv\r\nd3-format\r\nd3-geo-projection\r\nd3-queue\r\nd3-time\r\nd3-time-format\r\ndashdash\r\ndatalib\r\ndate-now\r\ndecamelize\r\ndefined\r\ndelayed-stream\r\ndeps-sort\r\ndes.js\r\ndetective\r\ndiffie-hellman\r\ndomain-browser\r\nduplexer2\r\necc-jsbn\r\nelliptic\r\nemojis-list\r\nenhanced-resolve\r\nerrno\r\nerror-ex\r\nescape-string-regexp\r\nescodegen\r\nesprima\r\nestraverse\r\nesutils\r\nevents\r\nevp_bytestokey\r\nexorcist\r\nexpand-brackets\r\nexpand-range\r\nextend\r\nextglob\r\nextsprintf\r\nfalafel\r\nfastparse\r\nfilename-regex\r\nfill-range\r\nfind-up\r\nflatten\r\nfor-in\r\nfor-own\r\nforeach\r\nforever-agent\r\nform-data\r\nfsevents\r\nfunction-bind\r\ngenerate-function\r\ngenerate-object-property\r\ngetpass\r\nglob\r\nglob-base\r\nglob-parent\r\ngraceful-fs\r\ngraceful-readlink\r\nhar-validator\r\nhas\r\nhas-ansi\r\nhas-flag\r\nhas-own\r\nhash.js\r\nhawk\r\nhoek\r\nhosted-git-info\r\nhtml-comment-regex\r\nhtmlescape\r\nhttp-basic\r\nhttp-browserify\r\nhttp-response-object\r\nhttp-signature\r\nhttps-browserify\r\niconv-lite\r\nicss-replace-symbols\r\nieee754\r\nindexes-of\r\nindexof\r\ninflight\r\ninherits\r\ninline-source-map\r\ninsert-module-globals\r\ninterpret\r\ninvert-kv\r\nis-absolute-url\r\nis-arrayish\r\nis-binary-path\r\nis-buffer\r\nis-builtin-module\r\nis-dotfile\r\nis-equal-shallow\r\nis-extendable\r\nis-extglob\r\nis-fullwidth-code-point\r\nis-glob\r\nis-my-json-valid\r\nis-number\r\nis-plain-obj\r\nis-posix-bracket\r\nis-primitive\r\nis-property\r\nis-svg\r\nis-typedarray\r\nis-utf8\r\nisarray\r\nisobject\r\nisstream\r\njodid25519\r\njs-base64\r\njs-yaml\r\njsbn\r\njson-schema\r\njson-stable-stringify\r\njson-stringify-safe\r\njson5\r\njsonify\r\njsonparse\r\njsonpointer\r\njsprim\r\njstransform\r\nkind-of\r\nlabeled-stream-splicer\r\nlazy-cache\r\nlcid\r\nlexical-scope\r\nload-json-file\r\nloader-utils\r\nlodash._createcompounder\r\nlodash._root\r\nlodash.assign\r\nlodash.camelcase\r\nlodash.deburr\r\nlodash.keys\r\nlodash.memoize\r\nlodash.rest\r\nlodash.words\r\nlongest\r\nmemory-fs\r\nmicromatch\r\nmiller-rabin\r\nmime-db\r\nmime-types\r\nminimalistic-assert\r\nminimatch\r\nminimist\r\nmkdirp\r\nmodule-deps\r\nmold-source-map\r\nnan\r\nnave\r\nnode-libs-browser\r\nnode-uuid\r\nnormalize-package-data\r\nnormalize-path\r\nnormalize-range\r\nnormalize-url\r\nnum2fraction\r\nnumber-is-nan\r\noauth-sign\r\nobject-assign\r\nobject-inspect\r\nobject-keys\r\nobject.omit\r\nonce\r\noptimist\r\nos-browserify\r\nos-locale\r\nos-shim\r\noutpipe\r\npako\r\nparents\r\nparse-asn1\r\nparse-glob\r\nparse-json\r\npath-browserify\r\npath-exists\r\npath-is-absolute\r\npath-platform\r\npath-type\r\npbkdf2\r\npbkdf2-compat\r\npify\r\npinkie\r\npinkie-promise\r\npkg-conf\r\npostcss\r\npostcss-calc\r\npostcss-colormin\r\npostcss-convert-values\r\npostcss-discard-comments\r\npostcss-discard-duplicates\r\npostcss-discard-empty\r\npostcss-discard-unused\r\npostcss-filter-plugins\r\npostcss-merge-idents\r\npostcss-merge-longhand\r\npostcss-merge-rules\r\npostcss-message-helpers\r\npostcss-minify-font-values\r\npostcss-minify-gradients\r\npostcss-minify-params\r\npostcss-minify-selectors\r\npostcss-modules-extract-imports\r\npostcss-modules-local-by-default\r\npostcss-modules-scope\r\npostcss-modules-values\r\npostcss-normalize-charset\r\npostcss-normalize-url\r\npostcss-ordered-values\r\npostcss-reduce-idents\r\npostcss-reduce-transforms\r\npostcss-selector-parser\r\npostcss-svgo\r\npostcss-unique-selectors\r\npostcss-value-parser\r\npostcss-zindex\r\nprepend-http\r\npreserve\r\nprivate\r\nprocess\r\nprocess-nextick-args\r\npromise\r\nprr\r\npublic-encrypt\r\npunycode\r\nq\r\nqs\r\nquery-string\r\nquerystring\r\nquerystring-es3\r\nquote-stream\r\nrandomatic\r\nrandombytes\r\nread-only-stream\r\nread-pkg\r\nread-pkg-up\r\nreadable-stream\r\nreaddirp\r\nrecast\r\nreduce-css-calc\r\nreduce-function-call\r\nregex-cache\r\nrepeat-element\r\nrepeat-string\r\nrequest\r\nrequire-main-filename\r\nresolve\r\nright-align\r\nripemd160\r\nrw\r\nsax\r\nsemver\r\nset-blocking\r\nsha.js\r\nshallow-copy\r\nshapefile\r\nshasum\r\nshell-quote\r\nsntp\r\nsort-keys\r\nsource-list-map\r\nsource-map\r\nspawn-sync\r\nspdx-correct\r\nspdx-exceptions\r\nspdx-expression-parse\r\nspdx-license-ids\r\nsprintf-js\r\nsshpk\r\nstatic-eval\r\nstatic-module\r\nstream-browserify\r\nstream-combiner2\r\nstream-http\r\nstream-splicer\r\nstrict-uri-encode\r\nstring-width\r\nstring_decoder\r\nstringstream\r\nstrip-ansi\r\nstrip-bom\r\nstyle-loader\r\nsubarg\r\nsupports-color\r\nsvgo\r\nsymbol\r\nsync-request\r\nsyntax-error\r\ntapable\r\nthen-request\r\nthrough\r\nthrough2\r\ntimers-browserify\r\nto-arraybuffer\r\ntopojson\r\ntough-cookie\r\ntty-browserify\r\ntunnel-agent\r\ntweetnacl\r\ntypedarray\r\nuglify-js\r\nuglify-to-browserify\r\numd\r\nuniq\r\nuniqid\r\nuniqs\r\nurl\r\nutil\r\nutil-deprecate\r\nvalidate-npm-package-license\r\nvega\r\nvega-dataflow\r\nvega-embed\r\nvega-event-selector\r\nvega-expression\r\nvega-lite\r\nvega-logging\r\nvega-scenegraph\r\nverror\r\nvm-browserify\r\nwatchify\r\nwatchpack\r\nwebpack\r\nwebpack-core\r\nwhet.extend\r\nwindow-size\r\nwordwrap\r\nwrap-ansi\r\nwrappy\r\nxtend\r\ny18n\r\nyargs\r\nyargs-parser\r\n```"}}