{"id":20665657,"url":"https://github.com/thinkr-open/shinidraw","last_synced_at":"2025-04-19T16:40:54.796Z","repository":{"id":176188894,"uuid":"620692809","full_name":"ThinkR-open/shinidraw","owner":"ThinkR-open","description":null,"archived":false,"fork":false,"pushed_at":"2023-06-21T13:02:28.000Z","size":432,"stargazers_count":9,"open_issues_count":8,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-29T10:22:07.702Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ThinkR-open.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2023-03-29T07:28:05.000Z","updated_at":"2024-07-17T02:49:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"f01881d0-ba4d-46ac-b947-427a59068776","html_url":"https://github.com/ThinkR-open/shinidraw","commit_stats":null,"previous_names":["thinkr-open/shinidraw"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThinkR-open%2Fshinidraw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThinkR-open%2Fshinidraw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThinkR-open%2Fshinidraw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThinkR-open%2Fshinidraw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThinkR-open","download_url":"https://codeload.github.com/ThinkR-open/shinidraw/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249740044,"owners_count":21318674,"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":[],"created_at":"2024-11-16T19:33:05.346Z","updated_at":"2025-04-19T16:40:54.789Z","avatar_url":"https://github.com/ThinkR-open.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\noutput: github_document\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\"\n)\n```\n\n# shinidraw\n\n\u003c!-- badges: start --\u003e\n[![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental)\n[![R-CMD-check](https://github.com/ColinFay/shinidraw/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/ColinFay/shinidraw/actions/workflows/R-CMD-check.yaml)\n\u003c!-- badges: end --\u003e\n\nThe goal of `{shinidraw}` is to bring the amazing [Exaclidraw](https://excalidraw.com/) to your R console.\n\n⚠️ WORK IN PROGRESS ⚠️\n\n## Installation\n\nYou can install the development version of `{shinidraw}` like so:\n\n``` r\npak::pak(\"thinkr-open/shinidraw\")\n```\n\n## Why?\n\nExcalidraw is awesome, and we've been using it for prototyping `{shiny}` apps for a while now.\nSo what is missing, and what does `{shinidraw}` bring to the table?\n\n### Projects\n\nWhen used in the browser, Excalidraw saves your drawings in your browser's local storage, and you can export and save locally.\n\nWhen using `{shinidraw}`, you'll have a built-in project system, where the `.excalidraw` files are stored on the machine running the app.\n\nIf you develop in an existing project, `{shinidraw}` will load the latest version of the `.excalidraw` file.\n\nHere are the commands you can use to manage your projects:\n\n```r\nlibrary(shinidraw)\n\n# Create an empty, temp file (will not be saved)\nexcalidraw()\n\n# This will create a new project\nexcalidraw_new_project()\n\n# This will open an existing project\nexcalidraw_open_project(\"rr-2023\")\n\n# Simply open a file\n(file \u003c- excalidraw_helloworld())\nexcalidraw_open_file(\n  file\n)\n```\n\nNote that the first time you launch `{shinidraw}`, it will prompt for your consent to store data on your computer.\n\n### Auto saving\n\nThe app will auto-save your drawings at a given interval, so you don't have to worry about losing your work.\n\n\n## About\n\nYou're reading the doc about version: `r pkgload::pkg_version()`\n\nThis README has been compiled on the\n\n```{r}\nSys.time()\n```\n\nHere are the test \u0026 coverage results:\n\n```{r}\ndevtools::check(quiet = TRUE)\n```\n\n```{r echo = FALSE}\nunloadNamespace(\"shinidraw\")\n```\n\n```{r}\ncovr::package_coverage()\n```\n\n## Code of Conduct\n\nPlease note that the shinidraw project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/1/CODE_OF_CONDUCT.html). By contributing to this project, you agree to abide by its terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthinkr-open%2Fshinidraw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthinkr-open%2Fshinidraw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthinkr-open%2Fshinidraw/lists"}