删除github上的markdown代码

roc*_*ady 18 markdown github strikethrough github-flavored-markdown

我在这里谈论github markdown,对于像这样的文件README.md.

问题: 是否有可能在github上的markdown中删除完整的代码块?

我知道如何将文本标记为代码块

this is
multiline code
Run Code Online (Sandbox Code Playgroud)

and this

this

also

通过缩进4个空格或使用```或`...

我也知道如何使用文本

  • del tag
  • s标签
  • ~~

临时解决方案:

他们独立工作正常,但并不像预期或期望的那样.我尝试了上面提到的几种组合.

现在,我用这个:

striked

through

通过使用~~和`为每一行.

要求:

我希望有一个代码格式化的文本,其中代码块是连续的:

unfortunately, this is
not striked through
Run Code Online (Sandbox Code Playgroud)

或至少在两者之间只有一小段:

unfortunately, also not striked through

这有可能吗?

我发现了一些关于使用jekyll的旧帖子和提示,但我正在寻找的是一种简单的方法,最好是降价.

Way*_*lan 22

这只适用于GitHub不允许的原始HTML.但是你可以使用diff来代替.

代码块仅用于"预格式化"文本.您可以在代码块中获得的唯一格式是可以用纯文本表示的格式(缩进,大小写等).没有用于标记代码块内容的机制(粗体,斜体,受损,下划线等).这是一个有意的设计决定.否则,您将如何在代码块中显示Markdown文本?如果您想要格式化文本,那么您需要使用除代码块之外的其他内容.

正如规则所述:

HTML是一种发布格式; Markdown是一种写作形式.因此,Markdown的格式化语法仅解决可以用纯文本传达的问题.

对于Markdown语法未涵盖的任何标记,您只需使用HTML本身.

因此,您需要格式化自己的自定义HTML代码块,并正确标记各个位:

<pre><code><del>some stricken code</del>
<del>A second line of stricken code</del>
</pre></code>
Run Code Online (Sandbox Code Playgroud)

但是,出于安全原因,GitHub将在您的Markdown中删除任何此类原始HTML.因此,虽然这可以完全控制整个堆栈,但在托管服务上很可能无法实现.

但是,我假设您要显示对代码块进行的一些更改.事实证明,已经存在一种特定的格式.即差异.只需使用带隔离的代码块diff作为语言,GitHub将正确格式化:

```diff
  Unchanged Line
- Removed Line
+ Added Line
```
Run Code Online (Sandbox Code Playgroud)

你可以看到GitHub上如何显示上面的代码块现场(你也可以看到,在原料),但我将为了方便下面的屏幕截图.

在此输入图像描述

我意识到格式化不使用删除,但确实使用了常用和理解的格式.对于更复杂的块,您应该使用diff实用程序为您生成差异.

  • diff 块很好,但没有意识到这一点。 (4认同)
  • 你猜对了,我打算展示差异。尽管如此,这很好地回答了这个问题。谢谢! (3认同)

Z. *_*lah 21

经过多次尝试,我终于成功了!归结起来是这样的:

  • 在块内```,不渲染任何内容(除了指定语言的语法突出显示之外)
  • 在块内<code>,markdown 不会呈现,只会呈现 HTML。您可以使用<strike>。很好,但是你没有得到语法着色
  • 现在来看看魔术:使用 HTML 进行醒目,使用 Markdown 进行着色:
<strike>

```language
  this is
  multiline code
```

</strike>
Run Code Online (Sandbox Code Playgroud)

PS```块应始终被空行包围才能工作

  • 我接受了这个答案,因为它对于问题的内容来说是正确的。我使用“grip”对其进行了测试,它显示正确,它在您的要点中的显示方式也是如此。 (2认同)
  • 这对我在 GitHub 中删除常规文本很有用。谢谢! (2认同)

Jas*_*pen 6

扩展Waylan的答案:

这对其他人来说可能是显而易见的,但它抓住了我.如果有缩进行,请确保+或是行-上的第一个字符,否则它不会突出显示.

diff

<div>
  Unchanged Line
  <ul>
    - <li>This won't work</li>
-    <li>This will</li>
+    <li>1st character, then indent</li>
  </ul>
</div>
Run Code Online (Sandbox Code Playgroud)