Jekyll生成的post网址带有一个拖尾斜杠。我想从所有网址中删除这个拖尾斜杠,所以我创建了一个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/">
我的过滤器似乎没有任何作用。我做错了什么?
1条答案
按热度按时间mbzjlibv1#
谢谢你的回答,我不知道ruby,你能不能做一个
{{ page.url }}
的变体,因为当使用permalink: pretty
时,在{{ page.url }}
的末尾会有一个斜杠提示当前拼音块对于
{{ page.url }}
无效对不起,我更正我的答案,虽然他没有删除从
page.url
的斜线,他生效(因为我重新启动jekyll服务).用例:用于检测导航页中的导航页,如果等于page.url
,则增加active
类正确的代码示例✔️
错误代码示例