knitr::opts_chunk$set(echo = TRUE)
xx<- rstudioapi::getActiveDocumentContext()
xx$path

Modify the three steps Rmds for your need

# exercise specific
c(title="HW2",
ansfilename= "homeworks/homework2-ans.Rmd",

# course specific
courseInfoFile="/Users/martinl/Github/course-dashboard-programming-for-data-science/course109-1-program4DS.rda",
rosterFile="/Users/martinl/Github/course-dashboard-programming-for-data-science/109-1-completeRoster.Rdata",
dueBuffer= "minutes(20)",
submissionFolder= "studentsSubmission",
gradingFolder= "grading_flow",
localGDReturnFolderPath="/Users/martinl/Google Drive/Classroom/109-1 資料科學程式設計(一)/Return",
classDriveFolderPath= "https://drive.google.com/drive/folders/0B7BgScbXrgfNfjRGVnp0V0NKbGVjVEN0UVRMdHB0czhnNVBXYVB4R2liTlZxclJFQWRXb1E",
localGDReturnFolder= "/Users/martinl/Google Drive/Classroom/109-1 資料科學程式設計(一)/Return",
githubRepo= "tpemartin/109-1-inclass-practice") -> params_setup

### end of params_setup

params_setup %>%
  names() %>%
  paste0("\\{",.,"\\}") -> params_setupBracket_names
params_setupBracket <- params_setup
names(params_setupBracket) <-
  params_setupBracket_names

list.files(pattern="step[0-9][^.]+\\.Rmd", full.names = T) -> stepRmds
require(dplyr)

# .x <- stepRmds[[1]]
stepRmds %>%
  purrr::walk(
    ~{
      xfun::read_utf8(.x) -> rmdlines
      cacheName <- basename(.x) %>%
        stringr::str_extract("step[0-9]") %>%
        paste0(params_setupBracket[["\\{title\\}"]],
               .)
      stringr::str_replace_all(
        rmdlines,
        c(params_setupBracket,
          "\\{cache\\}"=cacheName)
      ) -> rmdlinesNew

      xfun::write_utf8(
        rmdlinesNew,
        con=str_replace(.x, ".Rmd", "-new.Rmd")
      )
    }
  )


tpemartin/rmdgrader documentation built on Nov. 22, 2022, 6:39 p.m.