Markdown中表格行内的代码块

DMH*_*DMH 38 markdown github-flavored-markdown

我在Github风味的Markdown中整理了一些文档,我想把一个有两行的表放在一起.一个只有文本,一个带有json代码块.这是一个例子.

| Status | Response  |
|---|---|
| 200 |  |
| 400 |   |
Run Code Online (Sandbox Code Playgroud)

我想在响应行中获取此代码,但是当我尝试完全中断时.

json
  {
    "id": 10,
    "username": "alanpartridge",
    "email": "alan@alan.com",
    "password_hash": "$2a$10$uhUIUmVWVnrBWx9rrDWhS.CPCWCZsyqqa8./whhfzBZydX7yvahHS",
    "password_salt": "$2a$10$uhUIUmVWVnrBWx9rrDWhS.",
    "created_at": "2015-02-14T20:45:26.433Z",
    "updated_at": "2015-02-14T20:45:26.540Z"
}
Run Code Online (Sandbox Code Playgroud)

我是Markdown的新手,如果有人能指出我正确的方向,我将非常感激.

pal*_*asb 25

正如其他人指出的那样,您必须使用 HTML<table>标签来创建表格。但是,可以仅使用 Markdown 来格式化表格单元格的内容

如果您在 HTML 标签周围留下额外的空行,则HTML 块中的 Markdown 语法有效:一个在 the 之后<td>,一个在 the 之前,</td>否则内部的 Markdown 将不会被解析!这将创建一个新<p>段落,其中在表格单元格内重新启用 Markdown 解析。

<table>
<tr>
<td> Status </td> <td> Response </td>
</tr>
<tr>
<td> 200 </td>
<td>

^ Extra blank line above!
```json
json
{
    "id": 10,
    "username": "alanpartridge",
    "email": "alan@alan.com",
    "password_hash": "$2a$10$uhUIUmVWVnrBWx9rrDWhS.CPCWCZsyqqa8./whhfzBZydX7yvahHS",
    "password_salt": "$2a$10$uhUIUmVWVnrBWx9rrDWhS.",
    "created_at": "2015-02-14T20:45:26.433Z",
    "updated_at": "2015-02-14T20:45:26.540Z"
}
```
V Extra blank line below!

</td>
</tr>
<tr>
<td> 400 </td>
<td>

**Markdown** _here_. (Blank lines needed before and after!)

</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)

在 GitHub 上使用上述代码创建的表的预览图像

(如果你想修复“400”和“Markdown here”之间错误的垂直对齐,也可以在“400”周围添加空行,这也会将其包裹在 a<p>中。)


小智 19

github markdown doc声明您可以在表格单元格中包含内联/跨度降价标记.除了少数试图建立对表格布局的更多控制之外,对于大多数降价标记都是如此.

您可以使用内联代码元素,但不会使用语法着色或行缩进格式化.

| Status | Response  |
| ------ | --------- |
| 200    | `json`                          |
|        | `   {`                          |
|        | ` "id": 10,`                    |
|        | ` "username": "alanpartridge",` |
|        | ` more code...`                 |
|        | `}`                             |
| 400    |                                 |
Run Code Online (Sandbox Code Playgroud)

或者,使用html以老式方式创建表格,这样可以rowspan更好地进行布局控制.

  • 这实际上渲染得不太好。 (9认同)
  • 如果使用旧式html,则不需要rowspan.浏览器会做正确的事情.只需将代码嵌入<pre>标签即可.(您没有获得特定于MD语言的代码语法突出显示) (5认同)

Min*_*mal 12

Github风格的Markdown支持HTML标签

简单地说(StackOverflow将不支持)-

<table>
<tr>
<th>
Status
</th>
<th>
Response
</th>
</tr>

<tr>

<td>
<pre>
<br/><br/><br/>200<br/><br/><br/><br/><br/>400<br/>
</pre>
</td>

<td>
<pre>
json
  {
    "id": 10,
    "username": "alanpartridge",
    "email": "alan@alan.com",
    "password_hash": "$2a$10$uhUIUmVWVnrBWx9rrDWhS.CPCWCZsyqqa8./whhfzBZydX7yvahHS",
    "password_salt": "$2a$10$uhUIUmVWVnrBWx9rrDWhS.",
    "created_at": "2015-02-14T20:45:26.433Z",
    "updated_at": "2015-02-14T20:45:26.540Z"
}
</pre>
</td>

</tr>
</table>
Run Code Online (Sandbox Code Playgroud)

输出:

github markdown表代码


您也可以尝试这样的基于文本的表格(适用于StackOverflow)-

+---------------+--------+---------+
|       \       | Rating | Comment |
+---------------+--------+---------+
| One Piece     |  A | B |       ? |
+---------------+----+---+---------+
| Naruto        |  A | C |       ? |
+---------------+----+---+---------+
| One Punch Man |  A | A |       ? |
+---------------+----+---+---------+
| Death Note    |  A | B |       ? |
+---------------+----+---+---------+
Run Code Online (Sandbox Code Playgroud)

文本表生成器是用于此目的的绝佳站点。

  • 但是为什么反引号```在基于文本的表中不起作用? (2认同)

fan*_*eqi 12

这个可能更好:

| Status | Response  |
| ------ | --------- |
| 200    |<pre lang="json">{<br>  "id": 10,<br>  "username": "alanpartridge",<br>  "email": "alan@alan.com",<br>  "password_hash": "$2a$10$uhUIUmVWVnrBWx9rrDWhS.CPCWCZsyqqa8./whhfzBZydX7yvahHS",<br>  "password_salt": "$2a$10$uhUIUmVWVnrBWx9rrDWhS.",<br>  "created_at": "2015-02-14T20:45:26.433Z",<br>  "updated_at": "2015-02-14T20:45:26.540Z"<br>}</pre>|
| 400    |<code>{<br>  "code": 400,<br>  "msg": balabala"<br>}</code>|
Run Code Online (Sandbox Code Playgroud)

两者都需要的<br>,就看你喜欢了<pre>还是<code>。

  • 似乎将“lang=”属性添加到“&lt;pre&gt;”标签会导致嵌套的“&lt;br&gt;”标签不再在 GitHub Flavored Markdown 中工作。但是,您可以解决这个问题,并通过将“&lt;br&gt;”标记替换为换行符的 HTML 转义字符(“&#13;”)来获得具有工作语法突出显示的多行代码块。 (3认同)
  • 了解 `&lt;pre&gt;` 标签上的 `lang="json"` 属性非常有用。 (2认同)
  • “&lt;br&gt;”标签在“pre”和“code”标签内不起作用! (2认同)
  • `lang="json"` 部分解决了我想要语法突出显示表格单元格内的代码片段的问题! (2认同)