## ----setup-------------------------------------------------------------------- #| include: false library(livelink) ## ----------------------------------------------------------------------------- url <- as.character(webr_repl_link("hist(rnorm(100))", filename = "plot.R")) preview <- preview_webr_link(url) preview ## ----------------------------------------------------------------------------- preview$total_files preview$files_data[[1]]$name ## ----------------------------------------------------------------------------- print(preview, show_content = TRUE) ## ----------------------------------------------------------------------------- out <- file.path(tempdir(), "recovered") result <- decode_webr_link(url, output_dir = out) result ## ----------------------------------------------------------------------------- #| eval: false # decode_webr_link(url, output_dir = "~/analysis", create_subdir = FALSE) ## ----------------------------------------------------------------------------- decode_webr_link(url, output_dir = out) ## ----------------------------------------------------------------------------- project <- list( "main.R" = "source('utils.R')\nrun()", "utils.R" = "run <- function() 42", "README.md" = "# Analysis\n\nWith an accent: café" ) link <- webr_repl_project(project) recovered_dir <- file.path(tempdir(), "roundtrip") invisible(decode_webr_link(as.character(link), output_dir = recovered_dir)) files <- list.files(recovered_dir, recursive = TRUE, full.names = TRUE) recovered <- setNames( lapply(files, function(f) paste(readLines(f, warn = FALSE), collapse = "\n")), basename(files) ) identical(recovered[sort(names(recovered))], project[sort(names(project))]) ## ----------------------------------------------------------------------------- app_url <- as.character(shinylive_r_link("library(shiny)\nshinyApp(fluidPage(), function(i, o) {})")) preview_shinylive_link(app_url) ## ----------------------------------------------------------------------------- decode_shinylive_link(app_url, output_dir = file.path(tempdir(), "app")) ## ----------------------------------------------------------------------------- py_url <- as.character(shinylive_py_link("from shiny import App, ui")) preview_shinylive_link(py_url)$engine ## ----------------------------------------------------------------------------- urls <- c( as.character(webr_repl_link("plot(1:10)", filename = "one.R")), as.character(webr_repl_link("hist(rnorm(50))", filename = "two.R")) ) batch <- decode_webr_link(urls, output_dir = file.path(tempdir(), "batch")) batch ## ----------------------------------------------------------------------------- repl_urls(preview) repl_urls(batch)