diff --git a/app/models/site.rb b/app/models/site.rb index bb95fdb..eb37808 100644 --- a/app/models/site.rb +++ b/app/models/site.rb @@ -173,9 +173,13 @@ class Site < ApplicationRecord @posts[lang] = PostRelation.new site: self + # Jekyll lee los documentos en orden cronológico pero los invierte + # durante la renderización. Usamos el orden cronológico inverso por + # defecto para mostrar los artículos más nuevos primero. + docs = collections[lang.to_s].try(:docs).try(:sort) { |a, b| b <=> a } # No fallar si no existe colección para este idioma # XXX: queremos fallar silenciosamente? - (collections[lang.to_s].try(:docs) || []).each do |doc| + (docs || []).each do |doc| layout = layouts[doc.data['layout'].to_sym] @posts[lang].build(document: doc, layout: layout, lang: lang) diff --git a/test/integration/editor_test.rb b/test/integration/editor_test.rb index 95f42c9..2b64eb0 100644 --- a/test/integration/editor_test.rb +++ b/test/integration/editor_test.rb @@ -48,7 +48,7 @@ class EditorTest < ActionDispatch::IntegrationTest } } - @post = @site.posts.last + @post = @site.posts.first assert_equal md_content.strip, @post.content.value end @@ -67,7 +67,7 @@ class EditorTest < ActionDispatch::IntegrationTest } } - @post = @site.posts.last + @post = @site.posts.first assert_equal trix_md.strip, @post.content.value end