You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Jekyll为页面body添加对应URL的类名(去除冗余内容)

解决Jekyll页面body标签添加URL类名的问题

当前代码直接输出page.url会包含开头斜杠和尾部.html,只需通过Jekyll的过滤器对URL字符串做处理,就能得到干净的类名:

修改后的代码

{% assign url = page.url | remove:'index.html' %}
{% assign body_class = page.url | remove: '.html' | split: '/' | last %}
{% for link in page.navigation %}
  <body {% if url == link.url %}class="{{ body_class }}"{% endif %}>
{% endfor %}

过滤器说明

  • remove: '.html':移除URL里的.html后缀
  • split: '/':把URL按斜杠分割成数组(比如/page-title.html处理后变成['', 'page-title'])
  • last:取分割后数组的最后一个元素,也就是我们需要的页面名称

如果你的页面都是一级路径(无嵌套目录),也可以用更简洁的写法:

{% assign body_class = page.url | remove: '.html' | remove_first: '/' %}

这样处理后,就能生成你期望的<body class="page-title">效果。

内容的提问来源于stack exchange,提问作者Rob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 12:00:00