【问题标题】:how to reference code in Markdown?如何在 Markdown 中引用代码?
【发布时间】:2015-01-26 03:54:33
【问题描述】:

我写markdown文件主要是为了我的jekyll博客,所以液体的方法还可以

在 Markdown 中插入原始 HTML 代码时。整个 markdown 代码页看起来既丑陋又混乱。而且几天后就很难修改了。

所以我可以让一些代码成为引用样式吗?更具体地说,将原始 HTML 代码放在 Markdown 代码页的底部,并在原始段落中使用 [...]。就像链接和图片引用语法一样。

这里是原始代码

  • 第 1 段
  • 第 2 段

  • 第 3 段

我想做的就在这里

  • 第 1 段
  • 第 2 段

[简要参考代码]

  • 第 3 段

【问题讨论】:

  • 您将如何引用代码?无需参考代码。 Markdown Docs
  • “内联 HTML”是指转义的 HTML,它被呈现为实体,还是指用于修改文本结构的原始 HTML?
  • @Dai 是的,你说得对,我的意思是我想修改文本的结构并区分原始 HTML 和降价代码。
  • 为什么不使用编辑器并将所有 HTML 代码缩进 4 个空格,然后再将其插入到 markdown 文件中,就像它在代码块中呈现的方式一样
  • 这是个好办法,但我想做得更好。我的想法可以使文本的结构清晰。

标签: css html markdown jekyll


【解决方案1】:

Markdown 无法引用除链接以外的内容:

- item 1
- item 2
- [boring_link]
- para3

[boring_link]: https://boring.com/link.html "description of boring link"

使用 Jekyll,您可以使用 Liquid 的 capture 标签(甚至在 .md 文件中):

{% capture reference %}
… any html content …
{% endcapture %}
…
{{ reference }}

但这只有在您首先捕获您的内容时才有效。

恐怕不可能完全按照您的意愿去做;但根据您的实际 HTML 内容,应该有多种选择。

【讨论】:

  • 谢谢,您回答了我的问题,它确实有效。你能提供更多的方法来解决这个问题吗?
  • 好吧,我想到的第三个是使用您已经提到的{% include %}。您能详细说明您要使用的 HTML 标记吗?
  • 现在我发现了两个问题。首先是如果你使用 {% capture reference %} 那么你必须将 {% capture reference %} 参考 HTML 代码 {% endcapture%} 放在** {reference}** 之前。它很丑。现在我通常把捕获放在第一位。其次,如果我使用 {include},我应该将 HTML 文件放入 _include 文件夹,这让我在 Jekyll 站点的参考 HTML 和其他包之间混淆。
  • Mardown 是为简单而设计的,这意味着内容不会出现在代码中的其他地方。如果您能提供更多详细信息,我很乐意提出替代解决方案。
  • 您在问题中给出的示例实际上已经解决了。我更新了我的答案以包含您给出的完全相同的示例。如果您要引用链接以外的任何内容,则应重新表述您的问题。
【解决方案2】:

Jekyll 具有用于显示代码的内置语法高亮显示,不仅可以确保代码正确呈现(即包装在 <pre><code> 元素中),还可以添加特定于语言的样式。

html 高亮可以使用{% highlight html %},例如:

{% highlight html %}
    <div class="alert alert-success" role="alert">
    <strong>Boom!</strong> I'm a code example.
    </div>
{% endhighlight %}

【讨论】:

  • 感谢您的回答。当然它会让代码变得漂亮。但是,我想做的有点像{% include %} 做了什么
  • 抱歉信息不足,我已经为我的问题添加了一个简单的示例,现在您可能知道我想做什么了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-07
相关资源
最近更新 更多