2019-08-01 23:13:38 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
String.include CoreExtensions::String::StripTags
|
2019-08-08 18:28:23 +00:00
|
|
|
Jekyll::Document.include CoreExtensions::Jekyll::Document::Path
|
2019-11-28 19:44:44 +00:00
|
|
|
|
2020-10-30 21:57:46 +00:00
|
|
|
# Definir tags de Liquid que provienen de complementos para que siempre
|
|
|
|
# devuelvan contenido vacío.
|
|
|
|
%w[seo feed_meta turbolinks].each do |tag|
|
|
|
|
Liquid::Template.register_tag(tag, Jekyll::Tags::Empty)
|
|
|
|
end
|
|
|
|
|
|
|
|
Liquid::Template.register_tag('base', Jekyll::Tags::Base)
|
|
|
|
|
2020-06-01 20:42:25 +00:00
|
|
|
module ActionDispatch
|
|
|
|
# Redefinir el formateo de URLs de Rails para eliminar parámetros
|
|
|
|
# selectivamente
|
|
|
|
module Journey
|
|
|
|
Formatter.class_eval do
|
|
|
|
alias_method :generate_original, :generate
|
|
|
|
|
|
|
|
# Eliminar el locale a menos que estemos generando la URL para un
|
|
|
|
# Post. Esto es para que las URLs no lleven un ?locale=XX
|
|
|
|
# innecesario y además porque generan conflictos en la subida de
|
|
|
|
# archivos de ActionText.
|
2020-12-24 18:02:03 +00:00
|
|
|
def generate(name, options, path_parameters)
|
2020-06-01 20:42:25 +00:00
|
|
|
options.delete(:locale) unless options[:controller] == 'posts'
|
|
|
|
|
2020-12-24 18:02:03 +00:00
|
|
|
generate_original(name, options, path_parameters)
|
2020-06-01 20:42:25 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2019-11-28 19:44:44 +00:00
|
|
|
# Lazy Loading de Jekyll, deshabilitando la instanciación de elementos
|
|
|
|
# que no necesitamos
|
|
|
|
#
|
|
|
|
# TODO: Aplicar monkey patches en otro lado...
|
|
|
|
module Jekyll
|
|
|
|
Reader.class_eval do
|
|
|
|
def retrieve_posts(_); end
|
|
|
|
|
|
|
|
def retrieve_dirs(_, _, _); end
|
|
|
|
|
|
|
|
def retrieve_pages(_, _); end
|
|
|
|
|
|
|
|
def retrieve_static_files(_, _); end
|
|
|
|
end
|
|
|
|
|
|
|
|
ThemeAssetsReader.class_eval do
|
|
|
|
def read; end
|
|
|
|
end
|
2020-01-02 23:20:41 +00:00
|
|
|
|
|
|
|
# Prevenir la lectura del documento
|
|
|
|
Document.class_eval do
|
|
|
|
alias_method :read!, :read
|
|
|
|
def read; end
|
|
|
|
end
|
2020-12-29 17:40:27 +00:00
|
|
|
|
|
|
|
# https://github.com/jekyll/jekyll/pull/8425
|
|
|
|
Utils.class_eval do
|
|
|
|
def parse_date(input, msg = 'Input could not be parsed.')
|
|
|
|
@parse_date_cache ||= {}
|
|
|
|
@parse_date_cache[input] ||= Time.parse(input).localtime
|
|
|
|
rescue ArgumentError
|
|
|
|
raise Errors::InvalidDateError, "Invalid date '#{input}': #{msg}"
|
|
|
|
end
|
|
|
|
end
|
2019-11-28 19:44:44 +00:00
|
|
|
end
|
2021-05-06 22:07:11 +00:00
|
|
|
|
|
|
|
# No aplicar el orden por ranking para poder obtener los artículos en el
|
|
|
|
# orden que tendrían en el sitio final.
|
|
|
|
module PgSearch
|
|
|
|
ScopeOptions.class_eval do
|
|
|
|
def apply(scope)
|
|
|
|
scope = include_table_aliasing_for_rank(scope)
|
|
|
|
rank_table_alias = scope.pg_search_rank_table_alias(include_counter: true)
|
|
|
|
|
|
|
|
scope.joins(rank_join(rank_table_alias))
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|