R/folder.R

Defines functions minify_folder_ minify_package_json minify_folder_json minify_package_html minify_folder_html minify_package_js minify_folder_js minify_package_css minify_folder_css

Documented in minify_folder_css minify_folder_html minify_folder_js minify_folder_json minify_package_css minify_package_html minify_package_js minify_package_json

#' Minifying folders
#'
#' @param path Path to the folder containing files to minify
#' @param package Package containing files to minify
#' @param fun Function to use to minify
#' @inheritParams base::list.files
#' @param ... Parameters passed to `base::list.files()`
#'
#' @return The minified path, invisibly.
#'
#' @export
#' @rdname minify-folders
minify_folder_css <- function(
  path,
  fun,
  recursive = TRUE,
  ...
    ) {
  minify_folder_(
    path,
    pattern = "\\.css$",
    fun = fun,
    recursive = recursive
  )
}

#' @export
#' @rdname minify-folders
minify_package_css <- function(
  package,
  fun,
  recursive = TRUE,
  ...
    ) {
  minify_folder_css(
    system.file(package = package),
    pattern = "\\.css$",
    fun = fun,
    recursive = recursive
  )
}

#' @export
#' @rdname minify-folders
minify_folder_js <- function(
  path,
  fun,
  recursive = TRUE,
  ...
    ) {
  minify_folder_(
    path,
    pattern = "\\.js$",
    fun = fun,
    recursive = recursive
  )
}

#' @export
#' @rdname minify-folders
minify_package_js <- function(
  package,
  fun,
  recursive = TRUE,
  ...
    ) {
  minify_folder_js(
    system.file(package = package),
    pattern = "\\.js$",
    fun = fun,
    recursive = recursive
  )
}

#' @export
#' @rdname minify-folders
minify_folder_html <- function(
  path,
  fun,
  recursive = TRUE,
  ...
    ) {
  minify_folder_(
    path,
    pattern = "\\.html$",
    fun = fun,
    recursive = recursive
  )
}

#' @export
#' @rdname minify-folders
minify_package_html <- function(
  package,
  fun,
  recursive = TRUE,
  ...
    ) {
  minify_folder_html(
    system.file(package = package),
    pattern = "\\.html$",
    fun = fun,
    recursive = recursive
  )
}

#' @export
#' @rdname minify-folders
minify_folder_json <- function(
  path,
  fun,
  recursive = TRUE,
  ...
    ) {
  minify_folder_(
    path,
    pattern = "\\.html$",
    fun = fun,
    recursive = recursive
  )
}

#' @export
#' @rdname minify-folders
minify_package_json <- function(
  package,
  fun,
  recursive = TRUE,
  ...
    ) {
  minify_folder_json(
    system.file(package = package),
    pattern = "\\.html$",
    fun = fun,
    recursive = recursive
  )
}

#' @importFrom fs path_abs
minify_folder_ <- function(
  path,
  pattern,
  fun,
  recursive,
  ...
    ) {
  fls <- list.files(
    path = fs::path_abs(path),
    pattern = pattern,
    recursive = recursive,
    full.names = TRUE,
    ...
  )
  lapply(
    fls,
    function(x) {
      # browser()
      fun(x, x)
      cat(x, "minified ----\n")
    }
  )
  invisible(path)
}
ColinFay/minifyr documentation built on June 29, 2023, 3:39 a.m.