【问题标题】:Is there any way to append text to the end of a paragraph in jekyll?有什么办法可以将文本附加到 jekyll 中的段落末尾?
【发布时间】:2023-01-11 08:34:02
【问题描述】:

我在 github 页面上使用 jekyll。

我想在帖子摘录的末尾添加一个“阅读更多...”链接,我希望它们出现在摘录的最后一段中。然而,jekyll 总是把它们放在一个单独的段落中。我希望能够将其附加到摘录中最后一段的末尾。

这就是我现在所拥有的:

{{post.excerpt}}{% if post.excerpt != post.content %}<a class="read-more" href="{{ site.baseurl }}{{ post.url }}">Read more...</a>{% endif %}

但是“阅读更多...”链接是在段落之后添加的,而不是在末尾:

<p>Excerpt from blog post</p>
<a class="read-more" href="posts/2023-01-09-todays-post.html">Read more...</a>

我试过使用追加过滤器,但它仍然在追加之前的末尾添加了一个段落分隔符。我也试过 rstrip 过滤器在最后清除换行符,但这不起作用。它的行为就好像降价在到达那一点时已经转换为 html 一样。有什么办法可以延迟吗?

我在我的配置中使用 excerpt_separator: &lt;!--more--&gt; 来定义我的帖子中的摘录。在我的所有帖子中,我都尝试确保在最后一段摘录的末尾插入 &lt;!--more--&gt; 标签,中间没有换行符。

【问题讨论】:

    标签: jekyll


    【解决方案1】:

    您可以试试这段代码,它的灵感来自this SO post

    <ul>
      {% for post in site.posts %}
        <li>
          <a href="{{ post.url }}">{{ post.title }}</a>
          {{ post.excerpt | strip_html }}
          <a href="{{ site.baseurl }}{{ post.url }}">Read more</a>
        </li>
      {% endfor %}
    </ul>
    

    使用 strip_html 允许您从摘录中删除 HTMl,因此 &lt;p&gt; 标签消失了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-21
      • 1970-01-01
      • 2017-10-13
      • 1970-01-01
      相关资源
      最近更新 更多