Learn R Programming

gistr (version 0.2.0)

gist_create: Create a gist

Description

Create a gist

Usage

gist_create(files = NULL, description = "", public = TRUE,
  browse = TRUE, code = NULL, filename = "code.R", knit = FALSE,
  knitopts = list(), renderopts = list(), include_source = FALSE,
  imgur_inject = FALSE, ...)

Arguments

files
Files to upload
description
(character) Brief description of gist (optional)
public
(logical) Whether gist is public (default: TRUE)
browse
(logical) To open newly create gist in default browser (default: TRUE)
code
Pass in any set of code. This can be a single R object, or many lines of code wrapped in quotes, then curly brackets (see examples below).
filename
Name of the file to create, only used if code parameter is used. Default to code.R
knit
(logical) Knit code before posting as a gist? If the file has a .Rmd or .Rnw extension, we run the file with link[knitr]{knit}, and if it has a .R extension, then we use
knitopts,renderopts
(list) List of variables passed on to link[knitr]{knit}, or render
include_source
(logical) Only applies if knit=TRUE. Include source file in the gist in addition to the knitted output.
imgur_inject
(logical) Inject imgur_upload into your .Rmd file to upload files to http://imgur.com/. This will be ignored if the file is a sweave/latex file because the rendered pdf can
...
Further args passed on to link[httr]{POST}

See Also

gist_create_obj

Examples

Run this code
gist_create(files="~/stuff.md", description='a new cool gist')
gist_create(files=c("~/spocc_sp.Rmd","~/spocc_sp.md"), description='spocc demo files')

# include any code by passing to the code parameter
gist_create(code={'
x <- letters
numbers <- runif(10)
numbers
'})

# or include results if you want, and change the filename in this case
gist_create(code={'
x <- letters
numbers <- runif(8)
numbers

[1] 0.3229318 0.5933054 0.7778408 0.3898947 0.1309717 0.7501378 0.3206379 0.3379005
'}, filename="my_cool_code.R")

# Knit an .Rmd file before posting as a gist
file <- system.file("examples", "stuff.Rmd", package = "gistr")
gist_create(file, description='a new cool gist', knit=TRUE)

file <- system.file("examples", "plots.Rmd", package = "gistr")
gist_create(file, description='some plots', knit=TRUE)

# an .Rnw file
file <- system.file("examples", "rnw_example.Rnw", package = "gistr")
gist_create(file)
gist_create(file, knit=TRUE)

# Knit code input before posting as a gist
gist_create(code={'
```{r}
x <- letters
(numbers <- runif(8))
```
'}, knit=TRUE)

library('httr')
base <- "http://pelias.mapzen.com/search"
res <- GET(base, query = list(input = 'coffee shop', lat = 45.5, lon = -122.6))
json <- content(res, as = "text")
gist_create(code = json, filename = "pelias_test.geojson")

# Knit and include source file, so both files are in the gist
file <- system.file("examples", "stuff.Rmd", package = "gistr")
gist_create(file, knit=TRUE, include_source=TRUE)

gist_create(code={'
```{r}
x <- letters
(numbers <- runif(8))
```
'}, filename="code.Rmd", knit=TRUE, include_source=TRUE)

# Uploading images created during knit process
## using imgur - if you're file uses imgur or similar, you're good
file <- system.file("examples", "plots_imgur.Rmd", package = "gistr")
cat(readLines(file), sep = "\n") # peek at file
gist_create(file, knit=TRUE)
## if not, GitHub doesn't allow upload of binary files via the HTTP API (which gistr uses)
## but check back later as I'm working on an option to get binary files uploaded,
## but will involve having to use git
file <- system.file("examples", "plots.Rmd", package = "gistr")
gist_create(file, knit=TRUE, imgur_inject = TRUE)

# Render `.R` files
file <- system.file("examples", "example1.R", package = "gistr")
cat(readLines(file), sep = "\n") # peek at file
gist_create(file, knit = TRUE)
gist_create(file, knit = TRUE, include_source = TRUE)
## many files
(file1 <- system.file("examples", "example1.R", package = "gistr"))
(file2 <- system.file("examples", "example2.R", package = "gistr"))
cat(readLines(file1), sep = "\n") # peek at file
cat(readLines(file2), sep = "\n") # peek at file
gist_create(files=list(file1, file2), knit = TRUE)
### three at once, some .R and some .Rmd
file3 <- system.file("examples", "plots_imgur.Rmd", package = "gistr")
gist_create(files=list(file1, file2, file3), knit = TRUE)
gist_create(files=list(file1, file2, file3), knit = TRUE, include_source = TRUE)

Run the code above in your browser using DataLab