From 9ea199876d49a74659648f3e86a3a665c5f3eaa9 Mon Sep 17 00:00:00 2001 From: f Date: Mon, 7 Jun 2021 13:37:18 -0300 Subject: [PATCH] =?UTF-8?q?cargar=20los=20layouts=20para=20poder=20acceder?= =?UTF-8?q?=20a=20la=20versi=C3=B3n=20preliminar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cuando separamos la lectura de datos de jekyll había faltado leer los layouts para poder aplicarlos a la version preliminar. con este cambio solo se leen cuando se los va a usar. fixes #2006 --- app/models/post.rb | 3 +++ app/models/site.rb | 7 +++++++ config/initializers/core_extensions.rb | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/app/models/post.rb b/app/models/post.rb index 31a269e..d6baee8 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -69,6 +69,9 @@ class Post # TODO: Cambiar el locale en otro lado l = lang.value.to_s site.jekyll.config['locale'] = site.jekyll.config['lang'] = l + # XXX: Es necesario leer los layouts para poder renderizar el + # sitio + site.theme_layouts # Payload básico con traducciones. document.renderer.payload = { diff --git a/app/models/site.rb b/app/models/site.rb index a4349f5..6466384 100644 --- a/app/models/site.rb +++ b/app/models/site.rb @@ -283,6 +283,13 @@ class Site < ApplicationRecord layout_keys.include? layout.to_sym end + # Lee los layouts en HTML desde el sitio + # + # @return [Hash] + def theme_layouts + @jekyll.reader.read_layouts + end + # Trae todos los valores disponibles para un campo # # TODO: Traer recursivamente, si el campo contiene Hash diff --git a/config/initializers/core_extensions.rb b/config/initializers/core_extensions.rb index d43a511..c1e8d65 100644 --- a/config/initializers/core_extensions.rb +++ b/config/initializers/core_extensions.rb @@ -55,6 +55,11 @@ module Jekyll @site.data = DataReader.new(site).read(site.config['data_dir']) end + # Lee los layouts + def read_layouts + @site.layouts = LayoutReader.new(site).read unless @site.layouts.present? + end + # Lee todos los artículos del sitio def read_collections read_directories