删除github上的markdown代码

时间:2016-12-30 10:51:34

标签: github markdown github-flavored-markdown strikethrough

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

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

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

this is
multiline code

and this

this

also

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

我也知道如何使用

打击文本
  • del tag
  • s tag
  • ~~

临时解决方案

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

现在,我用这个:

striked

through

使用~~和`为每一行。

要求

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

unfortunately, this is
not striked through

或者至少只有一小段:

unfortunately, also not striked through

这有可能吗?

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

3 个答案:

答案 0 :(得分:20)

这只适用于GitHub不允许的原始HTML。但你可以改为使用差异。

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

作为rules州:

  

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

     

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

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

<pre><code><del>some stricken code</del>
<del>A second line of stricken code</del>
</pre></code>

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

但是,我假设您要显示对代码块进行的一些更改。事实证明,已经存在一种特定的格式。即diff。只需使用带diff语言的受防护代码块作为语言,GitHub就可以正确格式化它:

```diff
  Unchanged Line
- Removed Line
+ Added Line
```

你可以看到GitHub如何显示上面的代码块live(你也可以在raw中看到),但为方便起见,我在下面提供了一个截图。

enter image description here

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

答案 1 :(得分:6)

扩展Waylan's answer

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

diff

<div>
  Unchanged Line
  <ul>
    - <li>This won't work</li>
-    <li>This will</li>
+    <li>1st character, then indent</li>
  </ul>
</div>

答案 2 :(得分:1)

关于标记代码块内容的主题,要在“代码”行的末尾添加斜体字符串,请尝试以下操作:

<code>id\_pn\_aside\_subscriber\_form\__form\_id_</code>

(您可以在https://github.com/devonostendorf/post-notif#how-do-you-use-the-stylesheet_filename-attribute-with-the-shortcode

中查看此操作

我很难找到一个与这个精确用例相匹配的例子,所以我希望这对其他试图达到类似效果的人都有用。