Markdown support for canvas

(22)

Markdown

Markdown is a plain text format for writing content using a simple markup language. It is in widespread use and features prominently on sites related to research, math, and coding. It is, for instance, the default markup language for Stack Exchange and GitHub. You can read a brief (and the original) introduction to markdown here. It would be a great addition to canvas is would be appreciated by everyone who teaches in topics related to math and computer science.

 

Flavors

There are several so called flavors of markdown, which feature support for code blocks and math. One of these, such as Pandoc or CommonMark should be used.

 

Demo

Please see this demo for a live demo of how text written in markdown is translated into HTML.

 

MathJax

As an extension for markdown, support for MathJax should also be added. There is already an idea for using mathjax instead of the current math editor: https://community.canvaslms.com/ideas/12274-make-math-equation-editor-accessible. This and that idea should do well to be implemented in parallel.

 

Possible implementation

In addition to having a button for the HTML editor, include a markdown editor as an alternative editor. In a basic implementation, the text in this editor would be processed by a script/executable (such as pandoc or commonmark) on the server side once the user switches to the HTML tab or previews the page.

 

Text translated from markdown is translated into standard HTML. In fact, my current workflow right now is to simply write in markdown, convert it using pandoc to HTML, and then copy from a preview in my browser into the canvas editor. This works (surprisingly) well for everything except math and code highlighting. This means that there is already basic support in canvas for viewing output produced by markdown. In a first implementation, the only necessary step would be to include a simple editor and a script that can translate code into HTML.

 

Previous ideas

There has been several previous ideas (put in cold storage now) calling for support for markdown, such as

https://community.canvaslms.com/ideas/4835?sr=search&searchId=27ae75f0-9b33-4920-be7f-7a54f687e4c2&s... 

https://community.canvaslms.com/ideas/11707?sr=search&searchId=27ae75f0-9b33-4920-be7f-7a54f687e4c2&... 

https://community.canvaslms.com/ideas/12851?sr=search&searchId=27ae75f0-9b33-4920-be7f-7a54f687e4c2&... 

https://community.canvaslms.com/ideas/10784?sr=search&searchId=27ae75f0-9b33-4920-be7f-7a54f687e4c2&... 

23 Comments
wyelearning
Community Participant

The editor doesn't require any personal user details to be sent across to it, so your institution may be happy adding it.

Angela_J
Community Member

Searching the web today to see if this was possible. Chiming in to say please support markdown in canvas! You will be saving this ID a lot of design time. Thanks!

KristinL
Community Team
Community Team
Status changed to: Archived

Thank you for sharing this idea with the Instructure Community!

The Product Team reviewed all feature proposals recently, and unfortunately, this thread was identified as one that they would not be able to include in their current or future plans. While we appreciate your proposal, we also want to be transparent about the likelihood of something like this making it to production.

Thank you for collaborating, and we hope that you submit another idea in the future!