gpt4 book ai didi

Jekyll/Liquid 字符串比较没有意义

转载 作者:行者123 更新时间:2023-12-04 23:42:46 26 4
gpt4 key购买 nike

在一个简单的 Jekyll 站点中,我有一个如下所示的菜单:

<ul class="nav navbar-nav">
<li {% if page.url=='/' %} class="active"{% endif %}><a href="/">Home</a></li>
<li {% if page.url=='/page1.html' %} class="active"{% endif %}><a href="/page1.html">Page 1</a></li>
<li {% if page.url=='/page2.html' %} class="active"{% endif %}><a href="/page2.html">Page 2</a></li>
<li {% if page.url=='/page3.html' %} class="active"{% endif %}><a href="/page3.html">Page 3</a></li>
</ul>

当我输出 page.url在这个块之前或之后,它总是包含预期值,即当前页面的路径,比如“/page2.html”。但是,接收“事件”类的始终是“主页”选项卡,这表明字符串比较成功并且 page.url等于'/'。访问主页的结果是 page.url包含 '/index.html' 而不是 '/' 增加了神秘感。

我是 Jekyll 和 Liquid 的新手,但我想不出这种行为的原因。我究竟做错了什么?

最佳答案

这看起来很疯狂,但液体引擎似乎需要在 == 周围留出空间。 .所以这应该有效:

<ul class="nav navbar-nav">
<li {% if page.url == '/' %} class="active"{% endif %}><a href="/">Home</a></li>
<li {% if page.url == '/page1.html' %} class="active"{% endif %}><a href="/page1.html">Page 1</a></li>
<li {% if page.url == '/page2.html' %} class="active"{% endif %}><a href="/page2.html">Page 2</a></li>
<li {% if page.url == '/page3.html' %} class="active"{% endif %}><a href="/page3.html">Page 3</a></li>
</ul>

我还是不明白为什么第一个 if返回 true但这应该可以解决您的直接问题。

关于Jekyll/Liquid 字符串比较没有意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32968398/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com