有没有办法在Markdown中将代码(在```内)与剧透(在!>后面的语法)组合起来,以便获得一些位于剧透中的代码?
我正在使用GitLab实现的Markdown。
我正在使用GitLab实现的Markdown。
https://docs.gitlab.com/ee/user/markdown.html#details-and-summary
你可以使用原始的HTML
<p>
<details>
<summary>Click this to collapse/fold.</summary>
These details <em>remain</em> <strong>hidden</strong> until expanded.
<pre><code>PASTE LOGS HERE</code></pre>
</details>
</p>
现在GitLab支持<details>
块中的Markdown语法
<details>
<summary>Click this to collapse/fold.</summary>
These details _remain_ **hidden** until expanded.
```
PASTE LOGS HERE
```
</details>
code
标签上使用 lang
属性来触发语法高亮。 - Denis Chevalier<details>
<summary>Click to expand</summary>
Whatever
</details>
在code
标签内使用lang
属性(如@Denis Chevalier在此处所述)。
<details>
<summary>Initial draft</summary>
<pre><code lang="python">
YOUR CODE
</code></pre>
</details>
注意在代码围栏(三个反引号)前的空格(如@validname在这里所指出的那样)。
<details>
<summary>Initial draft</summary>
```python
YOUR CODE
\``` <- remove backslash: StackOverflow markdown parsing is broken
</details>
!>
之后)。此外,“spoiler”语法不是“官方”语法(就像@Chris所指出的围栏代码块一样),也不是很常见。就我个人而言,我不知道任何特定的Markdown实现支持它。话虽如此,据我所知,这种语法基本上是引用语法的扩展。因此,如果您使用的实现支持剧透,那么对于引用块起作用的任何内容都应该适用于剧透。
另一个需要注意的问题是,并非所有的Markdown实现都支持围栏代码块,而且并不是所有支持它们的实现都支持它们同等地支持。例如,一些最早的实现不支持围栏代码块被嵌套。因此,根据您使用的Markdown实现的不同,您可能会得到不同的结果(我不知道GitLab使用哪种实现)。这就是使用非标准功能时所付出的代价。
无论如何,假设您使用的实现具有完全支持,以下内容应该可以正常工作:
!> ```javascript
!> alert("42");
!> ```