【发布时间】:2023-02-26 20:39:53
【问题描述】:
Jekyll 生成带有尾部斜杠的 post url。我想从所有网址中删除这个尾部斜线,所以我创建了一个 Liquid 过滤器“remove_trailing_slash”,我想在我的模板中使用它,如下所示:
<a class="blog-article" href="{{ post.url | remove_trailing_slash }}">
这是我的插件(_plugins/remove_trailing_slash.rb)的内容:
module Jekyll
module RemoveTrailingSlash
def remove_trailing_slash(url)
if url[-1] == '/'
url[0..-2]
else
url
end
end
end
end
Liquid::Template.register_filter(Jekyll::RemoveTrailingSlash)
我期待什么
<a class="blog-article" href="/path/to/post">
我得到什么
<a class="blog-article" href="/path/to/post/">
看来我的过滤器没有做任何事情。 我究竟做错了什么?
【问题讨论】:
-
我已经测试了代码并且它工作正常。您确定只有一个尾部斜杠而不是多个吗?
-
确实,它现在有效。我认为这是由于我的本地开发环境:我不得不杀死并重新启动 jekyll(而不是 livereloading)。感谢您抽出时间查看此内容!