Jekyll Minima主题如何修改首页<title>标签显示格式
问题根因
Minima主题本身没有硬编码<title>元素,页面title完全由_includes/head.html中的{%- seo -%}标签生成。该标签来自默认预装的jekyll-seo-tag插件,会自动输出符合SEO规范的title、元描述、社交卡片标签等内容,默认首页title格式为站点标题 | 站点描述。
你手动添加的title不生效,是因为自定义title写在了{%- seo -%}标签之前,按照HTML解析规则,后面出现的同名title标签会覆盖前面的内容。
可用方案
方案1:修改配置(零模板改动,最简便)
直接编辑站点根目录的_config.yml文件,保留原有title、description配置不变,新增如下配置即可让插件生成的首页title仅展示博客标题:
jekyll-seo-tag: title_only: true
注意:修改
_config.yml后必须重启bundle exec jekyll serve服务,配置改动不支持热重载,重启后刷新浏览器即可看到效果。
方案2:自定义模板(支持精细化规则配置)
如果需要自定义不同页面的title格式(比如仅首页隐藏描述、文章页显示「文章标题 | 站点标题」),按以下步骤操作:
- 打开本地站点的
_includes/head.html文件,将原有{%- seo -%}标签替换为{%- seo title=false -%},该参数会禁止插件自动输出title标签,其余SEO元信息仍正常生成 - 在上述标签下方添加自定义title逻辑,参考代码如下:
<head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> {%- seo title=false -%} <!-- 自定义title规则 --> {% if page.url == "/" %} <title>{{ site.title }}</title> {% else %} <title>{{ page.title }} | {{ site.title }}</title> {% endif %} <link rel="stylesheet" href="{{ "/assets/main.css" | relative_url }}"> {%- feed_meta -%} {%- if jekyll.environment == 'production' and site.google_analytics -%} {%- include google-analytics.html -%} {%- endif -%} </head>
保存文件后等待Jekyll热重载即可生效,无需重启服务。
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

