使用 Jekyll 创建自定义主页



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

---
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创建了我的自定义"主页"。它保存在我的本地目录中,称为"aboutme.md":

---
layout: page
title: About Me
permalink: /aboutme/
order: 1
---
This is a custom about me page.

我想覆盖最近帖子的默认列表,并将其替换为我的自定义"关于我"页面。我怎样才能以优雅的方式实现这一目标?一种方法是用HTML重写"aboutme.md"并将其保存到"home.hml"中。然而,它使工作翻了一番。我敢肯定,一定有一种方法可以使用简单的 Liquid 命令在"主页.html"中包含"aboutme.md"页面。我还希望在网站菜单中显示"关于我"页面。

您应该将"aboutme.md"文件重命名为"index.md",删除 permalink 语句并将其保存在网站目录的根目录中(并可选择将旧 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

在那里,您可以根据需要对其进行编辑,将博客文章列表替换为指向"关于我"页面的链接或包含"关于我"部分。

  • 更新

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

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

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

最新更新