4

我想知道是否有一个液体过滤器可以将 url 限制为仅域名。

例如,假设我想要一个链接到一篇名为“有史以来最伟大的文章”的文章,而 URL 是一些笨拙的东西,例如http://example.com/long/ugly/directory/123948/name。假设我的 YAML 元数据中的这两个值分别作为“title:”和“url:”的数组,我想要的输出是这样的:

<div class="cool-articles">
  <a href="http://example.com/long/ugly/directory/123948/name">
    The Greatest Article Ever
  </a>
  <span>example.com</span>
</div>

我如何使用 Liquid 将 array-item.url 限制为仅域名?

我一直在通过液体文档搜索一个不错的过滤器来执行此操作,但我只找到了 remove (它可以取消“http://”),但除了域名之外什么都没有。

有人有什么想法吗?

谢谢!

4

1 回答 1

7

好吧,您可以尝试将 URL 拆分为斜杠(在删除“http://”之后)并获取结果数组的第一个元素。例如:

{{ url | remove:'http://' | split:'/' | first }}

我没有测试它,但它在大多数情况下应该可以正常工作。有了这个管道,您只需要按照您所说的构建输出:

<div class="cool-articles">
  <a href="{{ url }}">
    {{ title }}
  </a>
  <span>{{ url | remove:'http://' | split:'/' | first }}</span>
</div>

我希望这会有所帮助。:)

于 2013-07-18T14:15:27.657 回答