jekyll - 是否有液体过滤器将 url 限制为域名?

标签 jekyll liquid

我想知道是否有一个液体过滤器可以将 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>

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

我一直在搜索液体文档以寻找一个很好的过滤器来做到这一点,但我只找到了 remove (它可以取消“http://”)但没有任何东西可以去除除域名之外的所有内容。

有人有什么想法吗?

谢谢!

最佳答案

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

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

我没有测试它,但它在大多数情况下应该可以正常工作。有了这个管道,你只需要像你说的那样构建输出:
<div class="cool-articles">
  <a href="{{ url }}">
    {{ title }}
  </a>
  <span>{{ url | remove:'http://' | split:'/' | first }}</span>
</div>

我希望这有帮助。 :)

关于jekyll - 是否有液体过滤器将 url 限制为域名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17715941/

相关文章:

jekyll - 第四根柱上的柱制动器

jekyll - 如何通过命令行为 Jekyll 设置 baseurl?

jekyll - 用 Jekyll 中的 Liquid 替换\n 为 <br>

github - 生成带有导航元素的 github 页面

vagrant - 无法从外部访问Vagrant上的Jekyll服务器

ruby-on-rails - 在 Liquid Drop 中使用 Rails 的 stylesheet_link_tag 和 javascript_include_tag

shopify - 在 Liquid 中按索引为数组赋值

jekyll - 如何在 Jekyll/Pygments 中突出显示 CSHTML

twitter - 在 Jekyll 页面上嵌入推特提要?