quarto-dev / quarto-cli

Open-source scientific and technical publishing system built on Pandoc.
https://quarto.org
Other
3.87k stars 317 forks source link

Feature request: Google slides output #2022

Open gshotwell opened 2 years ago

gshotwell commented 2 years ago

It's fairly common for data scientists to produce reports which end up in Google Slides and it would be great if there were a pattern which let them use quarto to generate these slides. I know that people have asked for this in the Rmarkdown world and it was tricky to implement, but I was wondering if it would be possible to implement it in quarto.

The only project that I'm aware of that kind of helps is this md2googleslides project.

jjallaire commented 2 years ago

The best current path for this is PowerPoint then import that to Google Slides (not sure how well that works though!)

gilliganondata commented 2 years ago

I'll second this request. It's really common in my world (consulting), at least, to need to produce and iterate on a deliverable that will then be combined and or shared inside an organization where Google Slides is the standard.

PowerPoint -> Google Slides is certainly a workaround. As long as the PowerPoint template being used (I haven't yet done this with Quarto) is done well/cleanly, Google Slides can generally do a pretty clean import. But, it's a pesky extra step, and it introduces an additional format/technology into the workflow, so it's not ideal.

mattpolicastro commented 2 years ago

Thirded, though it feels appropriate to call out that Google Slides adds another layer of complexity because it's a platform and not a standalone formatted file. (As far as I know, there's no way to interact with the contents of a Google Slides presentation outside the web UI and their API.)

This seems like a break from other targets' export (and optional hosting) process flow:

Current Rendering & Export

flowchart LR;
  A[.qmd]-- Language-specific runtime -->B[Pandoc]
  B --> C[Target File Format]
  C -.-> D["3rd Party Hosting (Optional, handled by user IDE/editor)"]

Hypothetical Google Sheets Rendering & Export

flowchart LR;
  A[.qmd]-- Language-specific runtime -->B[Pandoc]
  B --> C[Google Slides API]
  C --> D[Google Slides Web UI]

It seems like the current paradigm is to handle authentication and publishing destinations outside the document (e.g. RStudio add-in for Shiny publishing), so the authentication/credentials/publishing requirements coming earlier in the process feels messy. I suppose you could point to environment variables containing authentication/credentials details in the document frontmatter, a la the PowerPoint export accepting a reference document?

Edit: published my comment too early by accident so was rushing to make this readable, but I think the TL;DR is that this feels like it either requires:

  1. A handler that simplifies pushing a generated .pptx to Google Slides via the GSlides API.
  2. A new Pandoc writer that incorporates authentication and API access as part of its workflow. (Here's the Powerpoint writer, for example.)
danielinteractive commented 1 year ago

Fully supporting this feature request. Both in our company, as well as outside in industry collaborations, Google Slides are very prominent. I would guess more than 90% of all slidedecks are Google Slides based. It would be an absolute killer feature to have e.g. a natural Pandoc Powerpoint writer that can be used from Quarto naturally.

mabuimo commented 1 year ago

Hi! I support this feature as well. We do use Google Slides in my corporation, as we need to collaborate and share the output with stakeholders enforcing strict control access. As others have mentioned, this feature would allow skipping the extra step converting from .pptx to .gslides. Besides, we would ensure that there are no format changes by avoiding the conversion step.

adrienneshum commented 1 year ago

Format changes from ppt --> google slides are a significant limitation, as many consulting projects follow some template/format which is often reformatted when we change ppt to google slides.

This feature would be INCREDIBLY time-saving

danilotpnta commented 1 year ago

I support this request. I develop my bachelor's thesis based on google slides and would like to document this in my blog site

jimhester commented 1 year ago

Much of the company here @netflix uses google slides for presentations and google docs for memos. If Quarto had a good story for direct conversion from quarto to these formats it would be a strong selling point to drive quarto adoption, particularly if there was a way to perform updates to already published slides and documents.

mcanouil commented 1 year ago

The main issue is that currently there is no "writer" to convert from the AST representation to Google Slides. It would be probably better to have this in Pandoc rather than in Quarto. To note, it does not seem it was ever discussed on Pandoc:

jjallaire commented 1 year ago

We would need to do something derivative of this repo that handles basic markdown => Google Slides:

https://github.com/googleworkspace/md2googleslides/

Not a small amount of work! That said, @jimhester if @Netflix wanted to sponsor this work we'd be happy to manage/oversee/advise development. @mcanouil I'm not sure whether it's as practical to put this into Pandoc (as the existing libraries / examples are written in Typescript). As we did with Confluence, Hugo, etc. we can certainly add a format to Quarto that doesn't exist in Pandoc.

mcanouil commented 1 year ago

Oh, I missed the existing project: https://github.com/googleworkspace/md2googleslides/ (which also seems well maintained).

authagag commented 7 months ago

Is there any updates to this feature request? This issue comes up regularly for me