1
0
mirror of synced 2025-12-19 18:10:59 -05:00
Files
docs/content/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks.md
2022-07-21 17:50:14 +01:00

2.8 KiB

title, intro, redirect_from, versions, shortTitle
title intro redirect_from versions shortTitle
Creating and highlighting code blocks Share samples of code with fenced code blocks and enabling syntax highlighting.
/articles/creating-and-highlighting-code-blocks
/github/writing-on-github/creating-and-highlighting-code-blocks
/github/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks
fpt ghes ghae ghec
* * * *
Create code blocks

Fenced code blocks

You can create fenced code blocks by placing triple backticks ``` before and after the code block. We recommend placing a blank line before and after code blocks to make the raw formatting easier to read.

```
function test() {
  console.log("notice the blank line before this function?");
}
```

Rendered fenced code block

{% tip %}

Tip: To preserve your formatting within a list, make sure to indent non-fenced code blocks by eight spaces.

{% endtip %}

To display triple backticks in a fenced code block, wrap them inside quadruple backticks.

````
```
Look! You can see my backticks.
```
````

Rendered fenced code with backticks block

{% data reusables.user-settings.enabling-fixed-width-fonts %}

Syntax highlighting

You can add an optional language identifier to enable syntax highlighting in your fenced code block.

For example, to syntax highlight Ruby code:

```ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```

Rendered code block with Ruby syntax highlighting

We use Linguist to perform language detection and to select third-party grammars for syntax highlighting. You can find out which keywords are valid in the languages YAML file.

{% ifversion mermaid %}

Creating diagrams

You can also use code blocks to create diagrams in Markdown. GitHub supports Mermaid, GeoJSON, TopoJSON, and ASCII STL syntax. For more information, see "Creating diagrams."

{% endif %}

Further reading