quarto-dev / quarto-dev/quarto-cli

quarto in the browser

Offen
#263 5 Kommentare 4 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

enhancement
Vorherrschende Sprache
JavaScript
Sterne
6k
Forks
458
Ø Merge
1 T. 9 Std.
Gemergte PRs (30 T.)
41

Beschreibung

It'd be neat to run Quarto in the browser, I'm wondering if this is a design goal or perhaps if it's explicitly not. I just found some notes I wrote up a few months ago about various quarto-cli deps:

Deno

It's a goal of Deno to be browser-compatible.

  • any reference to the global Deno namespace would need not to be used?
  • maybe something like denopack is supposed to be used?

esbuild is probably the way to go here? And factoring stuff out?

Pandoc

There's an Asterius-built pandoc executable available at https://asterius.netlify.app/demo/pandoc/pandoc.html but I haven't found the code that builds it.

There's an old GHCJS-compiled pandoc too.

It's not clear that either of these keep the lua functionality intact? There's been lots of back and forth trying to get the C bits out of pandoc, but currently there are C dependencies. The lua filters seem to be integral to Quarto. There are definitely Emscripten builds of Lua out there, but the integration might be tricky.

ESBuild

Is this maybe a runtime dependency? there's a wasm version available at esbuild-wasm on npm, see https://esbuild.github.io/getting-started/#wasm

SASS

There's a version of SASS compiled to JavaScript on npm.

R

I heard from Pyodide folks that discussions of compiling R to the browser petered out because there was so much Fortran involved. It seems like R isn't required to run to run Quarto at all, but I want to check because when commands like quarto serve error on my if I don't have Shiny R library installed, suggesting there's some R in there somewhere. edit: I misunderstood what quarto serve does, it's explicitly for Shiny apps.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

No specific file, test, or entry point is named. Start by mapping the quarto-cli dependencies discussed here—Deno, Pandoc, esbuild, Sass, Lua, and R—and assess which browser-compatible implementations exist; done would be a documented decision about whether browser execution is a project goal and what work it requires.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
deno, javascript, lua, r, sass, wasm
Bereich
tooling, web-dev
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.