container-template
container-template copied to clipboard
Updating our outputs with quarto and webR
We had been waiting until quarto had a flexdashboard replacement, but as we don't really use flexdashboard a lot, and new quarto features are emerging, we should have a quarto template in this repository. We should pilot some advanced features and applications that we anticipate being useful in projects coming up
### Tasks
- [ ] Create a quarto template that is a template for multiple reports that yields something that can be dashboard-like, or at least have a nav bar on top for the multiple reports. I believe this is a quarto "site", and is more efficient that multi-tab dashboards that load everything at once anyway
- [ ] Incorporate `tarchetypes::tar_quarto()` for rendering and test deployment and display out outputs on S3.
- [ ] Make one report/page within the site that tests/demos a more dashboard-like layout (https://quarto.org/docs/interactive/layout.html)
- [ ] Make one report/page that demos the new lightbox feature, which should make a series of outputs easy to present (https://quarto.org/docs/prerelease/1.4/lightbox.html). Maybe also add in a presentation and compare the two
- [ ] Make a page that has a simple shiny components. It won't deploy but can be used for some local demos and will be made use of by @n8layman for DTRA-ML
- [ ] [Advanced 1] Make a page that uses shinylive/webR! This is bleeding edge but is where we want to go next Docs for this will be arriving very soon, this is the best demo I can currently find (https://coatless-quarto.github.io/r-shinylive-demo/, https://www.youtube.com/watch?v=6y2FnAugP8E). We want this to include loading RDS objects that are targets outputs from the pipeline.
- [ ] [Advanced 2] Demo a non-R JS quarto document that loads data externally and plots with Plot.js (a very ggplot-like library). This is first step for
- [ ] [Advanced 3] Demo the above but see if we can use [DuckDB-WASM] in a JS block to pre-filter/process external data, both an AWS-hosted parquet file and a DoltHub-hosted CSV. Work with @emmamendelsohn on this.
- [ ] [Advanced 4] This is the end we're aiming for. Can we have a shinylive/webR quarto doc, where the input data is as acquired in [Advanced 3]? It might require some pure JS blocks. It might be easier, actually to do a pure JS document that calls R-WASM for an R function (like a model prediction) without using shiny at all.
- [ ] [Wait until someone has a project output to share] Update styling to use some EHA fonts/logos/colors ported from {ehastyle}
- [ ] Conduct an M3 about using quarto in this context. We don't have to get through all the advanced stuff to do this.
This stuff is emerging fast:
- https://medium.com/@rami.krispin/deploy-shiny-app-on-github-pages-b4cbd433bdc
- https://github.com/topepo/shinylive-in-book-test
Should this be in ehastyle
?