An open API service indexing awesome lists of open source software.

https://github.com/etiennebacher/circletyper

Curve Text Elements in R Shiny Using 'CircleType.js'
https://github.com/etiennebacher/circletyper

Last synced: 26 days ago
JSON representation

Curve Text Elements in R Shiny Using 'CircleType.js'

Awesome Lists containing this project

README

        

---
output: github_document
---

# circletyper

[![R-CMD-check](https://github.com/etiennebacher/circletyper/workflows/R-CMD-check/badge.svg)](https://github.com/etiennebacher/circletyper/actions)
[![CRAN status](https://www.r-pkg.org/badges/version/circletyper)](https://CRAN.R-project.org/package=circletyper)

The goal of `{circletyper}` is to enable text curving in Shiny apps, by adapting
[CircleType.js](https://github.com/peterhry/CircleType) into R.

## Installation

For now, you can only install the development version of
`{circletyper}`:

```{r eval = FALSE}
# install.packages("devtools")
devtools::install_github("etiennebacher/circletyper")
```

## Example

```{r eval = FALSE}
library(shiny)
library(magrittr)
library(circletyper)

ui <- fluidPage(
use_circletype(), # load dependencies

# Wrap the text element you want to curve into circletype()...
circletype(h2("this is a title", id = "testh2"), dir = -1, radius = 200),

# ... or use magrittr's pipe
strong("this is a bold text", id = "teststrong") %>% circletype(dir = 1),

br(),

actionButton("remove", "remove circletype effect")
)

server <- function(input, output, session) {

# You can also remove the circletype effect
observeEvent(input$remove, {
remove_circletype("teststrong")
})

}

shinyApp(ui, server)
```

| Initial | After clicking on the button |
| -------------------- | ---------------------------- |
| ![](demo_before.png) | ![](demo_after.png) |