将内容类型与 Liquid 模板语言相结合

发布于 2024-11-14 17:28:00 字数 228 浏览 1 评论 0原文

我正在使用液体(https://github.com/tobi/liquid/)来渲染模板中的内容。 我希望在我的主页上有一个“最近活动”部分,该部分将查找按日期排序的三种不同内容类型的最新更新,最多四个。

对于液体来说,这样的事情可能发生吗?

所以用简单的语言来说,查询会是这样的...... “从 content_type_1、2 或 3 中选择按日期订购的四个最新项目”

谢谢, 标记。

I'm using liquid (https://github.com/tobi/liquid/) to render content in my templates.
I'd like to have a "recent activity" section on my homepage that will look for the latest updates across three different content types ordered by date, with a limit of four.

Is something like this possible with liquid?

So in plain language the query would be something like..
"Choose the four latest items ordered by date from content_type_1, 2 or 3"

Thanks,
Mark.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

似梦非梦 2024-11-21 17:28:00

通过 content_type,我假设您指的是帖子的类别。您可以通过添加

category: type_1

到帖子的 YAML Front Matter 来对帖子 进行分类或将该帖子放入 type_1/_posts 文件夹中。
一旦我们有了这个,这里有一个稍微俗气的方法来做你想做的事:

<div>
  {% assign count1 = true %}
  {% assign count2 = true %}
  {% assign count3 = true %}
  {% assign count4 = true %}
  {% for post in site.posts %}
     {% if post.categories contains 'type_1' or post.categories contains 'type_2' or ... %}
        {% if count1 == true or count2 == true or count3 == true or count4 == true %}
           <li><span>{{ post.date | date_to_string }}</span> » <a href="{{ post.url }}">{{ post.title }}</a></li>
           {% if count1 == true %}
              {% assign count1 = false %}
           {% elsif count2 == true %}
              {% assign count2 = false %}
           {% elsif count3 == true %}
              {% assign count3 = false %}
           {% elsif count4 == true %}
              {% assign count4 = false %}
           {% endif %}
        {% endif %}
     {% endif %}
  {% endfor %}
</div>

By content_type, I assume you mean the category of the post. You can categorize your post by adding

category: type_1

to the YAML Front Matter of your post or putting that post in a type_1/_posts folder.
Once we have this, here is a slightly tacky way of doing what you want:

<div>
  {% assign count1 = true %}
  {% assign count2 = true %}
  {% assign count3 = true %}
  {% assign count4 = true %}
  {% for post in site.posts %}
     {% if post.categories contains 'type_1' or post.categories contains 'type_2' or ... %}
        {% if count1 == true or count2 == true or count3 == true or count4 == true %}
           <li><span>{{ post.date | date_to_string }}</span> » <a href="{{ post.url }}">{{ post.title }}</a></li>
           {% if count1 == true %}
              {% assign count1 = false %}
           {% elsif count2 == true %}
              {% assign count2 = false %}
           {% elsif count3 == true %}
              {% assign count3 = false %}
           {% elsif count4 == true %}
              {% assign count4 = false %}
           {% endif %}
        {% endif %}
     {% endif %}
  {% endfor %}
</div>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文