2016-03-25 11 views
0

Jekyll 3.1.2(および3.1.1)で、post.htmlレイアウトで、私は投稿のソートされたリストを作成したいと思いますそれ以前の/次のリンクのためのサブカテゴリで。私はカテゴリの名前を知っているときに別の場所で働いていますが、カテゴリ名を派生させると、投稿に投稿を追加する際に問題があります。Jekyll :: Drops :: DocumentDropとJekyll :: Drops :: DocumentDropの比較が失敗しました

とポストのグループを考える:私はソートされたリストを作成するpost.htmlレイアウトでこれをしようとしています

categories: 
    - topics 
    - my-vacation 

{% if page.categories.first == 'topics' and page.categories.last != 'topics' 
%}{% assign sorted_list = site.empty_array 
%}{% for topic in site.categories.topics 
%}{%  if topic.categories.last == page.categories.last 
%}{%  assign sorted_list = sorted_list | push: topic 
%}{%  endif 
%}{% endfor 
%}{% assign sorted_list = sorted_list | sort 
%}{% endif 
%} 

(configにempty_array: [])を

しかし、このエラーが表示されます:

Liquid Exception: Liquid error (line 16): comparison of Jekyll::Drops::DocumentDrop with Jekyll::Drops::DocumentDrop failed in _layouts/post.html 
jekyll 3.1.2 | Error: Liquid error (line 16): comparison of Jekyll::Drops::DocumentDrop with Jekyll::Drops::DocumentDrop failed 

16行目はsorted_listにプッシュされます。 push: 'foo'またはpush: pageを使用した場合、エラーは発生しませんが、もちろん、それは私が望むものではありません。 sorted_listを調べると、inspected result must be ASCIIエラーが発生します。

ありがとうございました。私は迷っている。スタックトレースの最初の行はliquid\strainer.rbを指し、invokeメソッドになります。

EDIT、より多くの情報:

それはそのオブジェクトではなく、それへの参照をプッシュしようとしていることだろうか?または予想されるという。..

object not reference?

+0

エラーは 'topic.categories.last == page.categories.last'にあると思いますが、私は再現できません。あなたはgithubリポジトリを持っていましたか? –

+0

ありがとう、デイヴィッド、私はそれをきれいにしてプッシュしましょう – arkadianriver

+0

@DavidJacquelちょうど私の上に私は分岐し、私の壊れた枝を押し込んだcoulda;それにもかかわらず、壊れた部分がコメントされたマスターがここにあります:https://github.com/arkadianriver/arkadianriver.com/blob/master/_layouts/post.html#L11 – arkadianriver

答えて

0

が解決されます。エラーは、ソートに数行下に実際にいました。

assign sorted_list = sorted_list | sort: 'date' 

parkr considered this a bug:修正するには、 リストのこの種にソートするプロパティを追加します。 Jekyll 3.2では、DocumentDropsはデフォルトで日付順にソートされます。

関連する問題