Skip to content

Instantly share code, notes, and snippets.

@ramnathv
Created January 31, 2013 20:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ramnathv/4686258 to your computer and use it in GitHub Desktop.
Save ramnathv/4686258 to your computer and use it in GitHub Desktop.
Consolidate Libraries and Assets
## Run this Code from the Root Directory
# GET DIRECTORY LISTS
lib_dirs = dir(pattern = 'libraries', include.dirs = TRUE, recursive = TRUE)
asset_dirs = dir(pattern = 'assets', include.dirs = TRUE, recursive = TRUE)
img_dirs = file.path(asset_dirs, 'img')
# CREATE CONSOLIDATED ASSETS FOLDER AT ROOT, CONSOLIDATE IMAGE FILES AND REMOVE IMG_DIRS
system("mkdir assets && cp -r week1/004representingData/assets/* assets")
img_files = unlist(lapply(img_dirs, list.files, full = TRUE))
file.copy(img_files, 'assets/img')
unlink(img_dirs, recursive = TRUE)
# CREATE LIBRARIES FOLDER AT ROOT AND REMOVE LIB_DIRS
system("mkdir libraries && cp -r week1/001courseLogistics/libraries/* libraries")
unlink(lib_dirs, recursive = TRUE)
# REMOVE FIGURE DIRS AND FIG DIRS
figure_dirs = dir(pattern = '^figure$', include.dirs = TRUE, recursive = TRUE)
fig_dirs = dir(pattern = '^fig$', include.dirs = TRUE, recursive = TRUE)
unlink(figure_dirs, recursive = TRUE)
unlink(fig_dirs, recursive = TRUE)
# PROCESS RMD FILES
# Function to process rmd files
# 1. change lib path to ../../libraries in YAML front matter.
# 2. change relative path to images, replacing assets to ../../assets
process_rmd <- function(rmdFile){
rmd = slidify:::read_file(rmdFile)
rmd = gsub('assets/', '../../assets/', rmd, fixed = TRUE)
rmd = sub('\n---', "\nurl:\n lib: ../../libraries\n---\n", rmd, fixed = TRUE)
cat(rmd, file = rmdFile)
}
# GET ALL DIRS WITH RMD FILES, PROCESS INDEX.RMD AND SLIDIFY
rmd_dirs = dirname(lib_dirs)
# Function to make slides. Run from Root Directory
make_slides <- function(){
lapply(rmd_dirs, function(d){devtools:::in_dir(d,
{
process_rmd('index.Rmd')
slidify('index.Rmd')
})
})
}
make_slides()
# remove all pdf files
# pdf_files = dir(pattern = "*.pdf", recursive = TRUE, full.names = TRUE)
# unlink(pdf_files)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment