knitr::opts_chunk$set(echo = TRUE)
.tui-full-calendar-weekday-grid-date-decorator { background: #ff1424 !important; }
# Packages ---------------------------------------------------------------- library(tuicalendr) library(htmltools) # Datas ------------------------------------------------------------------- calendarProps <- data.frame( id = c("1", "2", "3"), name = c("TODO", "Meetings", "Tasks"), color = c("#FFF", "#FFF", "#000"), bgColor = c("#E41A1C", "#377EB8", "#4DAF4A"), borderColor = c("#a90000", "#005288", "#0a7f1c") ) n <- 20 date_start <- sample( seq(from = as.POSIXct(Sys.Date()-14), by = "1 hour", length.out = 24*7*4), n, TRUE ) date_end <- date_start + sample(1:25, n, TRUE) * 3600 schedules <- data.frame( id = 1:n, calendarId = as.character(sample(1:3, n, TRUE)), title = LETTERS[1:n], start = format(date_start, format = "%Y-%m-%dT%H:%00:%00"), end = format(date_end, format = "%Y-%m-%dT%H:%00:%00"), category = sample(c("allday", "time", "task"), n, TRUE), stringsAsFactors = FALSE ) make_body <- function(title) { doRenderTags(tags$div( tags$h3("Title for", title), tags$p( "Yan can write", tags$em("custom"), tags$b("HTML"), "in a popup !" ), tags$p( style = "color: firebrick;", "For example write in red !" ), tags$ul( tags$li("Or make a bullet list!"), tags$li("With another item"), tags$li("And one more") ) )) } schedules$body <- unlist(lapply(schedules$title, make_body)) # Calendar ---------------------------------------------------------------- calendar(defaultView = "month", taskView = TRUE, scheduleView = c("time", "allday")) %>% set_calendars_props_df(df = calendarProps) %>% add_schedule_df(df = schedules)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.