如何在github jekyll主题中添加导航栏



我很难将导航栏添加到github页面。我通过这个链接下载了Monophase jekyll主题:http://jekyllthemes.org/themes/monophase/

我在演示中看到了一个导航栏,但当我应用到github.io页面时,我缺少了导航栏。

Index.markdown:

---
layout: default
---

如果我将布局设置为默认,则不会显示任何内容,如果我将其设置为主页,则所有帖子都会显示,但不会显示导航栏。在我下载的单相软件包zip中没有_data/navigation.yml这样的东西。

_我收到的站点设置为.gitignore,所以我没有像最初设置的那样将_site文件夹包括在git中,但我需要将_site添加到git中并在该文件夹中创建_data和navigation.yml吗?制作导航栏

我试过这样做,但没有成功,所以我不确定我做的事情是否正确,但如果有人能解释我做错了什么,那就太好了;~;

default.html:

<!DOCTYPE html>
<html lang="{{ page.lang | default: site.lang | default: 'en' }}">
{% include head.html %}
<body>
<div class="container">
{% include header.html %}
<div>hello</div>
<main>{{ content }}</main>
{% include footer.html %}
</div>
{% if page.math %} {% include mathjax.html %} {% endif %} {% if
jekyll.environment == 'production' and site.google_analytics %} {% include
google-analytics.html %} {% endif %}
</body>
</html>

Header.html:

<header class="masthead">
<div class="masthead-title">
<a href="{{ '/' | relative_url }}" title="Home">{{ site.title }}</a>
<small class="tagline">{{ site.tagline }}</small>
</div>
{% if site.data.navigation %}
<nav class="nav">
<ul class="nav-list">
{% for item in site.data.navigation %}
<li class="nav-item">
<a href="{{ item.url | relative_url }}" class="{% if page.url == item.url %}current{% endif %}">
{{ item.title }}
</a>
</li>
{% endfor %}
</ul>
</nav>
{% endif %}
</header>

主页.html:

---
layout: default
title:home
---
<div class="posts">
{% assign posts = site.posts %} {% if paginator %} {% assign posts =
paginator.posts %} {% endif %} {% for post in posts %}
<div class="post">
<h2 class="post-title">
<a href="{{ post.url | relative_url }}"> {{ post.title }} </a>
</h2>
<time datetime="{{ post.date | date_to_xmlschema }}" class="post-meta"
>{{ post.date | date_to_string }}</time
>
<p class="post-excerpt">
{% if post.description %} {{ post.description | strip_html }} {% else %}
{{ post.excerpt | strip_html }} {% endif %}
</p>
</div>
{% endfor %}
</div>
{% if paginator %}
<div class="pagination">
{% if paginator.next_page %}
<a
class="pagination-item older"
href="{{ paginator.next_page_path | relative_url }}"
>Older</a
>
{% else %}
<span class="pagination-item older">Older</span>
{% endif %} {% if paginator.previous_page %}
<a
class="pagination-item newer"
href="{{ paginator.previous_page_path | relative_url }}"
>Newer</a
>
{% else %}
<span class="pagination-item newer">Newer</span>
{% endif %}
</div>
{% endif %}

是的,或者至少是可能的,但考虑到您共享的内容,不清楚。

  1. 使用桌面上的Jekyll,您正在本地构建一个html目录,该目录将是您网站的静态版本。这很可能是_site文件夹。如果这就是你(成功地(所做的,那么该目录的内容就是一个完整的网站;*。html文件等。将此文件夹的内容复制到您的Git Pages存储库中,它们应该可以正常工作_该站点位于.gitignore中,因为它是代码的副产品,从某种意义上说,它是重复的,只是格式不同而已

这种方法的优点是,您可以更快地查看构建的html并迭代代码,而无需关闭网站或实时测试更改。更重要的是,您可以打开_site文件夹并在浏览器中查看index.html或类似内容,以查看工作情况。当我试图访问这种风格的Demo时,它不起作用,我也找不到默认实现的源代码(它确实有一个导航栏(,无法告诉你他们是如何设置的。

  1. 另一种方法是使用Jekyll主题文件维护您的Git repo,Github将为您构建站点。假设是最新版本,这应该与您在桌面上所做的相同

对于这条路线,我建议阅读有关如何将菜单/导航添加到_config.yml文件的文档。这通常是指定导航的地方,但您当然可以覆盖它或在支持css文件中自定义导航。这也是您需要查阅文档的内容。

最新更新