@@ -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+ # ' }
203227assignr = 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 ,
0 commit comments