RandomFractals / js-notebook-inspector

JS Notebook 📓 Inspector 🕵️ -> vscode extension for Interactive Preview of Observable JS Notebooks 📚 & Notebook 📓 Nodes ⎇ & Cells ⌗ source code.
https://marketplace.visualstudio.com/items?itemName=RandomFractalsInc.js-notebook-inspector
Apache License 2.0
24 stars 3 forks source link

add popular notebooks section to notebook collections treeview #35

Open RandomFractals opened 4 years ago

RandomFractals commented 4 years ago

for easy discovery of latest popular observable JS notebooks

part of notebook collections view feature (#7)

popular notebooks query example:

https://api.observablehq.com/documents/public/popular?date=2020-07-11T05%3A00%3A00.000Z&limit=10

response to parse & display in notebooks tree view:

[{"id":"5903983aadb9c2f1","type":"notebook_reader","version":163,"publish_version":163,"title":"💻 Introducing observable-prerender - Pre-render Observable notebooks with Puppeteer!","update_time":"2020-07-08T18:42:20.619Z","publish_time":"2020-07-06T09:33:17.418Z","likes":32,"comment_count":3,"slug":"introducing-observable-prerender","thumbnail":"090f455e59deab86a456442f084ba76009cd0a8f154df752ca646a24792629c7","fork_of":false,"collection_count":0,"roles":[],"owner":{"type":"individual","id":"113fc3dc69e1f893","github_login":"asg017","login":"asg017","name":"Alex Garcia","bio":"he/him/his","home_url":"https://www.iamprettydamn.cool","avatar_url":"https://avatars.observableusercontent.com/avatar/54d65b5e6dc9a116ccb240f67b337676daa447b7a75039bdc7698b4298318ccd"},"creator":{"type":"individual","id":"113fc3dc69e1f893","github_login":"asg017","login":"asg017","name":"Alex Garcia","bio":"he/him/his","home_url":"https://www.iamprettydamn.cool","avatar_url":"https://avatars.observableusercontent.com/avatar/54d65b5e6dc9a116ccb240f67b337676daa447b7a75039bdc7698b4298318ccd"}},{"id":"2bc4ef49d0ac1431","type":"notebook_reader","version":265,"publish_version":265,"title":"Spike Map","update_time":"2020-07-15T19:59:05.885Z","publish_time":"2020-07-03T05:55:27.262Z","likes":29,"comment_count":0,"slug":"spike-map","thumbnail":"3ca25b589618b503e391b0ba48eab612c427ba9faa7abdb5ec9befff5a5841d5","fork_of":true,"collection_count":1,"roles":[],"collection":{"id":"cabc4d5681f3b2dc","type":"public","slug":"d3-geo","title":"d3-geo"},"owner":{"type":"team","id":"863951e3ebe4c0ae","login":"d3","name":"D3","bio":"Bring your data to life.","home_url":"https://d3js.org","avatar_url":"https://avatars.observableusercontent.com/avatar/c29cf4d85eece3bf402bbaffe1e260c6e5881a490c99c6a1e52a8a2f3f6fb10e"},"creator":{"type":"individual","id":"074c414ad1d825f5","github_login":"mbostock","login":"mbostock","name":"Mike Bostock","bio":"Building a better computational medium. Founder @observablehq. Creator @d3. Former @nytgraphics. Pronounced BOSS-tock.","home_url":"https://bost.ocks.org/mike/","avatar_url":"https://avatars2.githubusercontent.com/u/230541?v=4"}},{"id":"6705012ea4863d3f","type":"notebook_reader","version":251,"publish_version":251,"title":"Temporal Force-Directed Graph","update_time":"2020-07-15T20:00:07.743Z","publish_time":"2020-07-09T01:06:31.424Z","likes":23,"comment_count":2,"slug":"temporal-force-directed-graph","thumbnail":"36a6cadda692ae37ea8fe08fafa8ec4d0e124dbe86889812d9c5285928a0dbaf","fork_of":true,"collection_count":1,"roles":[],"collection":{"id":"7c6f7ba420c1b0ee","type":"public","slug":"d3-force","title":"d3-force"},"owner":{"type":"team","id":"863951e3ebe4c0ae","login":"d3","name":"D3","bio":"Bring your data to life.","home_url":"https://d3js.org","avatar_url":"https://avatars.observableusercontent.com/avatar/c29cf4d85eece3bf402bbaffe1e260c6e5881a490c99c6a1e52a8a2f3f6fb10e"},"creator":{"type":"individual","id":"074c414ad1d825f5","github_login":"mbostock","login":"mbostock","name":"Mike Bostock","bio":"Building a better computational medium. Founder @observablehq. Creator @d3. Former @nytgraphics. Pronounced BOSS-tock.","home_url":"https://bost.ocks.org/mike/","avatar_url":"https://avatars2.githubusercontent.com/u/230541?v=4"}},{"id":"160c7535b293e7ce","type":"notebook_reader","version":898,"publish_version":898,"title":"Arbitrary Hamiltonian Curves","update_time":"2020-07-10T15:02:09.061Z","publish_time":"2020-07-05T14:25:21.602Z","likes":21,"comment_count":0,"slug":"arbitrary-hamiltonian-curves","thumbnail":"4a8dbb833c88413074c4f6483fbe1c7af30d2bd56080ced7261348157fc258c7","fork_of":false,"collection_count":0,"roles":[],"owner":{"type":"individual","id":"d36034ddfb454bdd","github_login":"JobLeonard","login":"jobleonard","name":"Job van der Zwan","bio":"","home_url":"","avatar_url":"https://avatars.observableusercontent.com/avatar/d2b7680158db2e382d3843ad80dbcf8303469fa363e7623c1295007247de9df6"},"creator":{"type":"individual","id":"d36034ddfb454bdd","github_login":"JobLeonard","login":"jobleonard","name":"Job van der Zwan","bio":"","home_url":"","avatar_url":"https://avatars.observableusercontent.com/avatar/d2b7680158db2e382d3843ad80dbcf8303469fa363e7623c1295007247de9df6"}},{"id":"2d1dca8d13f88f9e","type":"notebook_reader","version":232,"publish_version":232,"title":"Polygon Triangulation","update_time":"2020-07-09T10:47:05.009Z","publish_time":"2020-07-09T10:19:21.797Z","likes":15,"comment_count":0,"slug":"polygon-triangulation","thumbnail":"ef6af50ec3faf6860be2a2bc143dabe2699a730204d8420fb326b0cf8a6de288","fork_of":true,"collection_count":2,"roles":[],"collection":{"id":"1b93c3deba41e333","type":"public","slug":"voronoi","title":"Voronoi"},"owner":{"type":"individual","id":"45a379fcfcb14253","github_login":"Fil","login":"fil","name":"Fil","bio":"Vocateur.","home_url":"https://visionscarto.net/","avatar_url":"https://avatars0.githubusercontent.com/u/7001?v=4"},"creator":{"type":"individual","id":"45a379fcfcb14253","github_login":"Fil","login":"fil","name":"Fil","bio":"Vocateur.","home_url":"https://visionscarto.net/","avatar_url":"https://avatars0.githubusercontent.com/u/7001?v=4"}},{"id":"bf89635f4f7473a2","type":"notebook_reader","version":280,"publish_version":280,"title":"Bridson’s Algorithm","update_time":"2020-06-29T05:17:03.604Z","publish_time":"2020-06-29T02:40:05.148Z","likes":33,"comment_count":0,"slug":"bridsons-algorithm","thumbnail":"0a0a417da7aa0d839a6f44069f2258a7bd364f0bced71013be6b0afdbcfbf2d1","fork_of":true,"collection_count":0,"roles":[],"owner":{"type":"individual","id":"074c414ad1d825f5","github_login":"mbostock","login":"mbostock","name":"Mike Bostock","bio":"Building a better computational medium. Founder @observablehq. Creator @d3. Former @nytgraphics. Pronounced BOSS-tock.","home_url":"https://bost.ocks.org/mike/","avatar_url":"https://avatars2.githubusercontent.com/u/230541?v=4"},"creator":{"type":"individual","id":"074c414ad1d825f5","github_login":"mbostock","login":"mbostock","name":"Mike Bostock","bio":"Building a better computational medium. Founder @observablehq. Creator @d3. Former @nytgraphics. Pronounced BOSS-tock.","home_url":"https://bost.ocks.org/mike/","avatar_url":"https://avatars2.githubusercontent.com/u/230541?v=4"}},{"id":"e93997d5089d7165","type":"notebook_reader","version":2280,"publish_version":2280,"title":"Inputs","update_time":"2020-07-10T03:45:52.078Z","publish_time":"2018-01-24T19:37:53.774Z","likes":546,"comment_count":0,"slug":"inputs","thumbnail":"6f6e7093659df4dda57433ee288ccd798f86f669dfac0aa78b803205b34bc474","fork_of":false,"collection_count":0,"roles":[],"owner":{"type":"individual","id":"783616ba9fb55f5d","github_login":"jashkenas","login":"jashkenas","name":"Jeremy Ashkenas","bio":"Working on @observablehq.\n🏍 🌎 👶","home_url":"http://ashkenas.com","avatar_url":"https://avatars3.githubusercontent.com/u/4732?v=4"},"creator":{"type":"individual","id":"783616ba9fb55f5d","github_login":"jashkenas","login":"jashkenas","name":"Jeremy Ashkenas","bio":"Working on @observablehq.\n🏍 🌎 👶","home_url":"http://ashkenas.com","avatar_url":"https://avatars3.githubusercontent.com/u/4732?v=4"}},{"id":"3b36ea10c303fcad","type":"notebook_reader","version":302,"publish_version":302,"title":"“Perceptually uniform”?","update_time":"2020-07-02T11:41:21.170Z","publish_time":"2020-06-30T08:17:23.106Z","likes":36,"comment_count":5,"slug":"perceptually-uniform","thumbnail":"1096c9dd3871c85f8fce50c2ea0e36f3653a3cb92e2dc4f6a31ebd6a51642d41","fork_of":false,"collection_count":1,"roles":[],"collection":{"id":"042d90cc04d1facd","type":"public","slug":"color","title":"Color"},"owner":{"type":"individual","id":"45a379fcfcb14253","github_login":"Fil","login":"fil","name":"Fil","bio":"Vocateur.","home_url":"https://visionscarto.net/","avatar_url":"https://avatars0.githubusercontent.com/u/7001?v=4"},"creator":{"type":"individual","id":"45a379fcfcb14253","github_login":"Fil","login":"fil","name":"Fil","bio":"Vocateur.","home_url":"https://visionscarto.net/","avatar_url":"https://avatars0.githubusercontent.com/u/7001?v=4"}},{"id":"a85c117c76802a1c","type":"notebook_reader","version":92,"publish_version":92,"title":"Canvas primer","update_time":"2020-07-06T12:40:57.603Z","publish_time":"2020-07-06T12:40:57.603Z","likes":9,"comment_count":2,"slug":"canvas-primer","thumbnail":"b1290dad116a6cbdbfedc4c4671419c9759bd8b882ad76fbc9abfb66a7a36e5c","fork_of":false,"collection_count":1,"roles":[],"collection":{"id":"e0d24a292dccabae","type":"public","slug":"computacao-grafica","title":"Computer Graphics"},"owner":{"type":"individual","id":"591dcad3c6121253","github_login":"esperanc","login":"esperanc","name":"Claudio Esperança","bio":"","home_url":"","avatar_url":"https://avatars0.githubusercontent.com/u/1062177?v=4"},"creator":{"type":"individual","id":"591dcad3c6121253","github_login":"esperanc","login":"esperanc","name":"Claudio Esperança","bio":"","home_url":"","avatar_url":"https://avatars0.githubusercontent.com/u/1062177?v=4"}},{"id":"769c2ee459ef1c55","type":"notebook_reader","version":213,"publish_version":213,"title":"Encrypted Message","update_time":"2020-07-04T19:03:35.349Z","publish_time":"2020-07-03T22:40:35.032Z","likes":16,"comment_count":13,"slug":"encrypted-message","thumbnail":"b55d2d1385693080f1d303bec7811cfee40fa92b336ec10953bb774ace2132b7","fork_of":false,"collection_count":0,"roles":[],"owner":{"type":"individual","id":"074c414ad1d825f5","github_login":"mbostock","login":"mbostock","name":"Mike Bostock","bio":"Building a better computational medium. Founder @observablehq. Creator @d3. Former @nytgraphics. Pronounced BOSS-tock.","home_url":"https://bost.ocks.org/mike/","avatar_url":"https://avatars2.githubusercontent.com/u/230541?v=4"},"creator":{"type":"individual","id":"074c414ad1d825f5","github_login":"mbostock","login":"mbostock","name":"Mike Bostock","bio":"Building a better computational medium. Founder @observablehq. Creator @d3. Former @nytgraphics. Pronounced BOSS-tock.","home_url":"https://bost.ocks.org/mike/","avatar_url":"https://avatars2.githubusercontent.com/u/230541?v=4"}}]

Add Today | Week | Month links to see popular notebooks today, past week & month.

RandomFractals commented 4 years ago

quick pic of that setup for now ...

js-notebook-inspector-collections

will add custom Outline section later for named & anon notebook cells linking & bookmarking