【问题标题】:jekyll not linking to internal postsjekyll 没有链接到内部帖子
【发布时间】:2015-07-20 20:11:56
【问题描述】:

刚开始使用 jekyll,我想在 index.html 页面上显示我的一篇文章的链接。我查看了文档,以下代码似乎是我应该做的。

下面是index.html

<p>......</p>
 [Hello World]({% post_url 2015-01-19-soccer %})
<p>........ </p>

但它只是显示

.....
[Hello World]({% post_url 2015-01-19-soccer %})
.......

我做错了什么?

【问题讨论】:

    标签: jekyll


    【解决方案1】:

    由于您混合使用 Markdown 和 HTML,这导致 Markdown 处理器忽略 HTML 块之间的任何内容。

    当您在 Markdown 上方有 HTML 时,有时也不会处理 Markdown。 (您就是这种情况,因为您的示例显示您已关闭 &lt;p&gt; 标记)

    有几种方法可以解决这个问题。

    1. 确保任何 HTML 和 Markdown 之间有一个换行符,这不会在最终输出中显示为 &lt;br&gt; 或 &lt;p&gt;,而是确保处理器将正确转换 Markdown。

      所以你应该有这样的东西:

      <p>......</p>
      
      [Hello World]({% post_url 2015-01-19-soccer %})
      <p>........ </p>
      

      注意第一个 &lt;p&gt;&lt;/p&gt; 和 Markdown 之间的额外行。

    2. 仅使用 HTML(由用户 @topleft 回答)

    3. 仅使用 Markdown,因为支持 &lt;p&gt; 标签。
    4. 试试markdown=1 HTML 属性。

      像Kramdown 这样的Markdown 处理器允许你添加一个明确的标签来告诉处理器遍历HTML 块并在那里处理任何Markdown。我假设您使用的是默认值(我相信是 Redcarpet)并且找不到有关是否支持此功能的链接。但是你可以试试这个:

       <div id="someDiv" markdown=1>
       [This is a Markdown link that will be parsed](http://www.example.com)
       </div>
      

    【讨论】:

      【解决方案2】:

      您在这里使用的是markdown语言,它在html中不起作用。您需要改用它:

      <a href="{{site.baseurl}}{% post_url 2015-01-01-post %}">Hello World</a>
      

      site.baseurl 默认为空 您可以在 _config.yml 中更改它以满足您的需求

      例如:

      baseurl: "me/blog"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-05
        • 1970-01-01
        • 2012-06-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多