Jekyll 生成带有尾部斜杠的 post url。我想从所有网址中删除这个尾部斜杠,所以我正在创建一个液体过滤器“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/">
看来我的过滤器没有做任何事情。 我做错了什么?
谢谢你的回答,我不懂ruby,你能做一个
{{ page.url }}
的变体吗,因为使用permalink: pretty
时,{{ page.url }}
的末尾会有一个斜线
PS当前红宝石块无效
{{ page.url }}
对不起,我更正我的答案,虽然他没有去掉page.url中的斜线,但是他生效了(因为我重启了jekyll serve)。 用例:用于检测导航页中的导航页是否等于
page.url
,添加一个active
类
代码示例
{% for item in site.data.navigation.nav %}
<a href="{{ item.link }}" class="nav-link {% assign no_xiegang = page.url | remove_trailing_slash %}{% if item.link == no_xiegang %}active{% endif %}">{{ item.name }}</a>
{% endfor %}