{"id":23150966,"url":"https://github.com/coatless-quarto/assign","last_synced_at":"2025-08-17T19:32:11.771Z","repository":{"id":173249235,"uuid":"650242350","full_name":"coatless-quarto/assign","owner":"coatless-quarto","description":"Quarto extension for improving homework problem designs and implementations through a single document authoring scheme","archived":false,"fork":false,"pushed_at":"2024-08-27T23:18:59.000Z","size":639,"stargazers_count":6,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-14T00:08:19.717Z","etag":null,"topics":["lua","quarto","quarto-extension","teaching"],"latest_commit_sha":null,"homepage":"http://quarto.thecoatlessprofessor.com/assign/","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coatless-quarto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["coatless"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2023-06-06T16:43:08.000Z","updated_at":"2024-09-17T01:09:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"cee56768-26f8-44fc-8723-c19950e7be4d","html_url":"https://github.com/coatless-quarto/assign","commit_stats":null,"previous_names":["coatless/quarto-assign","coatless-quarto/assign"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coatless-quarto%2Fassign","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coatless-quarto%2Fassign/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coatless-quarto%2Fassign/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coatless-quarto%2Fassign/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coatless-quarto","download_url":"https://codeload.github.com/coatless-quarto/assign/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230160637,"owners_count":18182728,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lua","quarto","quarto-extension","teaching"],"created_at":"2024-12-17T18:19:38.282Z","updated_at":"2024-12-17T18:19:39.189Z","avatar_url":"https://github.com/coatless-quarto.png","language":"Lua","funding_links":["https://github.com/sponsors/coatless"],"categories":[],"sub_categories":[],"readme":"\u003e [!NOTE]\n\u003e\n\u003e We're working on getting a processed `.qmd` file placed into the output directory.\n\n# `assign`: Authoring Homework Assignments and Solutions\n\nQuarto extension for designing homework assignments and solutions in a single document.\n\nThis is the modernization of the [`assignr`](https://github.com/r-assist/assignr) _R_ package.\n\n## Installing\n\nYou can install the extension and receive a preset project by typing into *Terminal*: \n\n```bash\nquarto use template coatless-quarto/assign\n```\n\nThis will install the extension under the `_extensions` subdirectory.\nIf you're using version control, you will want to check in this directory.\n\nTo activate the extension, add the `assign` filter to the assignment's `.qmd` file header\nor to the filter list for the quarto project (e.g. in `_quarto.yml`):\n\n```yaml\ntitle: \"Assignment 1\"\nfilters:\n  - assign\n```\n\n## Using\n\nThe extension takes a single document and creates three different outputs:\n\n- `assign/`: Student facing assignment details.\n- `solution/`: Solutions without any directions.\n- `rubric/` (Optional): Solutions alongside of grading criteria\n\nTo achieve this feat, the extension uses custom class names and hides content depending on the [Quarto profile](https://quarto.org/docs/projects/profiles.html) being displayed. We current recognize the following custom class names:\n\n- `.direction`: shown in the assignment, but not the solution or rubric documents.\n- `.sol`: shown in the solution and rubric documents.\n- `.rubric`: shown only in the rubric version of the solutions.\n\nIn a Quarto document, this would look like:\n\n````markdown\n\nThis text will appear across all versions of the document\n\n:::{.direction}\n\nOnly display the directions content in the assignment document\n\n:::\n\n:::{.sol}\n\nOnly display the answer in the solution or rubric documents\n\n:::\n\n\n:::{.rubric}\n\nOnly display the grading notes in the rubric document.\n\n:::\n\n\n````\n\n\u003e [!IMPORTANT]\n\u003e\n\u003e When authoring documents, there is no need to use all custom classes\n\u003e or profiles. At any time you can omit using a class or profile if it \n\u003e is not required by your usage scenario.\n\n\n## Example \n\nFor an example of each custom class, please see the [template.qmd](template.qmd) file for a demo assignment.\n\nYou can render documents under the desired profile by typing into Terminal:\n\n```sh\nquarto render --profile assign\nquarto render --profile solution\nquarto render --profile rubric\n```\n\n\u003e [!NOTE]\n\u003e \n\u003e We've inquiried about allowing for project profile options to be selected under the [Render button in RStudio](https://github.com/rstudio/rstudio/issues/13679), but our issue went unanswered and was marked as stale.\n\u003e We've just filed a request for Quarto's [VS Code extension](https://github.com/quarto-dev/quarto/issues/459).\n\nPlease note, you must have the necessary Quarto project profile present to correctly receive output in the relevant directories, e.g.\n\n`_quarto-assign.yml`\n```sh\nproject:\n  output-dir: assign\n\n```\n\n`_quarto-solution.yml`\n```sh\nproject:\n  output-dir: solution\n\n```\n\n`_quarto-rubric.yml`\n```sh\nproject:\n  output-dir: rubric\n\n```\n\nYou can specify a default profile like `assign` to run by adding into the main `_quarto.yml`:\n\n```sh\nprofile:\n  default: assign\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoatless-quarto%2Fassign","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoatless-quarto%2Fassign","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoatless-quarto%2Fassign/lists"}