我正在使用Jekyll生成一个简单的网站.
我希望日期字段以格式显示12 September 2011.
通过一些有创意的谷歌搜索,我发现了一些日期格式的操作,但似乎没有什么能让我成为月份名称.我所拥有的是{{ page.date| date: "%m-%d-%Y" }},它让我输出09-12-2011,但不是我正在寻找的.
有没有办法让这个月成为杰基尔的名字?
或者,除此之外,是否有日期属性的任何文档?
这听起来很容易,但我无法在文档中的任何地方找到它.如何{% this %}在没有引擎处理的情况下写入液体模板?
我正在使用Jekyll创建一个文档站点,其中我试图记录一些包含句柄式语法的代码.例如{{foo}}.问题是Jekyll使用液体标签,无论我做什么,我的双层玻璃都会被液体处理器撕掉.
顺便说一句,我使用kramdown作为降价处理器.
这是我尝试过的东西:
{% highlight html linenos %}
Hello, my name is {{name}}.
{% endhighlight %}
Run Code Online (Sandbox Code Playgroud)
这个完全删除了{{name}}部分,因为它认为它是对液体变量的引用.
我也试过这个:
{% highlight html linenos %}
Hello, my name is \{\{name\}\}.
{% endhighlight %}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我试图逃避花括号,但结果是斜杠被渲染到页面中.
我甚至试过这个:
{% highlight html linenos %}
Hello, my name is <span>{</span>{name}}.
{% endhighlight %}
Run Code Online (Sandbox Code Playgroud)
不可否认,这个非常愚蠢.在这种情况下,因为我已将语法指定为html(它需要),所以span标记将呈现到页面中.
那么我可以如何解决这个问题呢?
我正在用Jekyll/Liquid构建一个静态站点(没有博客).我希望它有一个自动生成的导航菜单,列出所有现有页面并突出显示当前页面.这些项目应按特定顺序添加到菜单中.因此,我weight在页面'YAML中定义了一个属性:
---
layout : default
title : Some title
weight : 5
---
Run Code Online (Sandbox Code Playgroud)
导航菜单构造如下:
<ul>
{% for p in site.pages | sort:weight %}
<li>
<a {% if p.url == page.url %}class="active"{% endif %} href="{{ p.url }}">
{{ p.title }}
</a>
</li>
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)
这会创建指向所有现有页面的链接,但它们未被排序,sort过滤器似乎被忽略.显然,我做错了什么,但我无法弄清楚是什么.
我认为这应该很容易,但我今天的日期无法在使用Liquid标记的Jekyll页面中显示.根据文档,我应该能够这样做以获得这个日期的年份:
{{ 'now' | date: "%Y" }}
Run Code Online (Sandbox Code Playgroud)
但所有渲染的都是字符串now,而不是任何格式化的日期.我究竟做错了什么?
要明确,假设:
{% assign my_var = "123" %}
{% assign another_var = "456" %}
Run Code Online (Sandbox Code Playgroud)
我想追加字符串my_var以获得类似的东西123 - 456
到目前为止我尝试了什么:
{% assign my_var = my_var + " - " + another_var %}
Run Code Online (Sandbox Code Playgroud) 在我的Jekyll驱动的网站上,我有一个类似函数的包含,但我无法弄清楚如何正确传递它的参数.
当我使用时{% include ... %},传递这样的参数..
{% include function.liquid foo="{{ baz.quux }}" %}
Run Code Online (Sandbox Code Playgroud)
..只是传递文字字符串{{ baz.quux }},当然,这不是我想要的!我想传递价值baz.quux.我该怎么做呢?
谢谢!
我正在尝试在Jekyll中实现一个服务目录,其中20或30页中的每一页都包含一个7x2表.左列将保留标签,例如Overview,Available To等,而右列将保持在一行和几段文本之间.我希望用液体变量来表征正确的列,例如{overview},{availableTo}
我注意到YAML似乎对换行非常挑剔,因此我不得不在一行上输入这些段落及其标记,这些行可以持续几个屏幕宽度.这是一个问题,因为它很烦人,也因为我希望技术但非webdev用户可以编辑这些前端内容.有没有办法让前面的事情容忍休息?
或者,是否有一种方法可以使用{content}部分填充此表,而无需每次都将表重新编入其中?
<ul class="entries">
{% for post in paginator.posts %}
<li>
<a href="{{ post.url }}">
<h3>{{ post.title }}</h3>
<p class="blogdate">{{ post.date | date: "%d %B %Y" }}</p>
<div>{{ post.content |truncatehtml | truncatewords: 60 }}</div>
</a>
</li>
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)
这显示了我的所有帖子,我只想展示最新的帖子.
如果我在Liquid中有一个for循环(使用Jekyll),我怎么能只针对偶数(或奇数)项?我试过了:
{% for item in site.posts %}
{% if forloop.index % 2 == 1 %}
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.我也尝试过:
(forloop.index % 2) == 1
Run Code Online (Sandbox Code Playgroud)
和:
forloop.index - (forloop.index / 2 * 2) == 1
Run Code Online (Sandbox Code Playgroud)