Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ThinkR-open/shinipsum
Lorem-Ipsum-like Helpers for fast Shiny Prototyping
https://github.com/ThinkR-open/shinipsum
dygraph ggplot golemverse hacktoberfest lorem-ipsum
Last synced: 3 months ago
JSON representation
Lorem-Ipsum-like Helpers for fast Shiny Prototyping
- Host: GitHub
- URL: https://github.com/ThinkR-open/shinipsum
- Owner: ThinkR-open
- License: other
- Created: 2018-10-24T19:48:31.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-02-08T12:47:19.000Z (9 months ago)
- Last Synced: 2024-07-12T17:14:44.036Z (4 months ago)
- Topics: dygraph, ggplot, golemverse, hacktoberfest, lorem-ipsum
- Language: R
- Homepage: https://thinkr-open.github.io/shinipsum/
- Size: 1.34 MB
- Stars: 122
- Watchers: 8
- Forks: 7
- Open Issues: 8
-
Metadata Files:
- Readme: README.Rmd
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-shiny-extensions - shinipsum - Lorem-Ipsum-like helpers for fast Shiny prototyping. (Developer Tools / Prototyping)
- jimsghstars - ThinkR-open/shinipsum - Lorem-Ipsum-like Helpers for fast Shiny Prototyping (R)
README
---
output: github_document
---```{r setup, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```[![R build status](https://github.com/ThinkR-open/shinipsum/workflows/R-CMD-check/badge.svg)](https://github.com/ThinkR-open/shinipsum/actions)
[![Codecov test coverage](https://codecov.io/gh/ThinkR-open/shinipsum/branch/master/graph/badge.svg)](https://codecov.io/gh/ThinkR-open/shinipsum?branch=master)
[![R-CMD-check](https://github.com/ThinkR-open/shinipsum/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/ThinkR-open/shinipsum/actions/workflows/R-CMD-check.yaml)# shinipsum
The goal of `{shinipsum} `is to provide random shiny elements for easiest shiny app prototyping, so that you can focus on building the frontend before building the backend.
The full documentation can be found on the `{pkgdown} `site:
## Installation
You can install the dev version of shinipsum from GitHub with:
``` r
install.packages("shinipsum")
```## About
You're reading the doc about version : `r pkgload::pkg_version()`
This README has been compiled on the
```{r}
Sys.time()
```Here are the test & coverage results :
```{r}
devtools::check(quiet = TRUE)
``````{r echo = FALSE}
unloadNamespace("shinipsum")
``````{r}
covr::package_coverage()
```## Demo
Available examples:
```{r}
library(shinipsum)
ipsum_examples()
```You can run `{shinipsum}` demos with:
```{r eval = FALSE}
shiny::runApp(
ipsum_examples("01_navbar.R")
)
```## Available ipsums :
> Note: {shinipsum} only load functions which are necessary to its internal job. If you want to customise an output or to use a renderXX / XXOutput, you'll need to **explicitely** load the packages needed (for example, if you want to customise a dygraph, a ggplot, or use ggplotly).
### DataTable
`random_DT` takes 4 args :
+ `nrow` & `ncol`: number of row and columns of the table
+ `type` : random, numeric, character, numchar - the type of the columns
+ `...` : args to be passed to `DT::datatable`### Image
`random_image` returns a random image.
### Plot
`random_ggplot` takes one arg :
+ `type` : Can be any of "random", "point", "bar", "boxplot","col", "tile", "line", "bin2d", "contour", "density", "density_2d", "dotplot", "hex", "freqpoly", "histogram", "ribbon", "raster", "tile", "violin" and defines the geom of the ggplot. Default is "random", and chooses a random geom for you.
Default theme is minimal.
As the return object is a `ggplot`, it can be enhanced like any other ggplot with `+`.
```{r eval = FALSE}
library(ggplot2)
random_ggplot(type = "col") +
labs(title = "Random plot") +
theme_bw()
````random_ggplotly` calls the `ggplotly` function on a `random_ggplot`.
### Dygraph
`random_dygraph` returns a random dygprah. It takes one arg:
+ `...`: arguments which are passed to the `dygraph()` function.
As the return object is a `dygraph`, it can be enhanced like any other dygraph.
```{r eval = FALSE}
library(dygraphs)
random_dygraph() %>%
dyRangeSelector()
````random_print` takes one arg:
+ `type`: can be any of `"character", "numeric", "model", "table"`, and defines the type of print. Default is `"character"`.
### Table
`random_table` takes three args : `nrow`, `ncols` and `type`. See `random_DT`.
### Text
`random_text` takes one of these two args:
+ `nchar`: lorem ipsum of `nchar` characters
+ `nwords`: lorem ipsum of `nwords` characters
+ `offset`: number of characters or words to offset the result by### Lm
`random_lm` returns a random `lm` model output:
+ `nobs`: Number of observations
+ `nx`: Number of variables (should be lower than `nobs`)## Example
Here is an example of using `{shinipsum}` to generate a random app:
```{r eval = FALSE}
library(shiny)
library(shinipsum)
library(DT)
ui <- fluidPage(
h2("A Random DT"),
DTOutput("data_table"),
h2("A Random Image"),
plotOutput("image", height = "300px"),
h2("A Random Plot"),
plotOutput("plot"),
h2("A Random Print"),
verbatimTextOutput("print"),
h2("A Random Table"),
tableOutput("table"),
h2("A Random Text"),
tableOutput("text")
)server <- function(input, output, session) {
output$data_table <- DT::renderDT({
random_DT(10, 5)
})
output$image <- renderImage({
random_image()
})
output$plot <- renderPlot({
random_ggplot()
})
output$print <- renderPrint({
random_print("model")
})
output$table <- renderTable({
random_table(10, 5)
})
output$text <- renderText({
random_text(nwords = 50)
})
}
shinyApp(ui, server)```
Please note that the 'shinipsum' project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By contributing to this project, you agree to abide by its terms.