Skip to content

Commit 4b1c757

Browse files
authored
Allow for output format to be set to html, pdf, or both (#16)
* Allow for output format to be set. * Add documentation * Remove directories-post example
1 parent 9d2839b commit 4b1c757

File tree

2 files changed

+61
-9
lines changed

2 files changed

+61
-9
lines changed

R/assignr.R

Lines changed: 36 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ generate_hw_pkg = function(x,
5050
name,
5151
type,
5252
output_dir = paste0(name, "-", type),
53+
output_format = c("html_document", "pdf_document"),
5354
render_files = TRUE,
5455
zip_files = TRUE,
5556
hw_directory = '',
@@ -99,7 +100,7 @@ generate_hw_pkg = function(x,
99100
rmd_material_name,
100101
encoding = "UTF-8",
101102
envir = new.env(),
102-
output_format = c("html_document", "pdf_document"),
103+
output_format = output_format,
103104
quiet = TRUE
104105
)
105106
}
@@ -167,14 +168,18 @@ get_example_filepath = function(x) {
167168
#' Transforms an RMarkdown file into two separate files: `filename-assign`
168169
#' and `filename-solutions`
169170
#'
170-
#' @param file Input `.Rmd` file with `-main.Rmd` in the filename.
171-
#' @param output_dir Output directory. Defaults to name of prefix of filename.
172-
#' @param soln_file Generate Solution Material. Default is `TRUE`.
173-
#' @param assign_file Generate Student Assignment Material. Default is `TRUE`.
174-
#' @param zip_files Create a zip file containing the relevant materials.
175-
#' Default is `TRUE`.
176-
#' @param render_files Create HTML and PDF output for each Rmd file.
177-
#' Default is `TRUE`.
171+
#' @param file Input `.Rmd` file with `-main.Rmd` in the filename.
172+
#' @param output_dir Output directory. Defaults to name of prefix of filename.
173+
#' @param output_format Output file type. Any [rmarkdown::render()] output
174+
#' format should work.
175+
#' Defaults to generating both an HTML and PDF output with
176+
#' `c("html_document", "pdf_document")`.
177+
#' @param soln_file Generate Solution Material. Default is `TRUE`.
178+
#' @param assign_file Generate Student Assignment Material. Default is `TRUE`.
179+
#' @param zip_files Create a zip file containing the relevant materials.
180+
#' Default is `TRUE`.
181+
#' @param render_files Create HTML and PDF output for each Rmd file.
182+
#' Default is `TRUE`.
178183
#' @export
179184
#' @return The function will generate assignment files for students and
180185
#' solution keys for instructors.
@@ -193,15 +198,35 @@ get_example_filepath = function(x) {
193198
#' documents.
194199
#'
195200
#' @examples
201+
#' # Obtain an example file
196202
#' hw00_file = get_example_filepath("hw00-main.Rmd")
197203
#'
198204
#' if(interactive()) {
199205
#' file.show(hw00_file)
200206
#' }
201207
#'
208+
#' # Generate both PDF and HTML outputs for assign and solution.
202209
#' assignr(hw00_file, "test")
210+
#'
211+
#' # Generate only the assignment
212+
#' assignr(hw00_file, "assignment-set", soln_file = FALSE)
213+
#'
214+
#' # Generate only the solution
215+
#' assignr(hw00_file, "solution-set", assign_file = FALSE)
216+
#'
217+
#' # Create only HTML documents for both assignment and solution files.
218+
#' assignr(hw00_file, "test-html", output_format = "html_document")
219+
#'
220+
#' \dontshow{
221+
#' # Clean up generated directories
222+
#' unlink("test", recursive = TRUE)
223+
#' unlink("assignment-set", recursive = TRUE)
224+
#' unlink("solution-set", recursive = TRUE)
225+
#' unlink("test-html", recursive = TRUE)
226+
#' }
203227
assignr = function(file,
204228
output_dir = NULL,
229+
output_format = c("html_document", "pdf_document"),
205230
assign_file = TRUE,
206231
soln_file = TRUE,
207232
zip_files = TRUE,
@@ -262,6 +287,7 @@ assignr = function(file,
262287
name = hw_name,
263288
type = "assign",
264289
output_dir = output_dir,
290+
output_format = output_format,
265291
render_files = render_files,
266292
zip_files = zip_files,
267293
hw_directory = hw_directory,
@@ -276,6 +302,7 @@ assignr = function(file,
276302
name = hw_name,
277303
type = "soln",
278304
output_dir = output_dir,
305+
output_format = output_format,
279306
render_files = render_files,
280307
zip_files = zip_files,
281308
hw_directory = hw_directory,

man/assignr.Rd

Lines changed: 25 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)