【问题标题】:Check if current page is homepage on Jekyll检查当前页面是否是 Jekyll 的主页
【发布时间】:2015-05-10 01:26:54
【问题描述】:

有什么方法可以检查当前页面是否是首页?

我只想在当前页面是网站基本网址时使用h1 标记作为徽标图像。

【问题讨论】:

    标签: jekyll


    【解决方案1】:

    根据@Christopher 的评论,最好的方法是测试page.layout。因为如果设置了永久链接或在其他情况下,page.url 可以是"/index.html""/index",或者只是简单的"/"。因此我认为它更健壮:

    {% if page.layout == 'home' %}
      <h1>logo</h1>
    {% else %}
      <h2>smaller logo</h2>
    {% endif %}
    

    【讨论】:

      【解决方案2】:

      管理此问题的另一个选项是将页面 ID 添加到 yml 前端

      {% if page.id == 'index' %}
        content
      {% endif %}
      

      【讨论】:

        【解决方案3】:

        您可以使用page.url 来检查当前页面是否是您的索引页面:

        {% if page.url == "/index.html" %}
           <h1>...</h1>
        {% endif %}
        

        【讨论】:

        • 我使用了{% if page.layout == 'home' %},但您的回答也是正确的。谢谢!
        • 我最终使用了 if {% if page.url == "/" %} 。其余的对我不起作用。
        • 看起来在我刚刚安装的 Jekyll 版本(3.3.1)中 index.md 的 page.url 是“/”。例如:{% if page.url == "/" %}active{% endif %}
        • 如果在页面的 Front Matter 设置了 permalink 选项,则应将 page.url 与其值进行比较。否则,如上所述,page.url == "/" 工作正常(v3.4.3)。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-13
        • 1970-01-01
        • 2011-12-18
        • 1970-01-01
        相关资源
        最近更新 更多