【问题标题】:strikethrough code in markdown on githubgithub上markdown中的删除线代码
【发布时间】:2017-05-14 16:21:48
【问题描述】:

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

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

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

this is
multiline code

and this

this

also

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

我也知道如何使用

删除文本
  • 删除标签
  • s 标签
  • ~~

临时解决方案

它们独立地工作正常,但协同工作不如预期或期望的那样。我尝试了上述几种组合。

现在,我使用这个:

striked

through

对每一行使用 ~~ 和 `。

要求

我想要一个代码格式的文本,其中代码块是连续的:

unfortunately, this is
not striked through

或者至少中间只有一小段:

unfortunately, also not striked through

这可能吗?

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

【问题讨论】:

    标签: github markdown github-flavored-markdown strikethrough


    【解决方案1】:

    这只有在 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 中看到),但为方便起见,我在下面附上了屏幕截图。

    我知道该格式不使用删除线,但它确实使用了一种常用且易于理解的格式。对于更复杂的块,您可能应该使用diff 实用程序为您生成差异。

    【讨论】:

    • 你猜对了,我打算展示差异。因此,尽管如此,这很好地回答了这个问题。谢谢!
    • 不错的差异块,不知道它。
    【解决方案2】:

    扩展至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>
    ```
    

    【讨论】:

      【解决方案3】:

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

      &lt;code&gt;id\_pn\_aside\_subscriber\_form\__form\_id_&lt;/code&gt;

      (您可以在 https://github.com/devonostendorf/post-notif#how-do-you-use-the-stylesheet_filename-attribute-with-the-shortcode 上看到这一点)

      我很难找到与这个精确用例匹配的示例,所以我希望这对尝试实现类似效果的其他人有用。

      【讨论】:

      • 有一个reason we require 50 rep points before allowing comments,为什么滥用答案权限的人可能会删除他们的“cmets”。但不要绝望 - 检查我在其他评论中所做的编辑,使其成为答案。您的评论也可能是一个答案 - 如果是这样,edit 它。如果是对上一个答案的反驳,那么它不属于一个答案,应该被删除。
      猜你喜欢
      • 2017-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多