5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-16 19:16:21 +00:00
panel/config/initializers/core_extensions.rb

69 lines
1.9 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
String.include CoreExtensions::String::StripTags
2019-08-08 18:28:23 +00:00
Jekyll::Document.include CoreExtensions::Jekyll::Document::Path
# 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)
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)
options.delete(:locale) unless options[:controller] == 'posts'
2020-12-24 18:02:03 +00:00
generate_original(name, options, path_parameters)
end
end
end
end
# 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
# 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
end