Note
We're working on getting a processed .qmd
file placed into the output directory.
Quarto extension for designing homework assignments and solutions in a single document.
This is the modernization of the assignr
R package.
You can install the extension and receive a preset project by typing into Terminal:
quarto use template coatless-quarto/assign
This will install the extension under the _extensions
subdirectory.
If you're using version control, you will want to check in this directory.
To activate the extension, add the assign
filter to the assignment's .qmd
file header
or to the filter list for the quarto project (e.g. in _quarto.yml
):
title: "Assignment 1"
filters:
- assign
The extension takes a single document and creates three different outputs:
assign/
: Student facing assignment details.solution/
: Solutions without any directions.rubric/
(Optional): Solutions alongside of grading criteria
To achieve this feat, the extension uses custom class names and hides content depending on the Quarto profile being displayed. We current recognize the following custom class names:
.direction
: shown in the assignment, but not the solution or rubric documents..sol
: shown in the solution and rubric documents..rubric
: shown only in the rubric version of the solutions.
In a Quarto document, this would look like:
This text will appear across all versions of the document
:::{.direction}
Only display the directions content in the assignment document
:::
:::{.sol}
Only display the answer in the solution or rubric documents
:::
:::{.rubric}
Only display the grading notes in the rubric document.
:::
Important
When authoring documents, there is no need to use all custom classes or profiles. At any time you can omit using a class or profile if it is not required by your usage scenario.
For an example of each custom class, please see the template.qmd file for a demo assignment.
You can render documents under the desired profile by typing into Terminal:
quarto render --profile assign
quarto render --profile solution
quarto render --profile rubric
Note
We've inquiried about allowing for project profile options to be selected under the Render button in RStudio, but our issue went unanswered and was marked as stale. We've just filed a request for Quarto's VS Code extension.
Please note, you must have the necessary Quarto project profile present to correctly receive output in the relevant directories, e.g.
_quarto-assign.yml
project:
output-dir: assign
_quarto-solution.yml
project:
output-dir: solution
_quarto-rubric.yml
project:
output-dir: rubric
You can specify a default profile like assign
to run by adding into the main _quarto.yml
:
profile:
default: assign