标签: liquid

对于Liquid中的循环:使用reverse和limit:1

我正在使用Jekyll建立一个简单的博客,我正在试图找出这个问题.

该网站的索引页面旨在展示一篇最新的文章,其结构类似于下面的内容(原谅这个混乱):

{% for post in site.posts reversed limit:1 %}
    <div class="post">
        <div class="post-inner">
            <h3 class="posttitle"><a href="{{ post.url }}">{{ post.title }}</a></h3>
            <p class="postdate">{{ post.date | date: "%d %B %Y" }}</p>
            {{ post.content }}
            <a href="{{ post.url }}#disqus_thread" class="commentLink"></a>
        </div>
    </div>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

当限制不是限制性的时(即不存在或设置为数组的长度),上述模板完全正常.似乎只有当限制实际上限制了循环忽略的结果时.

我已经尝试清除浏览器缓存,这是它无限制地工作的原因:1,但进度到此结束.

感谢您的帮助,如果这还不够,我很乐意提供更多细节.

liquid jekyll

19
推荐指数
2
解决办法
1万
查看次数

我的jekyll网站无法构建:Liquid Exception:不兼容的字符编码

我不知道我改变了什么,但今天我不能再成功地用jekyll构建我网站的首页.它现在抱怨:

[2012-10-30 14:22:10] regeneration: 1 files changed
Liquid Exception: incompatible character encodings: UTF-8 and ASCII-8BIT in index.html
Run Code Online (Sandbox Code Playgroud)

我无法解决这个问题.我相信它是通过我在首页index.html创建的一系列帖子引入的,其中我包含了最后一个'n'帖子的摘录.我在我的_posts /目录中使用了file(1),并且确实有一些混合:

_posts/2012-08-10-canned-responses-your-silent-partner.md:    UTF-8 Unicode English text, with very long lines
_posts/2012-08-21-alternate-ssh-for-osx.md:                   UTF-8 Unicode English text, with very long lines
_posts/2012-08-21-appus-interruptus.md:                       ASCII English text
_posts/2012-10-25-emoryfocuslight.md:                         ASCII English text
_posts/2012-10-28-distributed-social-networking-with-tent.md: ASCII English text, with very long lines
Run Code Online (Sandbox Code Playgroud)

不过,我不确定这是不是我的问题.我使用vim和bbedit来编辑这些文件,它们存储在Dropbox中(我在Dropbox文件夹中构建/暂存,但在其他地方发布).我的大多数写作/编辑都是在OS X上完成的.

当我搜索此错误消息时,我获得了很多针对rails应用程序的命中或强制ruby gems使用特定编码,我不知道这是否相关或甚至可以帮助我.愿意瞄准正确的方向或被告知如何解决这种情况.这是一个悲伤的事态!

utf-8 liquid jekyll

19
推荐指数
2
解决办法
4347
查看次数

如何在Shopify Liquid中检索特定产品?

我有一个产品句柄列表,我想根据这个句柄获取产品.似乎没有办法告诉Liquid去购买单一产品.我可以使用API​​执行此操作,但如果我使用API​​,那么我必须使用JavaScript,并且我必须复制已经在代码段中的HTML,并复制逻辑.

我正在尝试的减少版本:

{% assign handle = 'my-product-handle' %}
{% assign product = products.handle %}
{% include 'snippet-product-item' %}
Run Code Online (Sandbox Code Playgroud)

product handle liquid shopify

19
推荐指数
4
解决办法
2万
查看次数

如何抑制杰基尔的空白线?

我在我的博客上使用GitHub页面,并且遇到了Jekyll的问题.我的post.html有一个这样的块:

{%    for testpost in site.posts   %}
{%           four                  %}
{%          lines of               %}
{%         processing              %}
{%         goes here               %}
{%    endfor                       %}
Run Code Online (Sandbox Code Playgroud)

中间的部分并不重要.重要的部分是在{% %}标记之外的行的结尾,因此被渲染到html中.由于这是一个循环,它在HTML页面的中间放置了大约1000个空白行.它不会影响显示,但会造成View/Source的麻烦.

关于如何避免这些额外空白线的任何想法?

liquid-layout liquid jekyll github-pages

19
推荐指数
3
解决办法
5378
查看次数

如何在Jekyll中获得更长的自动摘录?

目前,我包括这样的摘录:

{{ post.excerpt | strip_html }}
Run Code Online (Sandbox Code Playgroud)

