@@ -50,6 +50,7 @@ generate_hw_pkg = function(x,
50
50
name ,
51
51
type ,
52
52
output_dir = paste0(name , " -" , type ),
53
+ output_format = c(" html_document" , " pdf_document" ),
53
54
render_files = TRUE ,
54
55
zip_files = TRUE ,
55
56
hw_directory = ' ' ,
@@ -99,7 +100,7 @@ generate_hw_pkg = function(x,
99
100
rmd_material_name ,
100
101
encoding = " UTF-8" ,
101
102
envir = new.env(),
102
- output_format = c( " html_document " , " pdf_document " ) ,
103
+ output_format = output_format ,
103
104
quiet = TRUE
104
105
)
105
106
}
@@ -167,14 +168,18 @@ get_example_filepath = function(x) {
167
168
# ' Transforms an RMarkdown file into two separate files: `filename-assign`
168
169
# ' and `filename-solutions`
169
170
# '
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`.
178
183
# ' @export
179
184
# ' @return The function will generate assignment files for students and
180
185
# ' solution keys for instructors.
@@ -193,15 +198,35 @@ get_example_filepath = function(x) {
193
198
# ' documents.
194
199
# '
195
200
# ' @examples
201
+ # ' # Obtain an example file
196
202
# ' hw00_file = get_example_filepath("hw00-main.Rmd")
197
203
# '
198
204
# ' if(interactive()) {
199
205
# ' file.show(hw00_file)
200
206
# ' }
201
207
# '
208
+ # ' # Generate both PDF and HTML outputs for assign and solution.
202
209
# ' 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
+ # ' }
203
227
assignr = function (file ,
204
228
output_dir = NULL ,
229
+ output_format = c(" html_document" , " pdf_document" ),
205
230
assign_file = TRUE ,
206
231
soln_file = TRUE ,
207
232
zip_files = TRUE ,
@@ -262,6 +287,7 @@ assignr = function(file,
262
287
name = hw_name ,
263
288
type = " assign" ,
264
289
output_dir = output_dir ,
290
+ output_format = output_format ,
265
291
render_files = render_files ,
266
292
zip_files = zip_files ,
267
293
hw_directory = hw_directory ,
@@ -276,6 +302,7 @@ assignr = function(file,
276
302
name = hw_name ,
277
303
type = " soln" ,
278
304
output_dir = output_dir ,
305
+ output_format = output_format ,
279
306
render_files = render_files ,
280
307
zip_files = zip_files ,
281
308
hw_directory = hw_directory ,
0 commit comments