{"id":14069135,"url":"https://github.com/rstudio/htmltools","last_synced_at":"2025-05-15T09:03:08.861Z","repository":{"id":15661373,"uuid":"18398793","full_name":"rstudio/htmltools","owner":"rstudio","description":"Tools for HTML generation and output","archived":false,"fork":false,"pushed_at":"2024-08-22T15:23:32.000Z","size":2678,"stargazers_count":220,"open_issues_count":98,"forks_count":70,"subscribers_count":24,"default_branch":"main","last_synced_at":"2025-05-03T01:12:06.209Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://rstudio.github.io/htmltools/","language":"R","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/rstudio.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":"CONTRIBUTING.md","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}},"created_at":"2014-04-03T10:11:03.000Z","updated_at":"2025-04-09T05:37:00.000Z","dependencies_parsed_at":"2023-02-12T05:00:55.039Z","dependency_job_id":"ce3a3b45-869e-46e9-bdc9-c7a3a11778b2","html_url":"https://github.com/rstudio/htmltools","commit_stats":{"total_commits":384,"total_committers":37,"mean_commits":"10.378378378378379","dds":0.8359375,"last_synced_commit":"487aa0bed7313d7597b6edd5810e53cab0061198"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstudio%2Fhtmltools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstudio%2Fhtmltools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstudio%2Fhtmltools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstudio%2Fhtmltools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rstudio","download_url":"https://codeload.github.com/rstudio/htmltools/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254042041,"owners_count":22004831,"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-08-13T07:06:38.458Z","updated_at":"2025-05-15T09:03:08.841Z","avatar_url":"https://github.com/rstudio.png","language":"R","funding_links":[],"categories":["R"],"sub_categories":[],"readme":"\u003c!-- badges: start --\u003e\n[![R build\nstatus](https://github.com/rstudio/htmltools/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/rstudio/htmltools)\n[![CRAN\nstatus](https://www.r-pkg.org/badges/version/htmltools)](https://CRAN.R-project.org/package=htmltools)\n[![Lifecycle:\nexperimental](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html)\n\u003c!-- badges: end --\u003e\n\n# htmltools \u003ca href='https://rstudio.github.io/htmltools/'\u003e\u003cimg src='man/figures/logo.png' align=\"right\" height=\"138\" /\u003e\u003c/a\u003e\n\nTools for creating, manipulating, and writing HTML from R.\n\n## Installation\n\nInstall the stable release of `htmltools` on CRAN:\n\n```r\ninstall.packages(\"htmltools\")\n```\n\nInstall the development version with:\n\n```r\nremotes::install_github(\"rstudio/htmltools\")\n```\n\n## Quick overview\n\n`{htmltools}` makes it easy to customize the user interface (UI) of any [Shiny](https://shiny.posit.co/) or [R Markdown](https://rmarkdown.rstudio.com/) project by using R code to generate custom HTML (including JavaScript and CSS).\n\n[This Shiny article](https://shiny.posit.co/articles/html-tags.html) provides a great introduction to `{htmltools}` (even if you're not interested in Shiny). As you'll learn in that article, the general foundation that `{htmltools}` provides allows other R packages (e.g., [`{htmlwidgets}`](http://www.htmlwidgets.org/), [`{crosstalk}`](https://rstudio.github.io/crosstalk/), etc.) to provide \"HTML components\" in R that users can manipulate and combine in ways the component authors didn't foresee.\n\nFor example, as described in depth [here](https://plotly-r.com/arranging-views.html#arranging-htmlwidgets), `{htmltools}` makes it fairly easy to arrange numerous `{htmlwidgets}` (e.g., `{plotly}` graphs) into a single static HTML webpage:\n\n```r\nlibrary(htmltools)\nlibrary(plotly)\nbrowsable(tagList(\n  plot_ly(diamonds, x = ~carat, height = 200),\n  plot_ly(diamonds, x = ~price, height = 200)\n))\n```\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"man/figures/plotly-taglist.png\" width=\"60%\" /\u003e\n\u003c/div\u003e\n\nAlso, thanks to `tagQuery()`, it is fairly easy to query and manipulate the underlying HTML structure of components. See the [`tagQuery()` article](https://rstudio.github.io/htmltools//articles/tagQuery.html) to learn more.\n\n\n## Learn more\n\nIf you're looking to learn how to build more custom user interfaces by  writing custom HTML/JavaScript/CSS, we recommend the following resource:\n\n* Shiny's [UI](https://shiny.posit.co/articles/#user-interface) and [extensions](https://shiny.posit.co/articles/#extensions) articles\n* [Outstanding UI with Shiny](https://unleash-shiny.rinterface.com/) by David Granjon\n* [JavaScript for R](https://book.javascript-for-r.com/) by John Coene\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frstudio%2Fhtmltools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frstudio%2Fhtmltools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frstudio%2Fhtmltools/lists"}