删除github上的markdown代码

问题描述 投票:17回答:3

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

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

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

this is
multiline code

and this

this

also

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

我也知道怎么做 通过文本罢工 运用

  • 的标签
  • 一天
  • ~~

临时解决方案:

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

现在,我用这个:

striked

through

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

需求:

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

unfortunately, this is
not striked through

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

unfortunately, also not striked through

这有可能吗?

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

github markdown github-flavored-markdown strikethrough
3个回答
20
投票

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

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实用程序为您生成差异。


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>

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

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

© www.soinside.com 2019 - 2024. All rights reserved.