R/FILEREAD.R

Defines functions load_notes markdown_content

load_notes <- function(dir) {
basic_files <- list.files(dir, pattern = ".*\\.(r)?md", full.names = TRUE,
                          ignore.case = TRUE)
file_content <- headers <- vector(mode = "list", length = length(basic_files))
for (k in seq_along(basic_files)) {
  headers[[k]] <- rmarkdown::yaml_front_matter(basic_files[k])
  file_content[[k]] <- markdown_content(basic_files[k])
}
tibble::tibble(file = basic_files, as.data.frame(headers), contents = file_content)
}

markdown_content <- function(file) {
  content <- readLines(file)
  delimiters <- grep(pattern = "^(---|\\{3})\\s*$", content)
  if (length(delimiters) %% 2L) {
    stop("File ", file, " has an uneven number of yaml front-matter delimiters, \"---\" or \"...\".",
         " It must have exactly 2", call. = FALSE)
  }
  content[-(delimiters[1]:delimiters[2])]
}

ln <- load_notes("jotdown")
smingerson/jotdown documentation built on Jan. 9, 2020, 11:22 p.m.