{"id":23150985,"url":"https://github.com/coatless-quarto/quarto-webr-pyodide-demo","last_synced_at":"2025-08-17T19:32:13.811Z","repository":{"id":237530055,"uuid":"794652373","full_name":"coatless-quarto/quarto-webr-pyodide-demo","owner":"coatless-quarto","description":"Demo repository for creating a Quarto workflow with {quarto-webr} and {quarto-pyodide}","archived":false,"fork":false,"pushed_at":"2024-06-25T06:13:13.000Z","size":3066,"stargazers_count":17,"open_issues_count":0,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-06-25T08:06:00.520Z","etag":null,"topics":["continuous-deployment","github-actions","github-pages","pyodide","python","quarto","quarto-extension","rstats","webr"],"latest_commit_sha":null,"homepage":"https://quarto.thecoatlessprofessor.com/quarto-webr-pyodide-demo/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coatless-quarto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["coatless"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2024-05-01T17:06:53.000Z","updated_at":"2024-06-25T08:06:01.767Z","dependencies_parsed_at":"2024-06-25T08:16:07.566Z","dependency_job_id":null,"html_url":"https://github.com/coatless-quarto/quarto-webr-pyodide-demo","commit_stats":null,"previous_names":["coatless-quarto/quarto-webr-demo"],"tags_count":0,"template":false,"template_full_name":"coatless-devcontainer/quarto-extension-dev","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coatless-quarto%2Fquarto-webr-pyodide-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coatless-quarto%2Fquarto-webr-pyodide-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coatless-quarto%2Fquarto-webr-pyodide-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coatless-quarto%2Fquarto-webr-pyodide-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coatless-quarto","download_url":"https://codeload.github.com/coatless-quarto/quarto-webr-pyodide-demo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230160653,"owners_count":18182731,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["continuous-deployment","github-actions","github-pages","pyodide","python","quarto","quarto-extension","rstats","webr"],"created_at":"2024-12-17T18:19:41.806Z","updated_at":"2024-12-17T18:19:42.384Z","avatar_url":"https://github.com/coatless-quarto.png","language":"JavaScript","funding_links":["https://github.com/sponsors/coatless"],"categories":[],"sub_categories":[],"readme":"# Authoring Space with Continuous Deployment\n\nThis repository houses an example workflow that allows for continuous deployment of versioned Quarto documents that have been augmented by Quarto Extensions like [`{quarto-webr}`](https://github.com/coatless/quarto-webr) and [`{quarto-pyodide}`](https://github.com/coatless-quarto/pyodide). Feel free to clone or fork the repository!\n\n## Authoring Workspaces\n\nWe use [Development Containers (`devcontainers`)](https://containers.dev/) to create [two different authoring workspaces](.devcontainer/) that work with [GitHub Codespaces](https://github.com/features/codespaces). These authoring spaces are setup to immediately allow you to modify and/or explore [`quarto-webr`](https://github.com/coatless/quarto-webr) and [`quarto-pyodide`](https://github.com/coatless-quarto/pyodide) projects without needing to install authoring software (Quarto, RStudio or VS Code, and the extensions) on your local computer.\n\n\u003e [!NOTE] \n\u003e \n\u003e Codespaces are available to Students and Teachers for free [up to 180 core hours per month](https://docs.github.com/en/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom#about-github-codespaces) through [GitHub Education](https://education.github.com/). Otherwise, you will have [up to 60 core hours and 15 GB free per month](https://github.com/features/codespaces#pricing).\n\n\n### VS Code \n\nIf you are comfortable with VS Code, you can try out the authoring space by clicking on the following button:\n\n[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/coatless-quarto/quarto-webr-pyodide-demo?devcontainer_path=.devcontainer%2Fvs-code%2Fdevcontainer.json)\n\n### RStudio\n\nWe also make available an RStudio Authoring Space that requires a few more steps. You can access the space by clicking on:\n\n[![Open RStudio Authoring Workspace in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/coatless-quarto/quarto-webr-pyodide-demo?devcontainer_path=.devcontainer%2Frstudio%2Fdevcontainer.json)\n\nAfter the authoring space loads, click on the \"Open in Browser\" button in the lower right hand side to be taken into a new browser window with RStudio running: \n\n![Terminal tab with \"Your application (RStudio) is running on\" notification with \"Open in Browser\" button](images/vs-code-terminal-launch-rstudio-notification-closeup.png)\n\nIf you do not see the notification, please click on the \"Ports\" tab in the lower right hand side of VS Code and, then, find the \"RStudio\" label under Port column, press the globe under the \"Forwarded Address\" column next to \"RStudio\" to be taken into a web-based version of RStudio.\n\n![Port tab showing the `RStudio` Process with the Globe Highlighted to \"Open In Browser\"](images/vs-code-port-tab-open-rstudio-globe.png)\n\nIf done successfully, you should see a new browser window with the familiar RStudio interface:\n\n![Full RStudio authoring workspace](images/rstudio-authoring-workspace-launched.png)\n\nFrom there, open the desired Quarto document by double clicking on it in the Files tab on the lower right hand side. Then, press the \"Render\" button. RStudio will then open a new tab with the rendered Quarto document. \n\n## Enabling GitHub Pages Deployment\n\n\u003e [!IMPORTANT]\n\u003e \n\u003e This sections requires the repository to be cloned and/or forked to a personal copy for it work.\n\nTo enable deployment through GitHub Actions to GitHub Pages, please enable it on the repository by:\n\n- Clicking on the repository's **Settings** page\n- Selecting **Pages** on the left sidebar.\n- Picking the **GitHub Actions** option in the **Source** drop-down under the Build and Deployment section.\n- Ensuring that **Enforced HTTPS** is checked. \n\n[![Example annotation of the repository's Settings page for GitHub Actions deployment][1]][1]\n\nThis allows the GitHub Action in [`.github/workflows/publish-document.yml`](.github/workflows/publish-document.yml) to run each time a commit is made to the repository.\n\n## Acknowledgements\n\nThe author space demo was setup for [guest lectures](https://github.com/coatless-talks/stats352-guest-lectures-on-dynamic-interactions-wasm) in STATS 352 at Stanford University so that students could try authoring documents without installing software. \n\nThe underlying devcontainers are built using [rocker project](https://rocker-project.org/)'s [version stack](https://github.com/rocker-org/devcontainer-templates/tree/main/src/r-ver) and [devcontainer-features](https://github.com/rocker-org/devcontainer-templates/tree/main/src/r-ver) ([Details](https://containers.dev/implementors/features/)). The features were created by [Tatsuya Shima (@eitsupi)](https://github.com/eitsupi).\n\n  [1]: images/enable-github-pages-via-actions.png","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoatless-quarto%2Fquarto-webr-pyodide-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoatless-quarto%2Fquarto-webr-pyodide-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoatless-quarto%2Fquarto-webr-pyodide-demo/lists"}