15

这是我的个人 GH Pages 网站。

我在我的/_config.yml

theme: jekyll-theme-cayman

title: iBug @ GitHub
description: The small personal site for iBug

现在它在 GH Pages 生成的每个页面上都显示了一个大标题iBug @ GitHub和一个标语。我想为特定页面设置覆盖。我试过

---
title: Blog index
---

/blog/index.html,但它不起作用。它只更改页面的 HTML 标题(浏览器标题栏),但不会更改页面顶部大块中的“标题”。

如何为单个页面设置覆盖标题?

4

3 回答 3

16

更新:我已经提交了一个拉取请求以在主题中更改它,并且不再需要下面的答案,因为它已经在您使用主题时被应用了。您需要做的就是在前面的内容中指定标题覆盖:

---
title: My custom title
---

要指定另一个标题,您需要更改布局文件。

复制默认布局并将其放在 中<GitHub repo>/_layouts/default.html,并将第 16 行更改为:

<h1 class="project-name">{{ page.title | default: site.title }}</h1>

然后 Jekyll 会尊重title前面的那个集合,并把它放在那里。

于 2018-03-03T12:37:35.313 回答
0

这就是这个主题的实现方式,如果您在第 14 行检查 Cayman 主题的默认布局,您可以看到它使用的确切变量。

<h1 class="project-name">{{ site.title | default: site.github.repository_name }}</h1>

希望有帮助!

于 2018-03-02T10:47:33.290 回答
-1

我的方法是使用 javascript,如下所示。

<script>
    document.getElementsByClassName("project-name").item(0).innerText = "{{ page.title }}";
</script>

_includes您可以在dir中编写一个 html 文件并使用{% include your_file.html %}.

于 2019-03-19T02:45:42.910 回答