1
0
Fork
You've already forked ipos
0
2025年09月14日 Drop Companion Observable Notebooks Data Loaders
  • HTML 94%
  • JavaScript 6%
Find a file
2025年09月14日 14:36:19 -04:00
.gitignore chore: initial commit 2025年09月14日 10:12:25 -04:00
img.png add: img 2025年09月14日 10:27:54 -04:00
index-r.html add: WebR 2025年09月14日 14:36:19 -04:00
index.html add: links 2025年09月14日 10:14:41 -04:00
mise.toml add: WebR 2025年09月14日 14:36:19 -04:00
package-lock.json add: WebR 2025年09月14日 14:36:19 -04:00
package.json add: WebR 2025年09月14日 14:36:19 -04:00
pyproject.toml chore: initial commit 2025年09月14日 10:12:25 -04:00
README.md add: WebR 2025年09月14日 14:36:19 -04:00
table-3.png chore: initial commit 2025年09月14日 10:12:25 -04:00
try.mjs add: WebR 2025年09月14日 14:36:19 -04:00
uv.lock chore: initial commit 2025年09月14日 10:12:25 -04:00

Observable Notebooks 2.0 Data Loader

Preview: https://rud.is/drop/2025-09-14-bonus/

This is a small, focused sample notebook to show how to use data loaders with Observable Notebooks 2.0.

This one turns a PDF table into numeric values for an analysis of IPOs.

HOWTO

npm i
npm run docs:preview # or `npm run docs:build` and serve up what you've built.

WebR!!!

So, I got WebR working (see index-r.html).

It's very insecure. Don't do this at home.

I shimmed the Homebrew node that Observable Notebooks call:

#!/usr/bin/env bash

echo "$@" > /tmp/wat.out
/opt/homebrew/bin/onode --allow-worker --input-type=module

That echo thing was to see what they were sending (it's just safety parameters). I suspect they open up a stdin to a running node process and shunt the JS block code there (I could look to verify but getting this working took longer than I wanted).

The shim is gone, now, but it's a way to get R and all sorts of unsafe filesystem/network ops working.