5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-22 16:26:21 +00:00
panel/app/models/metadata_content.rb
2019-09-02 13:46:30 -03:00

45 lines
1.1 KiB
Ruby

# frozen_string_literal: true
# Se encarga del contenido del artículo y quizás otros campos que
# requieran texto largo.
class MetadataContent < MetadataTemplate
include ActionView::Helpers::SanitizeHelper
def default_value
''
end
def value
markdown = ReverseMarkdown.convert(self[:value]).strip
markdown = nil if markdown.blank?
sanitize(markdown || document.content || default_value,
sanitize_options)
.tr("\r", '') # eliminar retornos de carro
.gsub(/^&gt; /, '> ') # convertir citas de vuelta a citas
.gsub(/ \n /, "\n") # eliminar dobles saltos de línea
.gsub(/^ $/, '') # eliminar saltos de línea solitarios
end
def front_matter?
false
end
private
# Etiquetas y atributos HTML a permitir
#
# No queremos permitir mucho más que cosas de las que nos falten en
# CommonMark.
#
# TODO: Permitir una lista de atributos y etiquetas en el Layout
#
# XXX: Vamos a generar un reproductor de video/audio directamente
# desde un plugin de Jekyll
def sanitize_options
{
tags: %w[span],
attributes: %w[title class lang]
}
end
end