Code in MarkDown
How to properly put code in MarkDown-based systems, such as Discord, Matrix, Blender Chat, and various forums.
Many systems like Discord, Matrix, Blender Chat, Stack Exchange, Discourse, Slack, etc. use MarkDown for their markup. In short, this allows you to share snippets of code with each other. The thing that makes this worth writing about, is that natural text should behave differently from code. Natural text can be rewrapped to comfortably match the device you’re reading it on. With code, however, this should not be done, as it makes it horrible to read.
The solution is that you have to mark blocks of code with triple backticks. On many keyboards this is one of the left-most keys, left of the 1, under the Escape key. This is what it looks like:
```
def function():
print("This is just some code")
```
The above will look like this:
def function():
print("This is just some code")
If you want to get syntax highlighting as well, be sure to type the language name directly after the opening backticks, like this:
```python
def function():
print("This is just some code")
```
def function():
print("This is just some code")
This is not always supported by all MarkDown systems, though. For example,
Phabricator, Blender’s previous bug tracker, used lang=python
as marker,
instead of just python
.
Gitea, Blender’s current bug tracker
works just fine with the python
marker, and also supports cpp
for C++,
diff
for diffs, and many more.