如何在Jekyll minima主题导航栏中排除指定页面?
解决Jekyll Minima主题导航重复及页面过滤问题
操作步骤
- 在你的Jekyll站点根目录创建
_includes文件夹(无则新建),将Minima主题默认的header.html复制到该目录(Jekyll会优先加载本地模板文件)。 - 打开本地的
header.html,找到原主题生成导航菜单的代码段:{%- assign default_paths = site.pages | map: "path" -%} {%- assign page_paths = site.header_pages | default: default_paths -%} {%- for path in page_paths -%} {%- assign my_page = site.pages | where: "path", path | first -%} {%- if my_page.title -%} <a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a> {%- endif -%} {%- endfor -%} - 将上述代码完全替换为你准备的过滤代码:
{% for page in site.pages %} {% unless page.exclude %} {% if page.title %} <a class="page-link" href="{{ page.url | prepend: site.baseurl }}">{{ page.title }}</a> {% endif %} {% endunless %} {% endfor %} - 给不需要显示在导航的页面添加过滤标记:在对应页面的YAML头部(页面顶部
---之间)加入exclude: true,示例:--- title: "无需显示的页面" exclude: true ---
完成后,导航栏只会展示未标记exclude: true的页面,同时不会出现重复导航的问题。
内容的提问来源于stack exchange,提问作者charliebgood
相关产品推荐
相关产品推荐

