{"id":24823369,"url":"https://github.com/theusaf/canvas-markdown","last_synced_at":"2025-10-13T22:31:31.584Z","repository":{"id":137280340,"uuid":"589058197","full_name":"theusaf/canvas-markdown","owner":"theusaf","description":"A userscript that enables markdown to be used on canvas lms text inputs.","archived":false,"fork":false,"pushed_at":"2024-01-27T04:28:11.000Z","size":1079,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-01-27T07:34:54.588Z","etag":null,"topics":["canvas-lms","canvaslms","markdown","markdown-editor","markdown-to-html","user-script","user-scripts","userscript"],"latest_commit_sha":null,"homepage":"https://greasyfork.org/en/scripts/458457-canvas-markdown","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/theusaf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-01-14T23:04:39.000Z","updated_at":"2024-01-26T23:57:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"942c2d72-5e61-4e11-8769-17a73b77b133","html_url":"https://github.com/theusaf/canvas-markdown","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theusaf%2Fcanvas-markdown","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theusaf%2Fcanvas-markdown/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theusaf%2Fcanvas-markdown/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theusaf%2Fcanvas-markdown/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theusaf","download_url":"https://codeload.github.com/theusaf/canvas-markdown/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236414780,"owners_count":19145077,"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":["canvas-lms","canvaslms","markdown","markdown-editor","markdown-to-html","user-script","user-scripts","userscript"],"created_at":"2025-01-30T19:58:06.375Z","updated_at":"2025-10-13T22:31:26.175Z","avatar_url":"https://github.com/theusaf.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Canvas Markdown\n\nThis userscript allows you to write your Canvas assignments and pages in Markdown.\n\n## Installation\n\nTo install this user script, you will need a userscript manager, such as [Tampermonkey](https://www.tampermonkey.net/).\n\n- You can install this script from [Greasy Fork](https://greasyfork.org/en/scripts/458457-canvas-markdown).\n- You can also install this directly from [GitHub](https://github.com/theusaf/canvas-markdown/raw/main/src/index.user.js).\n\n## Usage\n\nWhenever a Canvas text field is detected, a couple of buttons will be placed next to the HTML editor button.\n\nClicking on the Markdown button (M🠗) will open the Markdown editor. Click it again to close the editor.\n\nThe editor has two modes: Pretty and raw.\n\n- Pretty mode uses CodeMirror to provide syntax highlighting and line numbers. However, it disables spellcheck and auto-complete.\n- Raw mode is a plain text area with spellcheck and auto-complete enabled.\n\nThere is also a settings button (M⚙) that allows you to customize the styles of certain elements in the output. These settings are saved in your browser's local storage.\n\nYou can also download the settings as a JSON file and upload them again on another device or browser.\n\n## Features\n\n- Markdown editor (duh)\n- Syntax highlighting\n- Code blocks (with syntax highlighting for many languages)\n- Customizable styles\n\n## Things to Note\n\nThis user script stores the Markdown source embedded in the HTML value for the assignment as a comment.\nChanges made to the assignment in the Canvas UI will not be reflected in the Markdown source.\nSwitching back to the Markdown editor will overwrite the HTML value with the Markdown source.\n\n## Dependencies\n\nThis user script relies on third-party libraries to function. These libraries are imported during runtime from the following sources: (See the `/lib` directory for more information)\n\n- [showdown.js](https://cdn.jsdelivr.net/npm/showdown@2.1.0/dist/showdown.min.js)\n- [showdown-katex](https://cdn.jsdelivr.net/npm/showdown-katex@0.8.0/dist/showdown-katex.min.js)\n- [codemirror](https://cdn.jsdelivr.net/gh/theusaf/canvas-markdown/lib/codemirror/codemirror.js)\n- [highlight.js](https://cdn.jsdelivr.net/gh/theusaf/canvas-markdown/lib/highlight/es/highlight.js)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheusaf%2Fcanvas-markdown","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheusaf%2Fcanvas-markdown","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheusaf%2Fcanvas-markdown/lists"}