带有 markdown 的剧透中的代码块
Code block in spoiler with markdown
markdown 中是否有任何方法可以将代码(在 ``` 内)与剧透(在 !> 之后)语法结合起来以获得剧透中的一些代码?
我正在使用 GitLab 中实现的降价。
正如@Chris 在评论中提到的那样,GitLab Flavored Markdown 似乎没有提及任何关于支持 "spoiler" 语法的内容(在 !>
之后)。此外, "spoiler" 语法不是 "official" 语法(正如@Chris 指出的那样,也不是围栏代码块)并且不是很常见。就个人而言,我不知道有任何支持它的特定 Markdown 实现。也就是说,据我了解语法,它基本上是 blockquote 语法的扩展。因此,如果您使用的实现支持剧透,那么任何适用于块引用的内容都应该适用于剧透。
另一个需要注意的问题是,并非所有 Markdown 实现都支持 Fenced 代码块,而且并非所有实现都同等支持它们。例如,一些最早的实现不支持嵌套的 fenced 代码块。因此,根据您使用的 Markdown 实现,您可能会得到不同的结果(我不知道 GitLab 使用的是哪种实现)。这是您使用非标准功能所付出的代价。
无论如何,假设您正在使用的实现得到完全支持,以下可能会起作用:
!> ```javascript
!> alert("42");
!> ```
请注意,我像往常一样编写代码块。然后我简单地在每行的开头插入三个字符(感叹号、大于符号和一个 space)。如果这不起作用,那么一个安全的假设是该实现不支持所需的一个或多个非标准功能。
以下应该可以解决问题:
<details>
<summary>Click to expand</summary>
Whatever
</details>
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>
对于包含在剧透中的代码块内的语法高亮显示,这两种方法适用于 GitLab 企业版 14.3.4-ee:
HTML-仅
在 code
标签内使用 lang
(如@Denis Chevalier 所述 )
<details>
<summary>Initial draft</summary>
<pre><code lang="python">
YOUR CODE
</code></pre>
</details>
Markdown 代码围栏
注意代码围栏前的空格(三重反引号)(如@validname 所述)
<details>
<summary>Initial draft</summary>
```python
YOUR CODE
\``` <- remove backslash: Whosebug markdown parsing is broken
</details>
markdown 中是否有任何方法可以将代码(在 ``` 内)与剧透(在 !> 之后)语法结合起来以获得剧透中的一些代码?
我正在使用 GitLab 中实现的降价。
正如@Chris 在评论中提到的那样,GitLab Flavored Markdown 似乎没有提及任何关于支持 "spoiler" 语法的内容(在 !>
之后)。此外, "spoiler" 语法不是 "official" 语法(正如@Chris 指出的那样,也不是围栏代码块)并且不是很常见。就个人而言,我不知道有任何支持它的特定 Markdown 实现。也就是说,据我了解语法,它基本上是 blockquote 语法的扩展。因此,如果您使用的实现支持剧透,那么任何适用于块引用的内容都应该适用于剧透。
另一个需要注意的问题是,并非所有 Markdown 实现都支持 Fenced 代码块,而且并非所有实现都同等支持它们。例如,一些最早的实现不支持嵌套的 fenced 代码块。因此,根据您使用的 Markdown 实现,您可能会得到不同的结果(我不知道 GitLab 使用的是哪种实现)。这是您使用非标准功能所付出的代价。
无论如何,假设您正在使用的实现得到完全支持,以下可能会起作用:
!> ```javascript
!> alert("42");
!> ```
请注意,我像往常一样编写代码块。然后我简单地在每行的开头插入三个字符(感叹号、大于符号和一个 space)。如果这不起作用,那么一个安全的假设是该实现不支持所需的一个或多个非标准功能。
以下应该可以解决问题:
<details>
<summary>Click to expand</summary>
Whatever
</details>
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>
对于包含在剧透中的代码块内的语法高亮显示,这两种方法适用于 GitLab 企业版 14.3.4-ee:
HTML-仅
在 code
标签内使用 lang
(如@Denis Chevalier 所述
<details>
<summary>Initial draft</summary>
<pre><code lang="python">
YOUR CODE
</code></pre>
</details>
Markdown 代码围栏
注意代码围栏前的空格(三重反引号)(如@validname
<details>
<summary>Initial draft</summary>
```python
YOUR CODE
\``` <- remove backslash: Whosebug markdown parsing is broken
</details>