Skip to content

Commit

Permalink
Update to knitr script to keep caches in a separate directory
Browse files Browse the repository at this point in the history
  • Loading branch information
dgrtwo committed Nov 20, 2015
1 parent c4c272d commit 276518d
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions _scripts/knitpages.R
Expand Up @@ -5,20 +5,23 @@

# run ./knitpages.R to update all knitr files that need to be updated.

KnitPost <- function(input, outfile, figsfolder, base.url="/") {
KnitPost <- function(input, outfile, figsfolder, cachefolder, base.url="/") {
# this function is a modified version of an example here:
# http://jfisher-usgs.github.com/r/2012/07/03/knitr-jekyll/
require(knitr);
opts_knit$set(base.url = base.url)
fig.path <- paste0(figsfolder, sub(".Rmd$", "", basename(input)), "/")
cache.path <- file.path(cachefolder, sub(".Rmd$", "", basename(input)), "/")

opts_chunk$set(fig.path = fig.path)
opts_chunk$set(cache.path = cache.path)
opts_chunk$set(fig.cap = "center")
render_jekyll()
knit(input, outfile, envir = parent.frame())
}

knit_folder <- function(infolder, outfolder, figsfolder) {
for (infile in list.files(infolder, pattern="*.Rmd", full.names=TRUE)) {
knit_folder <- function(infolder, outfolder, figsfolder, cachefolder) {
for (infile in list.files(infolder, pattern = "*.Rmd", full.names = TRUE)) {
pattern = "\\d\\d\\d\\d\\-\\d\\d\\-\\d\\d\\-"
print(infile)
# folder = ifelse(grepl(pattern, infile), outfolder, "pages")
Expand All @@ -28,11 +31,11 @@ knit_folder <- function(infolder, outfolder, figsfolder) {
# knit only if the input file is the last one modified
if (!file.exists(outfile) |
file.info(infile)$mtime > file.info(outfile)$mtime) {
KnitPost(infile, outfile, figsfolder)
KnitPost(infile, outfile, figsfolder, cachefolder)
}
}
}

knit_folder("_R", "_posts", "figs/")
knit_folder("_R", "_posts", "figs/", "_caches/")
#knit_folder("_R/drafts", "_drafts", "figs/drafts/")

0 comments on commit 276518d

Please sign in to comment.