但这似乎只给出了第一段.但我想得到一个固定数量的单词.

或者更好:我想定义一个最大字符数并获得这么多单词

  • 字符数小于最大值
  • 一个单词将超过最大字符数

有没有办法用Jekyll(1.3.1)做到这一点?

编辑:<!-- more -->不是答案!我认为excerpting应该自动工作,我的帖子应该只包含绝对必要的标记.

liquid jekyll

19
推荐指数
2
解决办法
3609
查看次数

用液体语法将每个单词的首字母大写?

我正在尝试使用液体语法在LocomotiveCMS安装中设置SEO.我正在尝试对其进行编码,以便使用{{page.title}}动态提取页面标题,然后强制它将每个单词的第一个字母大写.

我试过这个:

<title>
      {{ page.title | camelcase }} | {{ site.name }}
</title>
Run Code Online (Sandbox Code Playgroud)

基于此处的液体语法文档:http://docs.shopify.com/themes/liquid-basics/output#camelize

但它不起作用.使用capitalize作品,但它只会大写第一个单词的第一个字母.

谢谢!

html liquid

19
推荐指数
3
解决办法
9089
查看次数

在液体标签调用中使用Liquid变量

我在Liquid中创建了一个自定义链接标记,我试图将液体变量传递给该标记的调用,就像这样

{{ assign id = 'something' }} // this value is actual dynamic while looping through data 
{% link_to article: id, text: 'Click Me!' %} // my custom tag
Run Code Online (Sandbox Code Playgroud)

但是,这会导致article参数按照上面的assign语句以'id'而不是'something'的形式传递.

有谁知道如何将变量传递给标签调用?

template-engine liquid ruby-on-rails-3

18
推荐指数
3
解决办法
7467
查看次数

jekyll中的区域设置特定日期

我正在尝试jekyll进行网站创建.我正在使用jekyll-bootstrap.

默认配置具有页面存档,其中列出的所有帖子按发布日期的年份和月份分组.目前这几个月用英文出现.我查看了代码,这是一个负责提交日期的摘录:

{% capture this_month %}{{ post.date | date: "%B" }}{% endcapture %}
Run Code Online (Sandbox Code Playgroud)

我在这里找到了很多信息,因此有一种方法可以指定所需的语言环境.但你怎么能让杰奎尔尊重呢?简单地添加

default_locale: "lt"
Run Code Online (Sandbox Code Playgroud)

_config.yml自然不起作用.

liquid date-formatting jekyll

18
推荐指数
4
解决办法
7648
查看次数

如何将{%captured%}变量从视图传递到Jekyll/Liquid中的布局?

我正在尝试在Jekyll重建一个博客,我已经找到了一个简单的任务.

如果我有以下模板集:

default.html中:

{{ head }}

{{ content }}
Run Code Online (Sandbox Code Playgroud)

frontpage.html:

---
layout: default
---

{% capture head %}
  Frontpage
{% end %}

{{ content }}
Run Code Online (Sandbox Code Playgroud)

index.html的:

---
layout: frontpage
---

Other stuff
Run Code Online (Sandbox Code Playgroud)

我当时希望{% capture head %}将变量传递给布局.但似乎只有Front Matter的变量实际上被传递为page.variable_name.

有没有办法将capture-d var 传递给Jekyll的布局?

猜猜我可以制作2种不同的布局frontpage,normal_page这将取代布局中的整个{{head}}{{content}}块.但这就像html的两倍,所以capture如果可能的话我宁愿解决它.

liquid-layout liquid jekyll jekyll-extensions

18
推荐指数
2
解决办法
3830
查看次数

语法高亮显示Pygments失败通过Liquid Templates字符串错误

我正在使用Jekyll将我的markdown和Pygments转换为语法高亮.

这是错误maruku显示:

Liquid error: undefined method `join' for "\n song_info = []\n for song in songs:\n song_info.append(song.name) \n":String
Run Code Online (Sandbox Code Playgroud)

标记如下:

{% highlight python %}
    song_info = []
    for song in songs:
        song_info.append(song.name)                                                                                                                                   
{% endhighlight %}
Run Code Online (Sandbox Code Playgroud)

在iPython中测试Pygments不会产生任何错误.

有任何想法吗?O(

提前致谢!

python markdown pygments liquid jekyll

17
推荐指数
1
解决办法
2860
查看次数