Files
2025-09-07 13:06:33 -03:00

70 lines
2.0 KiB
Ruby

# frozen_string_literal: true
# Agregar Sutty en el generador del sitio
module JekyllDropDecorator
def self.included(base)
base.class_eval do
def version
"#{Jekyll::VERSION} (Sutty https://sutty.nl)"
end
end
end
end
Jekyll::Drops::JekyllDrop.include JekyllDropDecorator
# Traspasa información desde el layout de about a la configuración de
# Jekyll
Jekyll::Hooks.register :site, :post_read, priority: 29 do |site|
index = site.pages.find do |page|
page.url == '/'
end
site.config['css'] = site.pages.find(&:sass_file?)
%w[about theme license code_of_conduct privacy_policy].each do |layout|
pluralized = site.data.dig('inflections', 'plurals', layout)
site.config[layout] = site.collections[pluralized]&.docs&.find do |post|
post['layout'] == layout
end
end
about = site.config['about']
unless about
Jekyll.logger.warn '_plugins/about.rb:', 'Falta un documento con layout "about"'
next
end
site.config['tagline'] = about['tagline']
site.config['description'] = about['description']
site.config['activity_pub']['published'] = about['created_at']
site.config['activity_pub']['updated'] = about['last_modified_at']
site.config['logo'] = about.data.dig('logo', 'path')
site.config['cache'] = !site.config['theme']&.data&.dig('testing')
index.data['image'] = site.config['image'] = about['image']
%w[social facebook twitter webmaster_verifications].each do |k|
site.config[k] = {}
end
site.config['social']['links'] = about['social_networks']
site.config['facebook']['app_id'] = about['facebook_app_id']
site.config['facebook']['publisher'] =
about['social_networks']&.find do |sn|
sn.include? 'facebook.com'
end
%w[google bing alexa yandex baidu facebook].each do |verificator|
site.config['webmaster_verifications'][verificator] =
about["webmaster_verification_#{verificator}"]
end
site.config['twitter']['username'] =
about['social_networks']&.find do |sn|
sn.include? 'twitter.com'
end&.split('/')&.last
end