是否有液体过滤器来限制域名的URL?

AD *_*gan 4 liquid jekyll

我想知道是否有液体过滤器只会限制域名的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>
Run Code Online (Sandbox Code Playgroud)

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

我一直在搜索流畅的文档以获得一个很好的过滤器,但我只发现了删除(可以修改"http://"),但除了域名之外什么也没有删除.

有人有什么想法?

谢谢!

aga*_*rie 7

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

{{ url | remove:'http://' | split:'/' | first }}
Run Code Online (Sandbox Code Playgroud)

我没有测试它,但它在大多数情况下应该运行得相当好.有了这个管道,你只需要按照你的说法构建输出:

<div class="cool-articles">
  <a href="{{ url }}">
    {{ title }}
  </a>
  <span>{{ url | remove:'http://' | split:'/' | first }}</span>
</div>
Run Code Online (Sandbox Code Playgroud)

我希望有所帮助.:)