home / github / issue_comments

Menu
  • Search all tables
  • GraphQL API

issue_comments: 1613778296

This data as json

html_url issue_url id node_id user created_at updated_at author_association body reactions issue performed_via_github_app
https://github.com/simonw/datasette/pull/2052#issuecomment-1613778296 https://api.github.com/repos/simonw/datasette/issues/2052 1613778296 IC_kwDOBm6k_c5gME14 15178711 2023-06-29T20:36:09Z 2023-06-29T20:36:09Z CONTRIBUTOR

Ok @hydrosquall a couple things before this PR should be good to go:

  • Can we move datasette/static/table-example-plugins.js into demos/plugins/static?
  • For datasetteManager.VERSION, can we fill that in or just comment it out for now? Not sure how difficult it'll be to inject it server-side. I imagine we could also have a small build process with esbuild/rollup that just injects a version string into manager.js directly, so we don't have to worry about server-rendering (but that can be a future PR)

In terms of how to integrate this into Datasette, a few options I can see working:

  • Push this as-is and figure it out before the next release
  • Hide this feature behind a settings flag (--setting unstable-js-plugins on) and use that setting to hide/show <script src="{{ urls.static('datasette-manager.js') }}" defer></script> in base.html

I'll let @simonw decide which one to work with. I kindof like the idea of having an "unstable" opt-in process to enable JS plugins, to give us time to try it out with a wide variety of plugins until we feel its ready.

I'm also curious to see how "plugins for a plugin' would work, like #1542. For example, if the leaflet plugin showed default markers, but also included its own hook for other plugins to add more markers/styling. I'm imagine that the individual plugin would re-create their own plugin system compared to this, since handling "plugins of plugins" at the top with Datasette seems really convoluted.

Also for posterity, here's a list of Simon's Datasette plugins that use "extra_js_urls()", which probably means they can be ported/re-written to use this new plugin system:

  • datasette-vega
  • datasette-cluster-map
  • datasette-leaflet-geojson
  • datasette-pretty-traces
  • datasette-youtube-embed
  • datasette-leaflet-freedraw
  • datasette-hovercards
  • datasette-mp3-audio
  • datasette-geojson-map
{
    "total_count": 1,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 1
}
1651082214  
Powered by Datasette · Queries took 0.898ms · About: github-to-sqlite