如何在3-backticks代码块中转义3-backticks代码块?

时间:2018-03-14 00:04:41

标签: markdown

我试图在3-backticks代码块中放置3-backticks代码块(```)。 但我无法得到正确的结果。

如何在3-backticks代码块中转义?

原始降价文件:

map = %{
  nested: %{
    keys: 5
  }
}

put_in(map, [:nested, :keys], 10)
=> %{nested: %{keys: 10}}

预期结果:

Markdown示例

# Markdown example

```
here is an example code.

```
// this area is nested 3-backticks code block.
const hello = "hello";
```

```

2 个答案:

答案 0 :(得分:10)

根据您使用的实施方式,可能有一些选项可供选择。

使用三个以上的反对。

围栏代码块的规则并不严格要求使用三个反引号。相反,它是三个或更多。重要的是开启和关闭的分隔符每个都包含相同数量的反引号。分隔符之间的任何反引号集可能包含不同数量的反引号(通常较少,因为某些实现是错误的)。像这样:

# Markdown example

````
here is an example code.

```
// this area is nested 3-backticks code block.
const hello = "hello";
```

````

请注意,开始和结束分隔符每个都包含四个反引号,而代码块中的三个反引号字符串将被保留。

使用tildes

屏蔽代码块最初设计为使用波浪线(~)而不是反引号。前几个实现仅支持使用三个或更多个波浪号作为分隔符。不久之后,GitHub引入了带反引号的带围栏的代码块。在提交错误报告后,他们添加了波浪形支持,现在大多数支持代码块的实现都支持这两个字符。同样,关键是打开和关闭分隔符使用相同的字符序列。像这样:

# Markdown example

~~~
here is an example code.

```
// this area is nested 3-backticks code block.
const hello = "hello";
```

~~~

请注意,受防护的代码块使用三个波浪号(~~~),同时保留三个反引号的嵌套块。

转义可能无效。

有些人会首先尝试使用字符转义(反斜杠在转义字符之前)。但是,通常在代码块中忽略转义。否则,您将如何演示如何在代码块中进行转义。当然,不同的实现可能会对这些细节中的某些细节采取不同的行动,因此YMMV。

答案 1 :(得分:1)

你试过了吗?

# Markdown example

```
here is an example code.

\`\`\`
// this area is nested 3-backticks code block.
const hello = "hello";
\`\`\`

```