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个空格或使用```或`...
我也知道如何使用文本
临时解决方案:
他们独立工作正常,但并不像预期或期望的那样.我尝试了上面提到的几种组合.
现在,我用这个:
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
实用程序为您生成差异.
Z. *_*lah 21
经过多次尝试,我终于成功了!归结起来是这样的:
```
,不渲染任何内容(除了指定语言的语法突出显示之外)<code>
,markdown 不会呈现,只会呈现 HTML。您可以使用<strike>
。很好,但是你没有得到语法着色<strike>
```language
this is
multiline code
```
</strike>
Run Code Online (Sandbox Code Playgroud)
PS```
块应始终被空行包围才能工作
扩展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)