--- title: "vembedr" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{vembedr} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` ```{r setup} library("vembedr") ``` Embedding and customizing videos in RMarkdown documents might seem like a complex task. It need not be. ```{r} embed_url("https://www.youtube.com/watch?v=_fZQQ7o16yQ") %>% use_start_time("1m32") ``` Even the most seemingly-intractable issues can be brought into focus with a clarifying framework. Above, we used an `embed` function followed by a `use` function. Using `embed_url()`, you can create an embed object for any of these supported services, or you can use an `id` with a service-specific embed function: - YouTube: `embed_youtube()` - Vimeo: `embed_vimeo()` - Box: `embed_box()` - Microsoft Stream: `embed_msstream()` You can read more about these services in `vignette("embed")`. Once you create an embed object, you can modify it with `use` functions: - start time: `use_start_time()` - formatting: `use_align()`, `use_rounded()` - responsiveness (for Bootstrap): `use_bs_responsive()` You can read more about these modifications in `vignette("modify")`. ## Examples To align the video horizontally within its container, `use_align()`: ```{r} embed_url("https://www.youtube.com/watch?v=uV4UpCq2azs") %>% use_align("center") ``` To add rounded corners, `use_rounded()`: ```{r} embed_youtube("lGTEUtS5H7I") %>% use_rounded() ``` If your HTML file uses Bootstrap, and want to make the size responsive to the width of the container, `use_bs_responsive()`: ```{r} embed_url("https://www.youtube.com/watch?v=H9KYQ_tnTtc") %>% use_bs_responsive() ``` For example this **does not** work in the R vignette, but it **does** work in the pkgdown site. ## Caveats Just because a service publishes a video, this does not mean that you can embed it. For example, this is an amazing Otis Redding performance: ```{r} # does not embed, but you can watch it at Vimeo embed_vimeo("45157591") ```