我正在使用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,但进度到此结束.
感谢您的帮助,如果这还不够,我很乐意提供更多细节.
我不知道我改变了什么,但今天我不能再成功地用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使用特定编码,我不知道这是否相关或甚至可以帮助我.愿意瞄准正确的方向或被告知如何解决这种情况.这是一个悲伤的事态!
我有一个产品句柄列表,我想根据这个句柄获取产品.似乎没有办法告诉Liquid去购买单一产品.我可以使用API执行此操作,但如果我使用API,那么我必须使用JavaScript,并且我必须复制已经在代码段中的HTML,并复制逻辑.
我正在尝试的减少版本:
{% assign handle = 'my-product-handle' %}
{% assign product = products.handle %}
{% include 'snippet-product-item' %}
Run Code Online (Sandbox Code Playgroud) 我在我的博客上使用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的麻烦.
关于如何避免这些额外空白线的任何想法?
目前,我包括这样的摘录:
{{ post.excerpt | strip_html }}
Run Code Online (Sandbox Code Playgroud)
但这似乎只给出了第一段.但我想得到一个固定数量的单词.
或者更好:我想定义一个最大字符数并获得这么多单词
有没有办法用Jekyll(1.3.1)做到这一点?
编辑:<!-- more -->不是答案!我认为excerpting应该自动工作,我的帖子应该只包含绝对必要的标记.
我正在尝试使用液体语法在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作品,但它只会大写第一个单词的第一个字母.
谢谢!
我在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'的形式传递.
有谁知道如何将变量传递给标签调用?
我正在尝试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自然不起作用.
我正在尝试在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如果可能的话我宁愿解决它.
我正在使用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(
提前致谢!