2016-12-30 89 views
7

我说的是github markdown这里,对于像README.md这样的文件。github markdown上的删除线代码

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

我知道如何通过4个空格缩进或使用标记文本的代码

this is 
multiline code 

and this

this

also

块```或` ...

我也知道,通过文字如何罢工使用

  • 德尔标签
  • s个标签
  • ~~

临时解决方法

独立,他们工作得很好,但一起没有预期或期望。我尝试了上面提到的几种组合。

现在,我用这个:

striked

through

使用~~和'为每一个行。

要求

我想有一个代码格式化文本删除线通过,在码块是连续的:

unfortunately, this is 
not striked through 

,或者至少仅在它们之间具有小段落:

unfortunately, also not striked through

这可能吗?

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

回答

9

这只适用于GitHub不允许的原始HTML。但是你也许能够使用diff。

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

作为rules状态:

HTML是一种出版格式;减价是格式的格式。因此,Markdown的格式化语法只能解决以纯文本形式传达的问题。

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

因此你需要与各种比特格式化自己的自定义HTML代码块标记正确:

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

然而,出于安全考虑,GitHub的将在你降价剔除任何这种原始的HTML 。因此,尽管这可以在您完全控制整个堆栈的情况下运行,但在托管服务中,这很可能是不可能的。

但是,我假设您想要显示对代码块所做的一些更改。事实证明,这已经存在一个特定的格式。即一个diff。只需使用一个围栏码块以diff的语言和GitHub的将正确格式化:

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

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

enter image description here

我意识到,格式不使用透,但确实使用一种常用的和理解的格式。对于更复杂的块,您应该使用diff实用程序为您生成差异。

+0

你猜对了,我打算表现出不同。所以这是非常好的回答这个问题。谢谢! – rocksteady

5

扩展在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> 
0

在标记了一个代码块的内容的主题,到上线的“代码”的末尾钉斜体字符串,你可以试试:

<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

我很难找到一个匹配这个精确的用例的例子,所以我希望这证明对任何试图完成类似效果的人都有用。

+0

有一个[在允许评论前需要50个代表点的原因](https://meta.stackexchange.com/q/214173/206345),以及为何答案特权的滥用者可能会删除其“评论”。但不要绝望 - 检查我在其他评论中做出的修改,使其成为答案。您的评论也可能是一个答案 - 如果是的话,[编辑]它。如果这是对先前答案的反驳,那么它不属于答案,应该删除。 – Mogsdad