使用 Jekyll 创建自定义主页

Create custom home page with Jekyll

我想使用 Jekyll 的标准主题 "Minima" 创建自定义 "home" 页面。默认情况下,它设置为最近的博客文章列表:

---
layout: default
---

<div class="home">

  <h1 class="page-heading">Posts</h1>

  {{ content }}

  <ul class="post-list">
    {% for post in site.posts %}
      <li>
        <span class="post-meta">{{ post.date | date: "%b %-d, %Y" }}</span>

        <h2>
          <a class="post-link" href="{{ post.url | relative_url }}">{{ post.title | escape }}</a>
        </h2>
      </li>
    {% endfor %}
  </ul>

  <p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | relative_url }}">via RSS</a></p>

</div>

此设置在文件 _layouts/home.html 中控制。我使用 Markdown 创建了自定义 "home" 页面。它保存在我的本地目录中,名为 "aboutme.md":

---
layout: page
title: About Me
permalink: /aboutme/
order: 1
---

This is a custom about me page.

我想覆盖最近帖子的默认列表并将其替换为我的自定义 "aboutme" 页面。我怎样才能以优雅的方式实现这一目标?一种方法是将HTML中的"aboutme.md"改写成"home.hml"。但是,它正在加倍工作。我确信一定有一种方法可以使用简单的 Liquid 命令在 "home.html" 中 "include" 一个 "aboutme.md" 页面。我还希望在站点菜单中显示 "About me" 页面。

您应该将 'aboutme.md' 文件重命名为 'index.md',删除永久链接语句并将其保存在网站目录的根目录中(并可选择将旧的 index.md 重命名为 blog.md).

像这样:(index.md)

---
layout: page
title: About Me
order: 1
---

This is now the homepage.

要自定义主页,请找到您的最小 gem 文件在您的系统中的位置,并将 _layouts/home.html 复制到您的 Jekyll 实例以保持目录结构。

/_layouts/home.html

在那里您可以根据需要对其进行编辑,用 link 替换博客文章列表到关于我的页面或包括关于我的部分。

  • 更新

要将 "about me" 页面的内容作为主页的一部分,您可以在 /index.md 中添加以下代码:

{% assign about = site.pages | where: 'name','about.md' %}
{{about}}

它查找名为 about.md 的文件名,并将其内容包含在您放置的位置。